Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# - прекрасный детектор современного, умного и успешного человека. Изучение .NET безошибочно указывает на успешного в будущем человека. ITT элита продолжает обсуждает будущее этого поистине прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Что почитать: - C# Yellow Book (для ньюфагов, книга полностью бесплатная) - Joseph Albahari и Ben Albahari - C# 5.0 in a Nutshell (на русском: C# 5.0, Справочник. Полное описание языка) - Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen) - Jon Skeet - C# in Depth (на русском: C# для профессионалов. Тонкости программирования) - Jeffrey Richter - CLR via C# (на русском: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#) - Writing High Performance .NET Code (Ben Watson) - Pro WPF 4.5 in C# (Matthew MacDonald) - Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)
>>546519 Контролы там хранят свое состояние, gridview например там все свое золото хранит, чтобы после постбэка взять данные оттуда, а не датасорс дергать. Если trace включишь на странице тебе внизу выведут йоба таблицу, в ней можно будет посмотреть информацию и про view state тоже.
Если у меня есть некий класс А, я создаю его экземпляр, у него поле - типа класса Б, в классе Б - поле типа класса В, ... , то есть ли альтернативы вызова метода Х из поля типа класса Д, кроме как А.Б.В.Г.Д.Х() ? Если все эти поля, по логике, не статические. Не нравится внешнее нагромождение кода. Можно делать некоторые из полей статическими, т.к. например в программе экземпляров классов А и Б только по одному, но логически это же неправильно. Какие варианты?
Статические методы не имеют доступ к нестатическим полям экземпляров.
Если тебе нужно работать со стейтом вложенных экземпляров, то либо пишешь на верхнем уровне обертки (A.<WhateverYouNeed()> вместо A.B.C.D.X() ), либо пересматриваешь свою структуру данных полностью.
Сферический пример: допустим, есть некий начальный экран. В нём - поле для ввода текста и две вкладки. В каждой из вкладок - еще по две. И в зависимости от введенного текста в первом экране нужно на одной из этих вкладок что-то поменять. Или нужно любое взаимодействие между классами делать ивентами, даже не смотря на возможность сделать вызовом метода напрямую?
>>546854 Ах, UI. Все равно расплывчато. Что поменять? Где? Вкладки это что? Табы? TreeList?
Ты боишься что у тебя идею приложения спиздят по полному описанию?
Обычно модель данных и поведение интерфейса разносят по разным слоям.
У тебя наверное будет модель, содержащая введенный текст и какие-то еще поля, вычисленные по этому тексту. Экземпляр модели будет полем в контроллере (либо в viewmodel в случае WPF), а поля модели будут "привязаны" к элементам интерфейса либо врукопашную, либо через автоматические средства того фреймворка которым ты пользуешься (Binding в WPF).
Врукопашную - это когда, например у тебя в контроллере обработчик события, который при изменении текста в поле ввода посылает новый текст в модель, дергает обновления и прописывает их в нужные места. Байндинги проще, но суть там та же, просто "оно само"
>>546882 Это моб приложение под андроид (на шарпе), поэтому мне сложно какие-то параллели точные провести, чтоб другие шарписты поняли. Ну давай так: вводиться поисковый запрос, возвращается список элементов, которые нужно показать на карте. Это происходит в главном элементе UI, - начальный экран >546854 в котором есть вложенные остальные "вкладки". Т.е. в самом этом классе есть только поля Вкладка 1 и Вкладка 2, а вложенные в них вкладки генерируются внутри этих классов. В элементе "карта" (одна из "вкладок во вкладках" вышеописанного примера) есть метод, который принимает список элементов ставит на эту карту метки в нужных местах. Я сейчас вызываю его в виде "Вкладки.Вкладка1.Вкладка1.1.Карта.Показать(список элементов)". И тут имеем этот >>546803 вопрос. Объяснил, как смог.
>>546912 У тебя особо нет вариантов тут. Ты либо гуглишь как биндить в твоем гуе (по типу wpf), либо оставляешь как есть. Проблема тут у тебя в автогенерированном гуе, который не дает прямых ссылок на контролы формы. Ты с тем же успехом можешь сделать что-то типа: начальный экран { Карта мояКарта; инициализация { мояКарта = Вкладки.Вкладка1.Вкладка1.1.Карта; } ОбрПоисковогоЗапроса(списокЭлементов) { мояКарта.Показать(списокЭлементов); } }
>>546950 Ок, я так и делал, просто интересно, когда ивенты в обычном коде можно и нужно юзать (кроме обычных нажатий на кнопки/ецт взаемодействий с интерфейсом).
>>546951 Да, всё генерируется на лету. Но "шаблоны" контента, грубо говоря, описать заранее можно.
>>546952 Xamarin.Android, там программно всё биндится.
>>546968 >когда ивенты в обычном коде можно и нужно юзать Ну, это реализация pub/sub шаблона. Юзается он в ситуациях, когда имеется отправитель и нужно переслать сообщение нескольким получателям. В коде крудошлепок не используется, ибо ситуация требует наличия процесса ожидания: ожидание в цикле событий, ожидание на сокетах, ожидание апдейта в игровом цикле, еще чего-нибудь. В крудошлепках все резко, стремительно: взял от пользователя, прогнал через бизнес логику, зафиксировал в хранилище.
>>547111 Ну, вообще если быть апологетом ООП, то проекты не связанные близким наследованием, либо отношением аггрегации (инкапсуляцией ссылки, передачей по параметру) должны между собой сообщаться только событиями.
>>546912 Зачем ты вообще им что-то передаешь? Они не могу сами взять нужные данные?
Кстати в MVVMLight (есть под Xamarin), там есть класс Messenger со статическим экземпляром Default.
Произвольный класс может подписаться/отписаться к нему. А другой класс может бросать через него бродкаст-собщения нужным классам. При этом прямых ссылок у классов друг на друга нет.
>>547225 >Они не могу сами взять нужные данные? Как? У меня идёт поиск через searchview, отправляется url запрос, возвращается json со списком элементов, которые мне нужно отобразить. Я вызываю Фрагмент1-3.Показать(джсон) , и на фрагментах появляется визуальный результат поиска.
>Произвольный класс может подписаться/отписаться к нему. >А другой класс может бросать через него бродкаст-собщения нужным классам. >При этом прямых ссылок у классов друг на друга нет. Ну и насколько это "лучше" обычных вызовов?
>>547320 > Ну и насколько это "лучше" У тебя нет прослойки из 4-х классов, ты даже можешь не знать где и сколько обработчиков и есть ли они вообще.
Вообще по хороше ты должен: 1) отправить запрос на сервер 2) получить данные // вот теперь есть отличия // 3) сохранить их локально (sqlite, файл, настройки или в ОЗУ) 4) кинуть бродкаст "данные обновились" 5) нужные подписчики этого бродкаста загружают, то что им нужно, уже локально (сохраненное в (3))
>>547353 Да, я понимаю эти плюсы, как бы оно так логичней выглядеть будет, но в конкретно этом случае, когда у меня идёт запрос и две его обработки, по сути, разницы нету большой, так? Если я знаю, что именно только эти 2 метода должны вызваться, а других не может быть. И тут тонкости, если подумать: если у меня это событие в МейнАктивити, то как мне привязывать к нему, экземпляра-то нет. Делать событие static странно. И если в Активити2 я захочу что-то поменять в фрагменте из Активити1, сработает ли вообще, ведь на момент события фрагмента, который должен его ловить, не существует.
>>547381 > то как мне привязывать к нему Ты должен пользоваться специальным классом Messenger, у него всегда есть экземпляр Messenger.Default
1) в слушателе делаешь Messenger.Default.Register<MyMessage>(this, message => // do something //);
2) в MainActiivty дергаешь Messenger.Default.Send(new MyMessage());
> сработает ли вообще Перед Register() ты берешь те данные которые уже есть в хранилище. Так ты получишь актуальные данные даже если бродкаст произошел до регистрации.
>>547388 >Ты должен пользоваться специальным классом Messenger Ок, как я понял, это чисто шарповская штука, протестирую. Этот Messenger как замена ивентов? В чём его соль? И как это в джаве делалось бы?
Sup, pr. Какой вариант "лучше"(не знаю, как это дать определение этому, так что буду благлдарен за мнения):
public x; или private _x; public {get {return _x}; set {_x=value}; } или public { get; set; }
Т.е. что лучше использовать в общем случае, поля или свойства? И нужно ли приватные поля для публичных свойств вручную создавать, или по-сути разницы между 2ым и 3им вариантом нету => просто писать третий, так короче?
>>547523 Публичные поля, сами по себе, не нарушают инкапсуляцию. нарушает инкапсуляцию хранение внутреннего стейта сущности в публичных полях. Единственная разница между публичным полем и авто-свойством в сигнатуре. Если тебе приспичит прогнать какую-то логику во время записи/чтения значения, то при замене поле -> свойство, тебе придется пересобрать не только свою сборку, но и все сборки, что ее используют.
Господа, ньюфаг вкатился и прошу помощи. В общем, проблема такова: пишу свой гуй для игры, раньше были лишь заголовки экранов да кнопки. Кнопки я выводил следующим образом : создавал коллекцию MenuButtons, добавлял в неё объекты-кнопки и затем через foreach, соответственно, выводил на экран. Сейчас же мне потребовалось выводить абзацы текстовой информации на экран, а в будущем, вероятно, и картинки. Я недолго думая, создал абстрактный класс элемента меню, и наследовал от него уже непосредственно текстовый блок и кнопку (пикрелейтед). Недолго думая, я набросал похожий на предыдущий код, надеясь, что раз у нас Button и TextBlock являются menuItem, то, соответственно, с ними можно работать в одной коллекции: >List<MenuItem> menuItems = new List<MenuItem>(); >foreach (Button b in menuItems) > { > b.Draw(this); > } > и закономерно был послан нахуй - InvalidCastException, как только доходит до текстового блока. В-принципе, все логично - TextBlock у нас не является Button, и поэтому исключение при данном коде.
Вопрос - можно ли как-то работать с общей коллекцией для двух классов-потомков одного родительского класса? или проще говоря - как в одной коллекции мне вывести и текстовые блоки, и кнопки?
>>547841 Есть виртуальный метод, но его использует лишь TextBlock. В Button переопределенный метод Draw(), так как необходимо помимо текста рисовать еще и саму кнопку.
>>547855 Тогда нет доступа к методам Button и используется метод Draw() от MenuItem, а не от Button.
Похоже, придется городить две коллекции - одну для TextBlock, другую для Button и сперва, соответственно, выводить текст, а затем уже кнопки. Это сильно быдлокодерский подход?
вообще нихуя не понял, что делать если кому-то нечего делать, то помогите пжлст
Задача: переписать метод
[WebMethod] public string WriteDeviceBlock(int stationNumber, string device, short data) { var result = ComWrapper.WriteDeviceBlock(stationNumber, device, data);
if (result == null) { throw new ArgumentNullException("result"); }
return result.ToString(); }
Так чтобы на вход можно было передать в качестве параметров device, data массивы или что-то еще, что позволит передать в данный метод пары вида
«d800» - 43 «d905» - 78 «d102» - 98 и тп
за 1 обращение, сейчас каждый раз приходится вызывать данный метод, что увеличивает время работы алгоритма.
>>547982 Не понял, что ты хочешь, но >var result, где в правой части выражения непонятно, что возвращается без интеллисенса >кидает ArgumentNullException на результат работы, а не входных параметров.
>>548011 браток, огни занимаются совсем другими, у них вообще нет C# программиста, был один, он сделал это улетел, их это не устраивает, они попросили меня исправить
Начал читать материал по EF. Вроде в начале тип генерируем схему с бд, ок. А дальше пошли Энтити, контексты нихуя не ясно, может есть где для даунов описано. Вот когда в JPA разбирался там было все просто и понятно. С таблицы генерируются объекты к ним пишешь нужные аннотации которые устанавливают взаимосвязь и все, дальше ебашишь руководствуясь картинкой пикрелейтед.
>>546724 (OP) Бросил учить ебучую джаву, перекачусь к вам, благо нашел книжку свою старую по троелсону. которую купил 4 года назад, но так и не читал. тут хотя бы атмосфера приятнее, окружение дружелюбнее.
>>548165 каждый язык имеет свою сферу применения, если ты собрался учить C#, то и понимай, что работать тебе придётся там, где он используется, а не кодить под мак, а ещё иногда в работе нельзя ограничиться конкретным языком, и может где-то будет плюсом, что ты умеешь в ява + шарп
Есть тут аноны из Харькова? Куда можно устроится на стажировку по сисярпу, что бы по окончанию или на работу взяли, или хотя бы опыт работы был? Съебался вот из ШАГа из-за возросшей цены и теперь не знаю чего делать.
>>548165 А я вот подумываю на Java укатиться и это печально тк C# мне больше нравиться. Сейчас разрабатываю приложения в Xamarin, но думаю перейти на RoboVM. • На iOS приложения будут работать через VM Java (сейчас VM Mono на Xamarin) • На WP10 теперь можно запускать нативные Android приложения • (Плюс) На андрод будет нативный код • (Плюс) Дешевле подписка: $19 (Android бесплатно + iOS), против $50 • (Минус) Язык (нет async/await, linq) • (Минус) Нет кросплатформенной sqlite Да и очень меня бесит в XAML что нельзя просто поставить картинку на фон кнопки, нет блин надо стиль элемента переопределять.
>>548179 Не знаю как в Киеве, но у нас было три ахуенных препода, лучше чем в моем говно хпи в разы, ну и два таких себе, которые основы первые два месяца преподавали.
>>548181 >>548185 Может сейчас норм и в Киеве, я ходил с 2008 по 2010, потому что мамка очень хотела чтобы я на "кружки" ходил как все сверстники, лол. В конце выдали говнобумажку, которую стыдно нормальным людям показывать
>>548197 Да ты небось в начальную академию пошел лолка. Конечно там студент какой нибудь преподавать будет, не станет же тебя нормальный преподаватель учить пользоваться офисом и фотошопом.
Здравствуйте. Я — .net-разработчик, в основном занимаюсь 3d-графикой, но не Unity. Пишу на C# и C++. Работаю удаленно из дома.
Постоянно мониторю вакансии. Почти все они связаны с ASP, с которым я не сталкиваюсь на работе. Еще достаточно много вакансий на Unity. И совсем чуток есть по WPF.
Не сочтите за идиота. Эта тенденция мне давно известна (.net = ASP). Но только я не веб-разработчик ни разу. И мне припекает, что, если уволюсь или уйду (денег мало платят), буду никому не нужен с моими навыками. А занимался я всем подряд (портирование продукта на различные платформы, плагины к системам 3d-моделирования, вычислительная геометрия, Kinect, Leap Motion), кроме ASP, Unity и WPF.
К чему я завёл всё это нытье? Хочу спросить совета у ребят, которые сейчас в мейнстриме, у того, кто греет уши в офисных курилках или просто в теме. К примеру, завтра я увольняюсь и мне нужна новая работа. В идеале удаленная, с буржуйским заказчиком (уже делал проект для европейцев, инглиш позволяет). Что я должен задрачивать сегодня, учитывая, что в WEB я полный ноль? Вкатываться в ASP? Или прокачивать WPF? Или искать что-то специфичное, где не нужно знание ни первого, ни второго?
Еще есть влажная фантазия попасть в индустрию робототехники. Писать софт для роботов. Пилить машинное зрение. Этим я занимаюсь как хобби. Так что в этой сфере готов за еду работать. Правда в рашке вакансий по этой теме почти нет.
>>548248 А по Xamarin вакансии не находил? Я тоже .net разработчик, который не любит всякую интерпрайз требуху да еще и как водится устаревшую и с удовольствием перекатился бы на фриланс.
Народ, я тут дошел до openXML и MS office. Возник жуткий дефицит учебников/литературы/примеров на русском языке. Даже справочные статьи в VS на ангельском. Помогите чем сможете. Спасибо.
>>548294 А какой ангельский нужен на работе? Я все отлично понимаю и читаю спокойно. Но говорю не очень, в первую очередь из-за того что у меня голос неуверенный, лол.
>>548291 Документация только на английском, но она говно ебаное. OpenXML вообще поебень лютая (хотя ничего другого у нас нет, жаль). Алсо, если можешь читать на английском, то какие проблемы?
Составил свое говнорезюме и понял что нужно запихнуть в него примеры работ, ссылкой на гитхаб, но все мои лабы-хуябы с универа накрылись когда флешка упала в чай. Чего такого можно написать, что бы и дома работало, и в работодателю показывать было бы не стыдно?
>>548341 Палю свою схему. Я так то уже давно пишу на шарпе, но тут решил все же взяться за ум и поработать на резюме, а не для своих убийц гта. Начать решил с того, что на гитхаб выполню все 100 заданий из того тасклиста, программерс чалендж. Делаю по 1 штучке вечером после работы.
>>548299 >А какой ангельский нужен на работе? Русская компания — не писать в коде «public void PokazatSpisokPokupok(IList<Pokupka> spisokPokupok)». Зарубежная компания — желательно B1 письменный и разговорный.
>>548383 Я думаю, что надо написать небольшую информационную систему, которая бы решала комплекс задач из выбранной тобой предметной области. Например какой-нить АСУП для туристической фирмы с оформлением путевок: перелеты, бронь отелей. Т.е. должно присутствовать проектирование базы данных, архитектуры приложения и графического интерфейса. Так ты сможешь продемонстрировать свои навыки проектирования и знания указанных в резюме технологий. Такого рода штуки полезны. А что ты покажешь, написав 100 программ по типу «Напишите программу, которая генерирует кроссворд»? Ничего, кроме того, что гуглить умеешь. Не просто же так тот список называется «programming challenges». Это чисто спортивное программирование.
>>548407 После них я свои старые проекты закину, там далеко не спортивное программированием. Просто для старта. Да и не сложно. Не хочу сразу все вываливать, типа ничего не было, не было и тут хуяк - необъятный говнокод нарисовался. Ну и далее просто уже буду свою парашу сразу туда писать. Какой-то такой план.правда наверняка все бесполезно, ибо в моих ебенях работы нет, ни интерпрайза, ни веба на шарпе, ничего
Нужен совет. Делаю программу , которая работает со звуком. В ней порядка 12 разных звуковых эффектов(пока что) и у каждого из них где то как минимум от 4 параметров ... Хочу чтобы пользователь мог выбрать для каждого эффекта пресет (либо из готовых пресетов , либо из созданных пользователем пресетов)..Также мог удалять пресеты и добавлять свои...
Мне нужно более правильное с архитектурной точки зрения решение .
Есть одна форма, через MVP паттерн нужно вернуть значения в прогрессбар на форме. Как? Блять как это сделать через презентера? Анон, помоги, ты всегда меня выручаешь.
>>548555 Модель будет фасадным сервисом, который так же инжектится в презентер из конструктора вьюшки.
public class Presenter{ IView view; IService service; public Presenter(IView view, IService service) { this.view = view; this.service = service; }
public void OnClick() { view.SetProgressBar(service.GetValue()); } }
public interface IService { int GetValue(); } public class Service: IService { public int GetValue() { return 20; } }
public interface IView { void SetProgressBar(int val); }
public class Form1: Form, IView { private Presenter presenter; public Form1() { presenter = new Presenter(this, new Service()); button.Click += (s, e) => presenter.OnClick(); }
Button button; ProgressBar progress;
public void SetProgressBar(int val) { progress.SetValue(val); } }
может быть и легче, но я еще лошня и всякие IView мне не знакомы пока что. Просто не понял как руководствуясь видео, вытянуть из model показания для прогрессбара.
>>548593 Начнем с того, что это в целом не обязательно и особого эффекта не даст, если конечно ты не являешься автором какого-то популярного продукта. А так, да, все: база — логика — интерфейс, 3 слоя.
>>548615 На видео шляпа 1 в 1. Только тут я использовал интерфейсы, чтобы можно было во время тестов пустышки подставить. В том примере это были бы IDemoView и IDemoModel с соответствующими интерфейсными членами. >вытянуть из model показания для прогрессбара Я же показывал: в евент хендлере клика по кнопке на вьюшке дергаешь метод презентера, презентер дергает модель, модель возвращает значение, презентер передает значение в метод вьюшки, вьюшка выставляет значение прогрессбару. Изи-пизи.
>>548615 Если ты не знаешь, что такое интерфейсы, то тебе лучше прочитать книжку по шарпу. Шилтда какого-нибудь или Троелосона или Албахари или ту шляпу для нуфагов, что в шапке указана.
В ASP.NET Threadы автоматически работают? Раз у нас множество пользователей обращается к одному и тому же статическому методу или методу экземпляра одновременно то это код параллельно выполняется?
>>548667 >В ASP.NET Threadы автоматически работают? По треду на реквест.
>это код параллельно выполняется? >статическому методу Статические классы не thread-safe, если хранят какое-то изменяемое состояние. >методу экземпляра Thread-safe если объект — не синглтон, иначе правила такие же, как и для статических классов.
>>548678 > Статические классы не thread-safe, если хранят какое-то изменяемое состояние. Это значит что каждом статическому методу нужно прописывать синхронизацию?
>>548648 гонево. если не в потоке, все ок, но форма виснет, только я начинаю пихать воркер в поток, через анонимный делегат, он возвращает всего одно значение. Т.е. прогрессбар не доходит до конца, НО заметил странную особенность, если сократить тредслип в воркере до 10мс, значение прогрессбара чаще доходит до конца, если ставить 1мс, то всегда до конца. В чем дело, анон?
>>548424 Ну я бы например сделал вот такую хрень с сохранением через сериализацию в xml. Но ведь с точки зрения энтерпрайзных любителей абстрактных фабрик синглтонов наверняка такой подход считается быдлокодом.
>>548931 Я это понял, не пойму сука как логику отделить от формы, руки так и тянулись рассказать модели про форму. первый день в паттернах дрочусь, спасибо за ссылку, буду ковырять.
>>548888 Да не, норм. Есть пара моментов, конечно, например что из себя представляет эффект? Какие у него уникальные атрибуты (имя там, еще что-нить)? Не получится ли так, что это не эффект с пресетами, а пресеты — уникальные эффекты. Что бы как-то оценить выбранную архитектуру, надо знать предметную область.
Доброго времени суток, двач. Нужна ваша помощь! Всяческие форумы в инете не дают дельных ответов, а лишь предлагают пройти по ссылкам. Итак, суть проблемы:
Пишу программу для решения произвольных уравнений. То есть, я пишу в строку уравнение типа "5(x+10) + 16x", при этом, левая часть у меня по умолчанию принимается как "у=". Мне необходимо разбить строку по переменным и сделать расчеты. При этом, не потеряв коэффициентов перед переменными и соблюдая порядок функций (уножение и скобки первы, и тд).
Если у кого-то есть мысли, или наработки, то буду очень признателен.
Получил оффер на .net-тестера (перекатываюсь из плюсов, где когда-то давно тоже работал тестером). Что вообще оно из себя представляет? Это зашквар из которого не выбраться в нормального разраба или это интересная работа? Я представляю что такое тестирование на ++, это довольно интересно, но 2/3 проблем которые тестируются в плюсах в шарпе просто нет.
>>548407 Как будто тырпрайз это не написание того же кода, что ты писал два года назад на другой работе и пиздинг решений со стековерфлоу кода, который ты еще никогда не писал. Писать ради того, чтобы писать, параша ебаная и хуй так что закончишь. Лучше писать то, что интересно, благо тестирование и SOLID везде применяются, а не только в тырпрайзе.
>>549015 Да, или наоборот. Такая запись удобна для вычислений машинкой. В интернетике можно нагуглить алгоритм перевода выражения из одной формы в другую, но там скорее всего числа разделяются скобками и знаками операций, тебе надо будет немношк допилить, чтобы твои переменные от чисел отделялись.
>>549021 > тырпрайз это не написание того же кода > параша ебаная и хуй так что закончишь. Придется закончить, потому что ето мой диплом, лол. Что-то тоже типа ИС на асп.нет.
Пописываю одну хуйню, выскочила ошибка error CS0136: A local variable named 'l' cannot be declared in this scope because it would give a different meaning to 'l', which is already used in a 'parent or current' scope to denote something else Ну да у меня имя параметра в лямбде совпадает с локальной переменной. Но разве не для этого и нужны скоупы? Лолблядь. Немного погуглил по теме нашел такой кусок
for (int i=0; i < 10; i++) { } int i=10; // Error here only in C#
Ну это уже вообще омск, какой-то. Похоже там какой-то полный пиздец со скоупами. Но спермоблядки дружно в один голос говорят что все правильно зделали, так и надо. Что скажете?
>>549049 { //scope 1 int i = 20; { //scope 2 Func<int> x = (i) => i; } } Так нельзя потому, что i находится в scope 1 и непонятно откуда брать i в скопе лямбды.
{ //scope 1 { //scope 2 Func<int> x = (i) => i; } int i = 20; } Так нельзя просто потому, что i находится в scope 1.
>for (int i=0; i < 10; i++) // Error here only in C# >{ >} >int i=10; // not here Тут опять же i в скопе цикла скрывает i во внешнем скопе.
Хуй знает. Дурацкое какое-то решение. Лучше бы учитывали не просто скоп, но и место в котором переменная объявлена. А то какой-то жабоскрипт во все поля.
Стоит ли слать резюме, если я, например, не знаю половину технологий, которые описаны в требованиях? Допустим на .NET стоит C#/LINQ/WCF/T-SQL/WPF/EF, а я хранимки и сервисы на WCF последний раз в ВУЗе для курсовых писал, а на WPF только сейчас проект на работе дали. С одной стороны я ничего не теряю, с другой обосраться на собеседовании - только время потерять.
>>549049 > int i=10; // Error here only in C# Это проблема не шарпа а майкрософта. Такое же поведение (счетчик for цикла виден в внешнем скоупе, после цикла) и у ихнего c++ компилятора. Им нравится наверное, подобное поведение было (вынуждено) в С, из-за того что там счетчик для for цикла нельзя было объявить в скоупе самого цикла. Это удобно тем что без лишней ебли можно посмотреть сколько именно итераций сделал цикл, может потому и оставили. Но поведение конечно неожиданое.
И вообще забей нахуй на Thread'ы. Делай через Task'и. Thread'ы устарели и есть здесь только для обратной совместимости и совсем уж отмороженных уебков.
>>549277 Джава же сохраняет как-то обратную совместимость. Даже лямбды сделали так что они со всеми старыми библиотеками работают. А в дотнете постоянный цирк с новыми версиями.
>>549283 Ага, а ещё в джаве сделали генерики так, что они со всеми старыми библиотеками работают. Только вот они тип затирают, но зато обратная совместимость.
>>549283 Вот нихуя. В стандартной библиотеке шарпа полно классов, оставшихся там еще со времен .NET 2, как раз таки для обратной совместимости. Так что не надо тут про цирк.
Посоны, как мне можно ЗАМЕДЛИТЬ работу решарпера? То есть увеличить время от написания последнего символа и появлением списка возможных вариантов дальнейших действий. А то он заебал своими окошками светить сразу же как подставляется удобный случай закрывая при этом предыдущие строки кода и просто раздражая.
>>546724 (OP) >>546724 (OP) Анонасы, отбираю все простые числа. Ошабка ниже, че не так то? надеюсь на помощь. static void Main() { int[] prost = new int[1000]; //массив простых чисел int ch = 4; //натуральные числа prost[0] = 3; //первое простое
for (int k = 0; k < ch; k++) { if (ch % 2 == 0) //проверка на четность { ch = ch + 1;
} else { for (int i = 0; prost <= ch; i++) //проверка дилением на простые { if (ch % prost == 0) //ОШИБКА ДЕЛЕНИЕ НА НОЛЬ {
ch = ch + 1; } else { i = i + 1; ch = prost; ch = ch + 1; } Console.WriteLine(prost); } k = k - 1; }
народ, есть проблема в шарповской студии, в общем есть 2 таблицы в 2х разных БД нужно сделать join или присвоение значения в первую таблицу, но хз как зы: было бы на одном коннекшне, я бы сделал нормально, там конструктор сам работает, но тут 2 коннекшна и хз как делать
Нужно создать объект DataRelation и передать в него нужные родительские (левая часть джойна) и дочерние строки (правая часть джойна). Этот объект потому позволяет из элементов левой таблицы получать элементы правой как дочерние.
>>549763 я в общем то поэтому и пишу, у меня релейшны настраиваются нормально, если таблицы в одной БД, а когда прописываю релейшн в таблицу с другой БД, конструктор их просто отказывается видеть
Котаны, подскажите, пожалуйста, есть какая-нибудь фича в .net, реализующая список, последовательно выполняющися тасков?
Есть нативная либа, с которой надо работать синхронно. И есть мой класс, который должен работать асинхронно. Методов немного — штук 5. Мой класс должен создавать таски и складывать их в список, чтобы выполнить последовательно (иначе нативная либа поломается).
Я нагуглил лишь вариант с обычным List<Task>. Может я чего-то не знаю и всё это уже есть в TaskFactory или TaskSchedule?
Добрый вечер Анон. Хочу авторизоваться на сайте, отправляю post (взял с msdn https://msdn.microsoft.com/ru-ru/library/debx8sh9(v=vs.110).aspx). Сайт возвращает 302 и куку. HttpWebRequest по редиректу переходит, но заголовок Cookie не вставляет. Он вообще умеет ходить по редиректам с куками, или нужно заниматься велосипедостроительством?
>>549753 >>549768 А вот что-то похожее с Ентити можно зачудить? У меня тоже одна таблица в другой базе, но нужно к ней релейшены провести. В своей базе могу делать, что хочу, вьюху там и т.д.
>>550008 хз я 3 дня бьюсь и немогу нормально сделать (через редактор), а тебе могу посоветовать только делать виртуальную таблицу в своей таблице для данных с той дб и из нее загружать, т.к. нормально виде я несмог добиться, но я неочень хороший прогер зы: в итоге психанул и слил таблицы из другой бд в основную, но может нормальное решение кто подскажет
Надо за пару дней изучить asp.net mvc и asp.net web api, а потом пройти по ним тестирование на собеседование. Просто с asp.net работать умею на уровне лабораторок и мелких задач по типу "напишите плез онлайн калькулятор". Основной принцип mvc я вроде как понял из роликов на ютубе. Что посоветуешь, анон?
Поставил Community 2015 (идет в комплекте с Unity) на комп с установленной пиратской Ultimate 2013. Community 2015 не запускается, Unity намертво виснет при открытии файла. Удалил Community 2015, в настройках Unity поставил использовать Mono Develop.
>>549007 Можно выполнять код как скрипт. http://csscript.net/ Алсо, есть готовые парсеры математических выражений. http://ncalc.codeplex.com/ >>550163 В новом ASP.Net хуйня какая-то, я ее не осилил, продолжаю пользовать web forms. Для десктопа пишу на WPF.
>>548917 А почему бы не сделать через BackgroundWorker? Ненамного сложнее чем Thread. >>549195 Я вот так и не понял как эти таски (и async/await) использовать, что-то слишком уж сложно. Всю жизнь юзал ProcessMessages.
Я очень хотел посмотреть, как в System.Math считается экспонента у меня она в 4 раза медленнее, охуеть просто, почему Reflector ниче не показывает? Это как-то связано с атрибутом SecuritySafeCritical? Как мне всё-таки декомпилировать mscorlib.dll?
>>550396 >ncalc Там кокой-то antrl в зависимостях болтается. Что за зверь яхз. >>549007 Просто запиши свое выражение в ваидный шарпо-код, динамически загрузи/выполни его с помощью рефлексии. Если не делать новую формулу 60 раз в сек, то с производительностью будет все ок.
>>550507 >Это как-то связано с атрибутом SecuritySafeCritical Нет. Это связано с [MethodImpl(MethodImplOptions.InternalCall)]. >The call is internal, that is, it calls a method that is implemented within the common language runtime.
>>550507 Это связано с атрибутом MethodImplAttribute, InternalCall - внутрение обращение к крестобиблиотеке внутрях ЦЛР, которая была написана в бородатых годах нонейм байтослесарем. Все уже забыли как она работает и просто пользуются.
>>549702 А вторая строка где одни "=" операторы, его не нужно изменять? Согласно этой таблице: http://www.swansontec.com/sopc.html = оператор заставляет программу калькулировать с права на лево (right-left), там не нужны скобки?
Я тут примерно месяц-полтора назад решил вкатиться в программирование, выбрал шарп, вроде бы достаточно быстро схватываю, хотя некоторые вещи даются сложно, но то уже такое. Недавно нашел расширение для студии под названием Alive (пикрелейтед), очень крутая штука, помогает с изучением всяких алгоритмов и просто для быстрой удобной визуализации данных. Она платная, но я немного почитал как устроен этот ваш MSIL и залез в dll самого расширения, поправил возврат значения из функции и теперь она считает себя зарегистрированной (это кстати тоже было очень интересно), так что приложу тут, может кому тоже пригодится. http://rghost.net/private/7bj8QZtpc/c3b82978e71ca7dd1cf6bdc4dfd3d503 Расширение можно поставить прямо из самой студии, и потом просто заменить файл в папке AppData\Local\Microsoft\VisualStudio\14.0\Extensions\palmegco.drp
Никто, кстати, не знает подобных расширений, которые реально помогают в обучении, пусть даже и ориентированые на разработку?
Из плюсов в шарпАлёна29/09/15 Втр 11:51:16#190№550657
Господа, хотел вот что спросить : есть кто перекатывался из C++ в C#? cам сейчас потихоньку изучаю С++. Выбирал не помню по каким критериям, но в итоге решил, что язык просто инструмент. Что шарп, что плюсы - оба языки общечего назначения. Поэтому просто начал ++. Иногда возникают сомнения, когда смотрю на вакансии или ещё мелочи всякие.,Но не хочу сейчас забивать. подумал, что с плюсами немного разберусь , а дальше видно будет. Вот и думаю : каковы перспективы такого переката из C++ в C#. Кто-нить здесь так делал? что посоветуете? повторюсь, я к языку отношусь как к инструменту., т.е для меня в принципе разницы нет. учитывая что оба языка общего назначения.
>>550644 Бро, код у тебя отвратительный (если это, конечно, не расширение твоё всё уродует). Нужны отступы между блоками кода и хоть какие-нибудь комментарии.
>>550667 Я бы с удовольсием купил, если бы там был триал, ну или если бы вдвое дешевле стоило, а так я же даже попробовать бы сам не мог, не заплатив. А теперь как-то и желания платить нет. >>550668 Не, код не мой, для примера просто нашел. А отступы и комментарии я убрал чтобы все на одном экране поместилось.
>>550657 На крестах порог вхождения высокий и вакансий для джунов меньше, как мне кажется. Да и области применения у них разные: то, что ты будешь изучать для крестов, с большой долей вероятности не пригодится тебе для щарпа, vice versa.
>>550657 Я был нубом в крестах и успешно перекатился в шарп. Тащмта ты прав, язык хуйня, главное как задачи решаешь. Да, для эффективного решения задач с использованием конкретного инструмента, нужно знать его на чуть более глубоком уровне, чем поверхностном, но тут тебе на помощь приходит куча книг по шарпу и мсдн.
>>550842 Тот анон который вопрос задал может ее не осилить в отличии от простой загрузки готового цс файла в домен приложения. >>550723 Жуть какая. Восьмая студия, лол.
Есть асинхронный таск (получение json'а по вебреквесту). Есть ивент, в котором я хочу вызывать этот таск после задержки (ивент начался, пошел таймер, когда прошло полсекунды - вызываю таск). И если ивент перевызвается - отменить старый таск и вызвать новый (=этот же с новыми параметрами). Как реализовать? Через Timer.Elapsed крашится.
>>550842 Это она и есть. Просто зачем писать велосипед, если все уже написано за тебя 10 лет назад. >>550854 Ну вот и у меня теперь отдельно юнити с монодеволопом и отдельно штудия. В пизду эту интеграцию.
Сап, зк. Пришёл к вам просит помощи. Покидайте пожалуйста материалов для изучения вот по какой теме: Использование JSON в C#. Как читать файлы в формате JSON? Как их распарсить вообще? Не просто записать в одну строку, а извлечь определённые данные. Мануалы, статьи, видосики, примеры, всё что угодно. Спасибо.
>>546724 (OP) Анон выручай. Есть один студент и у него есть лаба кто бы это мог быть. Так вот, нужно на шарпике запилить стек. Вроде все просто я же у мамы прошареный, но хуй там плавал. http://pastebin.com/r8hF66Xa Тут структура узла, которая выдает ошибку цикличной вложенности. Собственно вопрос, как вписать в структуру указатель на структуру того же типа. Желательно без unsave кода.
>>551258 Мне порой кажется, что в шарпотред заходят одни дебилы. Сука, гуглишь c# JSON там на первой странице тебе документация на мсдн, примеры на мсдн, стековерфлоу, хуле тебе еще нужно, еблина?
Шарпаны. Какого это, кодить на сишарпе под линухом? Roslyn уже завезли? Уже можно деплоить приложения на линух, чтобы не переплачивать за лицензии винды?
>>551417 Ну тут есть два стула. Ты можешь позволить себе один в зависимости от требований\бюджета. Первый - Transact-SQL кодер будет поддерживать хранимые процедуры и получать за это денюжки. Плюс к производительности. Минус - новая должность\требование к кодерам. Второй - БД будет просто тупым хранилищем, и все взаимодействие будет через ORM. Плюс - просто как пальцы обоссать. Минус - ORM не магия, приходится платить производительностью.
>>551277 Че там непонятного то? Берешь строку, хуяришь ещё в функцию Жисон.расхуярить, получаешь обьект. Или берешь обьект , массив там или хэшик , передаешь ещё в функцию Жтсон.захуярить , получаешь строку. Можешь сам строку написать {Абу:Няша} например.
JSON прост и понятен, это тебе не дженерики осваивать.
WPF. Как распечатать FlowDocument, в котором имеется Inline, не помещающийся на одну страницу? Пока что приходится создавать все в КОДЕ СЗАДИ, но хотелось бы более чистого решения через binding в ItemsControl с WrapPanel. Ах да, гугл молчит, нашел только какие-то байтоебские решения с получением растрового изображения контрола с дальнейшим разрезанием этого изображения на кусочки.
Viewstate по умолчанию же не шифруется? Тогда почему не удается его декодировать в текст при переводе с BASE64? Слева как в видеоуроке все замечательно декодируется. Справа наоборот, проект тот же что и видеоуроке
>>551880 Может в кодировке дело, а может и шифруется. Доки надо читать. Впрочем, я никогда не парсил стейт этот на клиенте. Если что надо было, то в дебаггере смотрел. Его не имеет смысла смотреть на клиенте.
Как в монодевелопе сделать так, чтобы курсор был вертикальной полоской? Он у меня прямоугольный и, возможно, это не дает исправлять ошибки, печатая поверх других символов. Поверхностно посмотрел в настройках, но ничего не увидел.
>>552061 Это потому что она давно отсутствует. Эту кнопку надо уже выпилить с клавиатур нахрен. Num lock, кстати, тоже уже нахрен не нужен, а функцию caps lock можно заменить двойным нажатием shift, например.
Зайдя по адресу, я обнаружил cws-файл (как я понял, это сорт оф xml), в котором перечислены методы для работы с их API. Так вот - где почитать, как мне вытащить с помощью стороннего API данные? Как записать в xls я знаю, но вот с чужими API никогда не работал.
Задание я, вероятно, не решу в разумный срок, но хочу хотя бы почитать и попрактиковаться, как это делается и потренироваться на кошках, чтобы не выглядеть ебланом-неумехой.
>>552241 Можешь условно считать, что это переменная, в которой хранится ссылка на функцию, которую можно вызывать обращаясь к этой переменной. Нужно, чтобы можно было на лету определять или переопределять какое-нибудь поведение.
>>552241 Ссылка на функцию. Нужна она, очевидно, для того, чтобы сохранить ее и вызвать в каком-то другом месте, как callback. Традиционно используются, как обработчики различных событий, например клика мышью по форме. В шарпе такие ссылки оборачиваются в специальные классы — делегаты. Делегат может содержать в себе несколько ссылок на функции с похожей в рамках вариантности (контр- и ковариантность делегатов) сигнатурой. Во время вызова (Invoke) делегата, делегат поочередно дергает все сохраненные функции в рамках их контекста (this).
Создаются делегаты по типу: var del = new DelegateType(Method1); Вызываются: del(); или del.Invoke();
Есть неявное преобразование группы методов(ссылка на функцию) в делегат: DelegateType del = Method1;
Есть анонимные функции, которое позволяют не писать отдельные методы в классе, а сразу хуячить: DelegateType del = delegate() { ... };
Есть лямбды, которые как анонимные функции, только лямбды: DelegateType del = () => ... ; или DelegateType del = () => { ... };
Сейчас делегаты с лямбдами очень часто используются в методах расширения линка: var list = new List<int> { 1, 2, 3, 4 }; var count = list.Where(x => x > 2).Count();
>>552241 О, я тоже долго допереть не мог. Кароче, есть какой-то другой класс который содержит делегат с сигнатурой функции(имя, тип и ее параметры), Мы можем присваивать этому делегату(с помощью ключевого слова Event) сколько угодно функций с соответствующей сигнатурой. Зачем это надо? Чтобы потом при вызове этого делегата в этом классе он пробежался по всем добавленным тобой методах, выполнив их. При этом этот класс подставляет свои аргументы. То есть. Предположим тебе нужно реагировать на нажатие кнопки на интерфейсе. Ты создаешь свой метод, который должен будет выполнять действия при событии нажатия кнопки. После этого тебе нужно будет добавить этот метод в системный обработчик событий Click. В вижуал студии все проще достаточно просто кликнуть на кнопку в дизайнере и студия все эти действия за тебя сделает. Получается когда ты нажимаешь на кнопку система выполняет твой метод, передавая тебе свои аргументы в EventArgs(класс для всех аргументов) Если бы у тебя было событий на движение мышки, у тебя в этом EventArgs передавались бы ее текущие координаты на экране.
>>552290 Event — это ключевое слово, но не для того, чтобы запихать в делегат несколько функций. Он это изначально умеет и могет. Event — это сахарок, который раскладывается компилятором в два метода (Add и Remove) и поле с типом делегата. В итоге получается что-то типа автосвойства. Реализацию методов Add и Remove можно написать так же, как и реализацию методов Get и Set у свойства.
Встроенная в вижуал студию возможность создание баз данных не требует наличия SQL сервера? Если нет то у такого способа должны быть какие-то ограничения?
Шарпаны, есть один контроллер. В контроллере есть действие, возвращающее частичное представление (пикрелейтед1) с отфильтрованной по датам таблицой. В представлении есть два календаря, где выбираются даты для фильтрации таблицы по дате.
Через обычное представление всё работает (т.е. юзером выбираются даты, они передаются их в контроллер, там выбираются записи, которые попадают в эти даты и выводим эти записи в таблице).
Так вот - я хочу сделать так, чтобы по нажатию кнопки у меня появлялось частичное представление с отфильтрованной датой (т.е. без перехода на другую страницу). Знаю, что это делается через AJAX, но все мои попытки не увенчались успехом - максимум, что я получил это вывод заголовков таблицы без данных, без HTML-тегов и без стилей. При этом, если выводить сразу частичное представление (т.е. при загрузке страницы) через @Html.RenderPartial, то все выводится нормально.
Как повесить частичное представление на кнопку, заставить его забрать даты из текстбоксов и загрузить его на ту же страницу?
>>552789 Создай отдельный метод в контроллере, который будет возвращать частичное представление. На клиенте повесь на кнопку хендлер, который отправит запрос в тот метод контроллера, получит разметку и вставит в нужное место страницы. Первая ссылка в гугле: https://cmatskas.com/update-an-mvc-partial-view-with-ajax/
Как еще один вариант, можешь отправить темплейт на клиент, создать апи, через него запрашивать данные в джейсоне и рендерить темплейт таблицы.
Я >>552789 снова здесь и оказалось, что моя проблема решается достаточно просто, однако, jquery-функция (пикрелейтед) в качестве записывает undefined в аргументы вместо даты.
Контроллер работает, если подставить в data вместо айдишников текстбоксов что-нибудь вроде
>data: {fromDateTime: '01/06/1996', toDateTime: '08/07/1996'} , то все прекрасно работает.
В общем, почему не метод возвращает undefined в аргументы контроллера и как это пофиксить?
К примеру, есть веб приложение сделанное на асп нет. Если есть приложение написанное под андроид на джаве можно сделать так чтобы оно получало нужную инфу из бэкэнда сделанного на си шарпе?
>>553179 Я думал что-то конкретное подскажите. Когда гуглишь тебе выводит сравнение платформ в основном. Или лучше сделать чтобы все делалось на стороне клиента и просто подключаться к ms sql базе данных за нужной инфой.
>>553177 Веб-сервис выводит куда-то данные, например, в json - андроидоапп подхватывает по ссылке эти данные, парсит их и делает с ними что твоей душе угодно.
>>553183 У тебя есть два варианта: wcf и webapi. Если на жабе есть инструменты для генерации клиента по wsdl как же им не быть, то можно на wcf запилить soap сервис. Если не знаешь что это такое, то можно запилить на webapi сервис с json/xml. Ну, и у тебя всегда в распоряжении остается tcp транспорт.
Вот есть нативные матрицы, которые Matrix. Какие там конкретно оптимизации внутри? Сильно ли я сосну, если напишу свои, с простым поэлементным перемножением, например?
>>553668 > Какие там конкретно оптимизации внутри? https://en.wikipedia.org/wiki/SIMD > Сильно ли я сосну, если напишу свои, с простым поэлементным перемножением, например? Да.
У меня есть некоторая проблема с вот этой задачей:
курсив - мои комментарии Для следующего фрагмента программы записать в виде таблицы значение переменных после каждого шага программы (столбцы соответствуют переменным, строки ¬– строкам программы). Тип int и указатели занимают по 4 байта. Компилятор расположил переменные по следующим адресам: a – 100, p1 – 120, p2 – 124, s.x – 128, s.y – 132. Число N – номер варианта номер варианта - 11.
struct str {int x; int y;}; объявили структуру int a[5] = {1, 2, 3, 4, 5}; объявили массив из пяти элементов, заодно заполнив числами от 1 до 5 int p1, p2; объявили указатели str s; не совсем понял что это, но теперь s.x и s.y - это переменные из объявленной первой строчкой структуры, так? p1 = &a[N%5+1]; записали в указатель p1 адрес а[2] p2 = a+N/5+1; И вот здесь я выпадаю в осадок. Это не моя опечатка, я не проебал знак, в условии именно так. s.x = p1; s.y = p2++; *(p1-2)=s.y; p2=&s; p2->x=p1[1]; p2–>y=s.y; a[5]=s.x;
Я в полной растерянности и не знаю даже что пытаться читать. Может кто-нибудь помочь?
>>553177 Во всех компаниях где я работал было просто API которое отдавало данные в JSON. Им пользовался их фронтенд и всякие приложения на android/ios. Через ASP.NET WebAPI это очень легко реализовать.
>>553779 Впрочем, специально для аутистов объясню, что переменная-массив в крестах — это указатель на первый элемент массива. >p2 = a+N/5+1; В указатель запихнули адрес четвертого (11 / 5 + 1) элемента массива, используя арифметику указателей. Да, 11 / 5 = 2
>>553779 Нет, это не C#. >int a[5] В шарпе не так объявляется массив. >p1 = &a[N%5+1]; В шарпе нет оператора & в смысле взятия ссылки. >p2->x В шарпе нет оператора -> В общем, это типичная говняшная/крестоговно. Иди к ним в тред.
Уважаемые знатоки, врывается новичок. Выбрал для себя C#, как первый язык. Есть небольшой опыт, знаю про массивы, списки и прочее, что такое int , bool, float и прочее. В целом, не самый большой нуб, но ни одной программы за всю жизнь не написал. В идеале хотелось бы под конец освоить всё, но пока хотел бы начать с полезных web-приложух каких-нибудь, esp-хаков для каких-нибудь игр. Пока что просто для себя. Читать не очень люблю, но если нет другой альтернативы - прочту. Просто предпочитаю на деле смотреть примеры выполнения каких-либо задач, повторять и дополнять своими идеями. Насколько такой подход к изучению языка C# надёжен? И где можно посмотреть/почитать сразу готовые примеры разных несложных приложух (калькулятор с GUI, блокнот, какой-нибудь парсер информации из интернета, даунлоадер картинок с гугла по запросу...ну что-нибудь такого рода)? И если нет такого, то что из приведённого списка книг выше наиболее близко?
>>553891 Для того, чтобы знать узкие места языка, придется почитать книжки. А учить языковые конструкции и плюшки фреймворка можно и по видео урокам (тут где-то даже торрент валялся). Если тебя интересуют веб-приложения, то можешь читануть книжку Адама Фримена по asp.net mvc. Он там рассказывает о фреймворке на примере интернет магазина (если мне память не изменяет). Так же гитхаб в твоем распоряжении, если ты хочешь посмотреть примеры различных приложений, написанных на шарпе. На счет хаков, не думаю, что шарп тебе тут сильно поможет, хотя, я видел на хабре аутиста, который писал бота для вов на шарпе, влезал в графический пайплайн и использовал ассемблерные вставки да-да, они самые.
>>553908 А чего такого в том, чтобы бота писать на шарпе? :3 Но вообще мне серверный веб и всякие winform приложухи интересны. Можно и энтерпрайз (деньги-то надо потом зарабатывать). Спасибо за совет. Начать с Yellow Book?
>>553911 Проблема в том, что заниматься байтоебством на языке не особо для этого предназначенном, мягко говоря, странно. >Yellow Book Не читал. Я бы начал с Албахари и закончил Рихтером. Но если не зайдет, то можно и с нее или с Троелсона/Шилдта.
>>553926 >переопределить событие: >список классов пиздец бтв, я не силен в исключениях, но насколько я знаю, для создания своих исключений нужно наследоваться от класса Exception.
Объясните как в UWP приложении на XAML/C# сделать адаптивный UI. Насколько я понял, мне надо сделать 3 вижуал стейта: для 320, 720, 1024 эффективных пикселей. Всё, больше нихуя не понимаю. Если это важно, UI состоит в основном из GridView с коллекциями.
Ставишь триггер на минимальный размер окна и в нем корректируешь верстку. Привязываться к конкретным размерам или делать отдельную верстку имхо это лишнее.
В ASP.NET MVC Validation контролов нету как в вебформах? С помощью них и на сервере и на клиенте можно было проверять данные. В MVC есть Data Annotations, но они только на серверной стороне проверяют, для клиентской вручную писать джаваскрипт?
В MS SQL Server, если когда, например, стоит windows аутентификация по умолчанию pool size равнявется 100. То есть все конекшоны из пула с одного аккаунта windows идут? Как тут написано https://stackoverflow.com/questions/1134319/difference-between-a-user-and-a-login-in-sql-server Существую логины(для доступа к серверу то что в конекшн стринге прописывается) и юзеры для доступа в бд. Почему не изменяется конекшон стринг под конкретного юзера? Значит все юзеры(какого-то ресурса) через один логин на сервере подключаются чтобы добраться до нужной им бд?
И еще разбирался с Entity Framework как раз думал хорошо бы если DatabaseFirst и CodeFirst подходы были вместе. В том туториале, который я смотрел, было только о Code Second: проектируешь и базу и классы вручную. Однако, оказывается появилась недавно возможность генерировать CodeFirst с аннотациями с бд. Это штука еще не сырая?
Есть простенькая задачка: вывести на экран все возможные комбинации игрального кубика
Код как бы написал, но почему-то цикл идет в бесконечность.
[CODE] static void Main() { int a = 1, b = 1, i = 0; while (i < 6 || a <7) { Console.WriteLine(a + "." + b); i++; if (b == 6) { a++; b = 1; i = 0; } else b++; } Console.ReadKey(); }[/CODE]
Если убрать в цикле a < 7 и внизу добавить if (a == 7) i = 7; то программа выдает правильный результат, но все таки хотелось бы понять почему while (i < 6 || a <7) не хочет работать.
>>554097 Короче, проебался несколько дней с VisualState'ами и не получил нормального результата. Объясните на конкретном примере, как сделать так, чтобы GridView из репозитория по ссылке ниже нормально выглядел на любом дисплее? https://github.com/Shinoa-best-girl/ImplementAdaptiveGridView
>>556007>>555914 Проблема оказалась не в кодировке. Я зря использовал BinaryWriter для записи в файл, оказывается Write(string ) кроме строки записывает ещё длину строки, от этого вся разметка по пизде шла.
>>556032 1,1 1,2 1,3 1,4 1,5 1,6 2,1 2,2 и т.д. до 6,6 Я немного неправильно выразился в посте. Есть 2 игральных кубика, и надо написать все возможные комбинации выпадения
>>556033 Если с повторами то for(int a = 1; a < 7; ++a) for(int b = 1; b < 7; ++b) Console.WriteLine(a + "." + b); Че за адские циклы у тебя? Я там не могу разобраться
>>556034 да я просто еще до for не добрался, первый день только, по этому писал через while. Конечно говнокод еще тот, с кучей if'ами, но главное работает.
1. Есть одна программа, представляющая собой тупо браузерный компонент, обернутый в программную оболочку. При старте программа сразу переходит в фуллскрин и грузит в компонент веб-адрес. Некоторые антивирусы кукарекают на эту программу - полагаю, проблема именно в этом фуллскрине и загрузке веб-адреса?
2. Эта программа научена в самообновление по следующей схеме: программа получает версию на сервере, сверяет ее, в случае несоответствия скачивает апдейтер, запускает его, затем закрывается сама. Апдейтер скачивает свежую версию программы, запускает ее и закрывается, после чего запущенная программа удаляет апдейтер и ею можно пользоваться. Таким образом, апдейтер - это мост между старой и новой версией. Проблема в том, что антивирусы кукарекают и на апдейтер. Полагаю, подобное поведение тоже кажется им подозрительным и апдейтер лучше хранить как отдельное приложение в сборке без подгрузки?
3. Холодный запуск программы длится довольно долго. Если при установке программы заодно с помощью Ngen.exe генерить образ в машинном коде, то это, теоретически, приведет к ускорению запуска, но будет ли этот образ удален после перезагрузки системы?
>>556093 1 и 2 - просто добавь прогу в исключения антивируса. Если сам не могешь, админа быдлосети заставь скрипт написать для этого дела, ну и вюзай скрипт при установке своего поделия. 3 - особая скорость нинужна. Если запуск менее минуты то норм.
Господа, а есть какая-либо статья, как поднять свой сайт на своей машине, доступный из интернета? Статью про деплоймент asp.net mvc-сайта от мелкомягких я прочел, а вот остальное - тёмный лес для меня.
>>556236 Просто разворачиваешь сайт на IIS и настраиваешь Port forwarding на роутере. Ну и если у тебя динамический IP, то еще понадобится сервис вроде No-IP.
Оооой бляяяядь, охуительные ответы какие! Просто охуеть, в исключения добавь, минуту подожди, что за пиздец? Пользователям я тоже самое буду говорить? Все еще надеюсь на ответ от кого-нибудь компетентного.
Лол, вчера весь вечер со своей вундервафлей ебался. Теперь моя программа может зайти в вк с указанным логином/паролем. Правда капчу все равно мне приходится вводить. Как вы думаете, капчу реально обойти? В вк то, наверное, не дураки сидят.
>>556376 > А в чем профит? Не нужно будет менять тип во всех местах, если вдруг понадобится и когда запросы из бд делаешь для полученных результатов обычно var используют.
>>556376 >А в чем профит? Писать меньше. String = 5 букв, var = 3 буквы. Пример хуевый, но вдруг у него в других местах йоба типы данных вроде ObservableCollection<MyYobaClass>
>>556449 >>556444 Вообще, var используется обычно при создании объекта, где в правой части явно указан его тип. И не используется когда непонятно, какой тип возвращает метод или ещё чё. Это нормальная практика. Тот же DotNetty использует именно такой стиль: https://github.com/Azure/DotNetty/wiki/C%23-Coding-Style
Сап, программач. Вот уже полтора года занимаюсь скриптоложеством в Unity3D на божественном C# До этого язык не знал совсем никак. Как перестать страдать хуетой и начать программировать, чтобы зарабатывать себе на интеренты с пивом? А то мамка уже заебала - говорит, уже взрослый сыч, 26 лвл, а все свои игры смотришь Дело в том, что раньше у меня была конкретная цель - научиться делать игры, и я их успешно делал, но с чего начать изучение непосредственно программирования для создания своих собственных приложений - я совершенно не имею понятия. Гуглил всякие задачки, которые замотивировали бы начать знакомиться с этими вашими фреймворками, но так ничего путного и не нагуглил, а по учебникам сидеть разбирать теорию со всякими хеллоуворлдами я не люблю, мне нужна практика и конкретные задачи, которые я буду решать с помощью гугола и методом тыка, набивая тем самым свой скилл. Вот как-то так, может посоветуете чего? Только не бейте, лучше обоссыте
>>556703 Лол, вот в том-то и дело, что я не знаю, в какую сторону перестраиваться и что мне нужно делать, чтобы перестать быть хуем простым и можно было со спокойной совестью пойти искать работу на хедхантере/одеске. Продолжал бы делать игры, да юнити-бляди не совсем востребованы, 2-3 задачи в неделю или вакансии где-то в ебенях за 30 тысяч рублей в месяц, что совсем как-то стремно. В воркач пиздовать, да?
>>556709 Когда меня спрашивают, чем я хочу заниматься, я обычно теряюсь. Но ответ вполне исчерпывающий, спасибо. Пойду читать про веб приложения, и попробую оформить для себя конкретную задачу.
>>556353 За весь день научил своего бота только списки фотографий (номер фото, путь, хэш, дата) из конкретного альбома конкретного пользователя доставать и ставить лойс у определенной фотографии. Таким образом, я уже могу в один клик поставить лойсы на все фотографии определенного пользователя.
Лол, хуитой какой-то я занимаюсь. Все эти функции так ужасно выглядят, вон на пике самая простая функция, просто лойс ставит. Наверное, на каком-нибудь php это проще было бы сделать. Нуу, или мне уже пора заняться РЕФАКТОРИНГОМ.
>>556765 > hdrs Вот так и хочется еблище начистить. Что мешает нормальные названия писать, а не эти убогие сокращения без гласных? И вообще к чему эти костыли из string[,] вместо напрашивающегося словарика.
>>556765 >РЕФАКТОРИНГОМ Вот это вот да. Еще может быть тебя заинтересует использование православного внешнего апи вк, а не внутренних ресурсов для асинхронных запросов. Тем более, что уже есть куча оберток для него под .net. Или это слишком просто для тебя? По хардкору решил угареть?
Шарпаны. Есть, кто юзает асп.нет 5, ВС 2015? Начал писать свою цмс для изучения на практике. Успел влюбиться. Все самое необходимое из коробки. А если есть что лишнее (даже bcl(sic!)) или чего-то не хватает - решается правкой json файла: все само подгрузится - красота. Плюс куча приблуд для фронтенда: bower, gulp.
>>556770 Ну я на время написал и имя, и string[,]. НУ ТЫ ТО ПОНЯЛ, ЧТО ЭТО HEADERS, В ЧЕМ ТОГДА ПРОБЛЕМА? Скорее всего вообще уберу, обычно мне совсем немного заголовков надо, все пропишу в лоб, некоторые вынесу в константы.
>>556771 Вот это первым делом и собирался сделать.
>>556775 Да тут не в вк дело, я просто гуглил как работать с протоколами http. Ну и я вообще ничего не знал о том как это устроенно. Теперь вот узнал как браузер общается с сервером, начал сечь в POST и GET запросах, выцеплять нужные ключи из печенек.
Не особо могу в ООП (события, делегаты и все такое очень тяжело даются), учусь программировать на С#. Как тему курсача хочу взять программку для стомат клиник с журналом пациентов и заполнением мед.карт Насколько это сложно будет мне реализовать? И вообще, что еще потребуется знать для такой программы? Немного совсем могу в wpf.
>>556911 Я так понял, что ты хочешь десктоп запилить? Зря-зря. Алгоритмическая сложность не высокая, но по времени займет относительно много. Знать надо предметную область. Без практикующего врача-стоматолога ты хер что рабочее и полезное запилишь. Помимо wpf, изучить придется БД и ado.net.
>>556916 Вынеси установку хедеров в отдельный метод. Они у тебя однохуйственно не зависят от параметров запроса. Или лучше реализуй нормальный билдер, а не еврейский.
>>556916 Я делал подобное говно для реальной гос. поликлиники припахали со стороны универа вместо курасача. Большую часть времени заняло сидение под дверью врача(с которым я был должен согласовывать предметную область) в окружение мамок с плачущими детьми. Потребовалась умение накидать формочки на винформс и напсание обработчиков входящих данных со стороны пользователя. Больше там по сути ничего нету. Ну и построить простенькую схему бд. > Но Entity Framework и linq это же просто сказка Я тогда еще не знал про EF, лол. Сделал обычными запросами.
>>557066 Классная штука. Сейчас глянул, какие ещё плюшки в 6 появились. using со статическими классами это вообще шикарно, как же надоело писать Console. А как прокачаться до 6 версии, не обязательно же студию менять? сейчас 2012
>>557094 А вот с using'ами не советую сильно играться. >>557094 Вроде обязательно, но ты 15 студию можешь параллельно с двендцатой поставить, да и бесплатная редакция есть, которая поддерживает все что нужно
>>557127 Тип знать ненужно в общем случае. Все нормальные люди на C# всегда и везде пишут var, независимо ни от чего. Если тебе раз в году понадобилось - ну наведи мышку, но это редко нужно, рили.
>>556915 >>556929 >>556916 Родители стоматологи, по их просьбе пилю собственно. ТЫЖНАПРОГРАММИСТАУЧИШЬСЯ Плюс я думаю такую прогу можно было бы продать куда-нибудь.
>>557160 > Плюс я думаю такую прогу можно было бы продать куда-нибудь. Продащь разве что бесплатно. Меня хотели потом припахать чтобы я потом эту хуйню презентовал чтобы потом кто-то купил. Но я морозился как мог, стыдно было унылый круд впаривать за деньги. Сказал что я неуверенно выступаю, что правда, в итоге какая-то девушка врач представляла ее.
>>557174 Ну в стомате как мне они сказали, такую хрень можно попробовать загнать. Врачи очень сильно ебуться с заполнением медицинских карточек, которое дичайшее количество. Какой то парень написал уже такую прогу, только на пхп. Но там лютейший неюзабельный пиздец.
>>556792 Решил попробовать asp.net 5. Создал проект — не билдится. Сука. Пришлось ставить апдейт на винду, ибо их новая YOBA (dnx) не может себя поставить без новой версии павершелла. Ладно, похуй, нормально. Поставил — перезагрузился. Теперь приложение стало нормально билдиться и запускаться на експрессе. Все знают, что экспресс для лохов, поэтому я решил нормальный иис натравить прямо на папку с сорцами, как всегда делал — нихуя не работает, ибо пидарасы изменили структуру директорий. Пришлось деплоить через студию. Скопировал в корень сайта папки approot и wwwroot, настроил пул и приложение. Нухуя, блядь, не работает. Сначала пытался просто отобразить файлы в директории, потом ругался на структуру конфига где-то в папке фреймворка, затем выдал перл, что не может найти dnx.clr.managed, которого, блядь, действительно нет в директории с рантаймом. Гугл говорит, что там какая-то ебала с наименованиями и непонятно как фиксить. Жопка пригорела, рейджквитнул, удалил. В общем, что хотел сказать. Хуйня какая-то, не понравилось.
Ты же велосипедист, надо брать готовую нормальную библиотеку для сборки запроса. Алсо когда ты балда добавляешь параметры в запрос ты должен их кодировать процентным кодировнием. Вот почему надо брать готовую библиотеку а делать кривой велосипед.
>>557174 Бля, рабский труд за просто так. Никаких внятных требований - иди сам их с врачей собирай. Попытка припахать на презентацию в роли продавана-менеджера, да и вообще попытки монетизировать детцкий блядь труд. Уебки.
Но с другой сотороны если бы ты нашел годного врача секущего в теме, можно было бы накатать нормальную, максимально полезную прогу и офицально толкнуть ее через какое-нибуть ооо, а потом рубить деньги на поддержке и автоматизации. Всем выгода была, если подойти по уму.
>>557370 > Бля, рабский труд за просто так. ТЫ НЕ ПОНИМАШЬ, там врачи лечат детей с генетическим заболеваниями. Если бы я потребовал денег я набрал очень много очков темной стороный и понизил свою репутацию. На самом деле стремно все это, дети уже младшего школьного возраста которые до сих пор говорить не могут и с трудом передвигаются
Аноны, есть шиндовс фоне, и свой акк которым я авторизуюсь в виндоус дресять. Надо написать аппу на этот мелкософтный мобайл. Почитал погуглил, что надо оплатить лицензию разраба. Напишите кому мне отсосать, и куда заплатить, что бы получить эту лицензию? З.Ы Есть способ сбросить триал решарпера?
>>557549 Лицензия разраба уже как два года бесплатна, вроде как.
Включаешь тулзу разблокировки (Windows Developer Registration Kit), прокликиваешь всё, цепляешь мобилу в включенным экраном и всё - ты девелопер под ВФ.
Господа, такой вопрос: Немного представляю себе о ООП, объектах, классах, функциях. На сколько мне будет сложно самостоятельно поднять C# на приличный уровень? (без курсов или еще одного обучения в вузе) Спасибо
>>557849 Тогда в плане языковых конструкций не особо сложно будет. Надо только грамотно подобрать список задач, чтобы они охватывали большую часть функционала фреймворка.
>>557866 Албахари. Если покажется сложным, то с чего угодно: хоть с видосиков, что тут рекламируют, хоть с тобой приведенной книги, которую никто не читал.
>>557362 >припахали со стороны универа вместо курасача Пиздец. Лучше бы как я в курсовых изучал эрмитовы кривые над полями и общие свойства систем уравнений над кольцами.
>>557894 Так я все еще учусь. А стоит ли идти в математику? У меня тут недавно зрение садилось, и я от страха за глаза уже гуглил цену операции. Эти операции стоят до 100 000. Нищий математик может себе такое позволит в случае беды?
Плохо знаю формочки, хочу написать что-то вроде "четыре в ряд". Суть в том, что у меня есть класс Field с методом DrawField(), который должен нарисовать игровое поле (закрашенные разными цветами квадратики). Но как это сделать? http://pastebin.com/M7S55VFq
>>557917 Ты ещё и ООП плохо знаешь. У тебя должен быть класс типа Drawer или Renderer, или ALLO_YOBA_ETI_TI, с методом DrawField(Field field). Ему в конструктор можно передать эту твою панель или даже сразу Graphics.
>>557917 У контролов есть ивент Paint. Подписываешься на него, получаешь из аргументов референс на графику и рисуешь поверх контрола. Ты же практически тоже самое сделал, только без автоматической перерисовки. В чем проблема? GDI+ не знаешь? Алгоритмически не можешь решить аль архитектурно?
>>557929 Да, с GDI+ впервые имею дело. Да и C#/.NET только недавно стал изучать, ивенты тоже плохо знаю. Если я почти всё сделал, не мог бы ты на пастбин выложить то же самое, только с перерисовкой? И ещё: как мне подписаться на Paint? Короче, я нубас, почитал про всякие make simple Paint in C#, но нигде не нашёл, чтобы из другого класса рисовали что-то, а не из Form прямо.
>>557934 В конструкторе форм добавь событие Paint к панели два раза кликнуть (на пике я к форме добавляю) Откроется функция Paint, из e извлекаешь Graphics и делаешь с ним что хочешь.
Вообще, я бы отаследовался от формы, создав какой-нить класс типа GameForm : Form. Переопределил бы нужные методы и отсюда уже плясал бы. Или можно создать какой-нить PictureBox, как основной канвас, и заинжектить его в свой класс. Типа: http://pastebin.com/58vNMgQX
>>557971 Самый лучший способ — добавить в проект "пользовательский элемент управления". Он от UserControl наследуется. Потом можно его внутрь любой формы перекинуть прямо из панели элементов.
>>557977 НУ ЭТО ЖЕ ТАК КРУТО. Взял какую-нибудь залупу ненужную написал, сунул её в панель и она висит между кнопкой и текстбоксом. Потом перетаскиваешь её на формочку, и прям чувствуешь себя элитным разработчиком из майкрософта.
Самое простое это сделать клетки через внутрение панели: private Panel[,] Cells; Самый профит это возможность натянуть на них любую background текстуру(или просто цвет), набор событий и автоматическую отрисовку, ну а в Field'e хранить обработчиков событий клеток вместе с игровой логикой.
Единственый серьезный недостаток - это ограничение на размер поля. Начиная от 400 клеток все будет тормозить, но с полем в 16 келеток все будет ок.
Господа. Это снова я со своим приложением для стомат.клиник. Преподаватель согласился быть научруком. Буду писать десктоп-приложение. Итак, пока планируемый функционал: журнал пациентов, заполнение мед карт. Реквестирую литературу по базам данных и wpf. И как все жто написать вообще. Я очень переживаю, что выбрал тему не по силам.
>>558335 Блядь. Есть задача написать десктопное приложение для ведения журнала. Самый простой и надежный вариант это накатать впф для машин с винс базой на сиквел сервере. Я бы еще понял, если ты предложил на асп.нет написать, но, нет, надо начать пиздеть про кроссплатформенность, предложить какую-то хипсторскую хуйню, а потом завалить все сроки и нихуя не сделать. мимо
>>558335 WPF это тяжелое гавно-мамонта (оно не обновляло со времен .NET 3.5). UAP сам по себе более легкая и современная версия WPF. В UAP есть поддержка EntityFramework 7 (там sqlite идет из коробки).
Была едея предложить ASP.NET 5.0 :), но это не совсем в тему и он явно не осилит.
P.S. ему в принципе все равно с чего начинать, если опыта 0
>>558377 Перешёл на шарпея с андрюшки и его студии и айдии от интелиж, было приятно пользоваться месяц триала почти той же средой что и раньше. Как только триал закончился, я обосрался, указывать самому using
>>558386 И я опять обосрался. В решарепере ещё были милые подсказочки в строке прокрутки, где вар в методе указать, где иф перестроить в условие?тру:фолс
>>558388 В студии тоже есть подсказки, даже предпросмотр изменений есть. Правда не уверен, что она предлагает подставить вар и тернарный оператор. Впрочем, вар не нужен — это бич решарпера. Еще он предлагает, например, заменить приватный инстанс метод приватным статическим, что тоже не нужно.
>>558395 Устроился на работу, 2 месяца проработал джуном андрюшки, потом мне сказали, что им сейчаас не нужны андрйод девелоперы, за то нужны шарпобоги. Ну и взяли шарпеем, переучился за месяц(хуево переучился, до сих пор еле вкуриваю в делегаты, а про биндинги до сих пор охуеваю). Месяц писал прожку с кинектом и его сдк+емгуЦВ, и теперь вот подпрягли писать на виндоусфоне.
>>558399 > подпрягли писать на виндоусфоне. Ну ты удивил, я думал он теперь никому не нужен.
Пишу кросплатформенное приложение (android/ios) на robovm в Idea Community. Для себя сразу решил, что не буду делать под WP тк WP10 будет поддерживать android/ios.
Сука, воткнули по самые уши в skype for business, сижу охуеваю. Задача - записывать пиздеж сэйлсов серверсайд. Это вообще возможно с т.з. секьюрити? Есть сэндбокс вообще какойнить для s4b? отсосу за консультацию
>>558353 >>558353 У меня опыта ноль, я блджад сейчас только события и делегаты прохожу, потом в этом семестре вроде еще точно будут репозитории и LINQ Ну и все маленькие графические программки мы писали на wpf онли. Вин формы препод терпеть не может.
>>558481 получается тогда что в управляемой куче не создается новый элемент, а используется один для двух ссылок first и second? Как тогда скопировать элементы массива в другой?
>>558666 В принципе да ты и раньше мог на mono, но 1) непонятна производительность kestrel сервера. Под высокой нагрузкой у меня он просто падает. 2) пока нет провайдеров для EF7 под MySQL или Postgres
Начал изучать С# по книге Шилдт Г. С# 4.0 и меня не покидает ощущение, все, что я делаю, - это бесполезно. Геометрические, алгебраические, тригонометрические задачки уровня 4 класса. Что это вообще? Или это норма? Хелп.
>>558857 Если они тебе кажутся легкими, то скипай. Это как с математикой, если тебе какое-то утверждение кажется достаточно убедительным, то не имеет особого смысла читать его доказательство. А так, обычно, для ознакомления с языком и программированием в целом реализуют различные простейшие алгоритмы и структуры данных. Типа списки всякие, алгоритмы сортировки и поиска. Особый смак — реализация их обобщенных вариантов.
>>558486 char[] first = s.ToCharArray(); char[] second = s.ToCharArray(); В куче лежат два массива, на первый указывает указатель first, на второй second. second = first; Теперь на первую кучу указывает и first и second. Этим ссылочный тип отличается от типов значений. Этим классы отличаются от структур. если бы тип char[] был структурой, то массивы бы скопировались полностью. и все-таки, после с++ шарп лучше заходит лол
как в текстбоксе узнать, на каком индексе строки сейчас каретка? (или курсор, как там его правильно, мигающая вертикальная палка - индикатор ввода, крче)
>>559024 System.Windows.Forms.Textbox. Однако, уже прочитал, что CaretIndex есть только у System.Windows.Control.Textbox, однако namespace'a Control чому то не видит
Сап шарпач. Оче нужен твой хелп, а то я не понимат.
Поясни пожалуйста за итераторы. Я вот читаю читаю и не очень вкуриваю. Ну вот например я делаю функцию: > public IEnumerable<int> CountFrom(int start) > { > for (int i = start; i <= limit; i++) > yield return i; > }
Компилятор ее теп разворачивает в конечный автомат, но не просто в конечный автомат, а в отдельных класс. Так? И чтобы мне с этим автоматом работать мне нужно делать >IEnumerator<int> енумератор = йоба1.CountFrom(51500).GetEnumerator(); >енумератор.MoveNext (); >Итд Правильно?
И каждый раз когда я буду делать >йоба1.CountFrom(51500).GetEnumerator(); Будет создаваться новый объект реализующий интерфейс "IEnumerator<int>" ?
А мне нужно, собственно сделать самому объект, реализующий "IEnumerator<int>" , чтобы реализовать в нем Reset (). Короче чтобы объект был один, а я его только сбрасывал по мере необходимости. Это достижимо встроенными средствами кодогенерации шарпа? Ну чтобы не я ручками автомат ебаный писал, а компилятор его сгенерировал, а я только Reset () перегрузил?
>>559278 >C# позволяет В ансейв через маршалинг. Ну, ты понял. Никто не использует.
Можешь подсчитать объекты(минимально) ибо память «выделяется» внутренними механизмами clr на уже отобранном у ос месте: IEnumerable<T> list = new List<int> {1, 2, 3, 4}; //1 list = list.Where(x => x >= 2).Select(x => new {x}); //3 list.GetEnumerator(); // 6 //3
Шарпач, как в приложении для магазина сделать GridView как в стандартном приложении "Фотографии"? Что в нем привлекает: 1. В зависимости от ширины меняется кол-во элементов в строке. 2. Элементы списка всегда занимают все доступное пространство по ширине, не оставляя пустых мест.
Спроектировать иерархию классов, которая будет описывать товары интернет-магазина, такие как: одежда (Clothes),обувь (Shoes) и аксессуары (Accessories). Все классы должны быть в одной иерархии.Дан XML файл, который хранит в себе разные товары, которые есть в наличии у магазина. Необходимо считать всю эту информацию в программу и предложить пользователю меню покупок. Пользователь может выбрать интересующую его категорию товаров или же просмотреть все товары магазина. Пользователь может купить любой товар. Это действие должно активировать событие, которое удалит из коллекции выбранный товар и добавит стоимость товара к выручке магазина. При выходе из приложения исходный файл должен перезаписаться оставшимися товарами.
>>559602 >Анон, в программирования я полный ньюфаг. Мне подойдет C#? Нет. Изучай общие основы программирования на паскале. Затем ASM, затем C, затем C++. Желательно чтобы это все было как-то связанно, может курс университетских лекций? А затем уже переходи к C#. >С какой книги начать (книга нужна на русском), если я вообще ничего не знаю? Школьный учебник информатик. Там должны быть и основы, и паскаль.
ITT элита продолжает обсуждает будущее этого поистине прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Скачать VS2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx
Что почитать:
- C# Yellow Book (для ньюфагов, книга полностью бесплатная)
- Joseph Albahari и Ben Albahari - C# 5.0 in a Nutshell (на русском: C# 5.0, Справочник. Полное описание языка)
- Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)
- Jon Skeet - C# in Depth (на русском: C# для профессионалов. Тонкости программирования)
- Jeffrey Richter - CLR via C# (на русском: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#)
- Writing High Performance .NET Code (Ben Watson)
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)
Что посмотреть:
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners
Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/
Онлайн-компиляторы:
- https://dotnetfiddle.net/
- http://csstub.com
- http://www.tutorialspoint.com/compile_csharp_online.php
FAQ
Q: Где и какую студию брать для работы?
Для большинства задач подойдет Community версия. Она бесплатная и скачивает из сети только указанные компоненты. Скачать можно тут - https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
Q: Что с IDE для других систем?
Самый юзабельный вариант - MonoDevelop (http://www.monodevelop.com/download/)
Для vim можно использовать OmniSharp (https://github.com/OmniSharp/omnisharp-vim)
Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6
Прошлый тред тонет тут: https://2ch.hk/pr/res/534713.html