24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека. ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Что почитать: - Bart De Smet - C# 5.0 Unleashed - 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)
FAQ Q: Что с IDE для других систем? A: Самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ) Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ) VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx ) Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана. SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими. Q: Пригоден для C# для мобильной разработки? A: Да, можно выбрать в окне выбора компонентов студии при установке VS
Дополнительные инструменты для разработки на C# LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии dotPeek - бесплатный декомпилятор от JetBrains scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL
Как в EF Code First не удалять базу данных каждый раз, когда добавляешь новое поле или таблицу? На мсдн пишут что надо пердолиться в сторону Code Migrations: >Выполните команду Enable-Migrations –EnableAutomaticMigrations в консоли диспетчера пакетов но эта команда дает ошибку >Could not load file or assembly 'Microsoft.VisualStudio.Shell'
Можно ли как-то сделать, чтобы дебаг показывал ошибки создания базы в EF? То есть допустим я сделал код, из которого нельзя сделать базу. Я хочу чтобы EF показал мне почему именно из него нельзя сделать базу, а не просто вылетал без всяких исключений. (Оче долго думал, почему не работает, оказывается колонку с именем Position создать нельзя. Если бы он показывал эксепшоны, было бы гораздо проще.)
Правда ли, что C# доступен только избранным? Говорят, что он гораздо объёмнее C++ и чтобы выучить стек технологий MS нужны годы и что сам по себе C# включает кол-во фич столько, что нигде нет в других языках.
Какие архитекрурные подходы да и вообще технологии нужно/можно применить для разработки средней величины (читай небольшого) мвс веб приложения? Ну там всякие ИоК и все такое. Еще что? Вот ты начинаешь с нуля писать веб апликуху, как ты ее строишь, что спользуешь, на что обращаешь внимания? Может какие-то мастхев библиотеки/плагины, архитектура и все такое. Если кто годно ответит, давайте это в шапку кидать будем, хотя бы как ссылкой на пастебин.
>>613441 (OP) Хочу вкатиться на Юнити. Какая база по C# нужна, какие книги читать посоветуете? Только начинаю изучать C#, в программировании нуб, за плечами есть небольшой опыт в ActionScript и парочка небольших флеш-игр.
К сожалению, .NET-мир уже немного нафталиновый. Майкрософт пытается его обновлять и держать в тренде, но не могёт. Как старый дотнет - хорошая работа над легаси-проектами. Как новый дотнет - закос под мейнстрим с огромными дырами и недоделками. Вот в такой двоякой ситуации как-то и не хочется находиться и вкатываться. PS Дотнет прогер.
>>613650 Копипастил откуда-то? Тип запроса задаётся как requestObject.Method = "GET" (или что-там тебе нужно). Попробуй поменять RequestMethod на string.
>>613658 Вероятно, самописный тип какой-то. Я тут вижу варианты: 1. Поменять в параметрах RequestMethod на string и вместо первого if'а и следующей строчки написать request.Method = requestMethod. При вызове _Request, соответственно, передавать просто строку. 2. Можешь запилить свой тип, можно попробовать для начала просто enum RequestMethod { GET, POST }.
if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location])) { String location = response.Headers[HttpResponseHeader.Location]; this._Request(location); } return response; } private void _BugFix_CookieDomain(CookieContainer cookieContainer) { System.Collections.Hashtable table = (System.Collections.Hashtable)cookieContainer.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cookieContainer, new object[] { } ); System.Collections.ArrayList keys = new System.Collections.ArrayList(table.Keys); foreach (string keyObj in keys) { string key = (keyObj as string); if (key[0] == '.') { string newKey = key.Remove(0, 1); table[newKey] = table[keyObj]; } } } Поменял RequestMethod на String, стало понятнее. Но никак не пойму что означает вот этот код if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location])) { String location = response.Headers[HttpResponseHeader.Location]; this._Request(location); } а именно this._Request(location); тоесть он вызывает саму себя?
>>613677 >Но никак не пойму что означает вот этот код Если установлен хидер Location, то делаем запрос по указанному в нём адресу (завикипедь про заголовки HTTP).
>а именно this._Request(location); тоесть он вызывает саму себя? Вообще говоря, нет. Вызывается метод с одним аргументом, а твой _Request — с тремя. Вероятно ты где-то потерял другой _Request.
Аноны, подскажите. Вкатываюсь в шарп по маленьку, значит, но все не вкачюсь никак. Знающие люди говорят, что пора бы тебе, йоба-уёба писать свои программы-приложения, чтоб совсем хуйлом не быть. А у меня тупо идей нет. Сижу, в игоры играю, а что написать не знаю. Вот вроде и хочется под себя что нибудь, а все уже написано, вродь как. Что можно написать дауну, который еще не может полностью писать на шарпе, но и не совсем обезьяна?
>>613441 (OP) Анон, а поясни мне за Jabber/XMPP для .NET. Какие есть годные библиотеки? agsxmpp - устаревшее говно с застывшей разработкой, у Matrix только коммерческая лицензия (и стоит она ДОХУЯ).
>>614163 >Что можно написать дауну, который еще не может полностью писать на шарпе, но и не совсем обезьяна? Напиши скачивание базы эквити памм-счетов и хранение их в виде файлов, с возможностью апдейтить. Код выложишь тут для ревью. Можешь спрашивать - подскажу как сделать, покритикую код. а то мне писать лень, да и времени мало
Выполнить следующее преобразование массива длины N. Элементы с индексами i ≤ [(N + 1)/2] переместить на позиции с четными индексами с сохранением их исходного порядка относительно друг друга, а оставшиеся элементы (i > [(N + 1)/2]) разместить на позициях с нечетными индексами также с сохранением их исходного порядка. Т.е. начальная и конечная половины массива “перемешиваются” чередованием элементов. Умоляю.
>>614620 нууу... Создаешь еще 2 массива с четными и нечетными элементами изначального массива Потом поочередно заполняешь новый массива длиной N элементами из созданных раннее двух массивов
>Если бы он показывал эксепшоны, было бы гораздо проще Рекомендую писать всё в стиле Code First. Тогда у тебя не будет проблем с отловом эксепшенов с детальной инфе об ошибке. Это особенно полезно, если юзаешь сервер БД, отличный от MSSQL. Адаптеры для серверов часто весьма глючные и не могут в mouse driven development. Для понимания их выебонов часто требуется требуется пройтись по всей ветви InnerException.
>>614163 Начни с чего-то необычного. Например, брутфорсер кастомного алгоритма шифрования, могущий в многопоточность и огромные словари (> 3Gb в памяти).
>>615937 >на макбуке Еще не завезли. >на фрилансе We require decorated C# developer with 7+ years of experience to support and improve existing site written in angularjs and bootstrap. читать с индийским акцентом
>>616023 Оно не нужно, если не идёшь на какую нибудь бигдату (внезапно). О нём обычно спрашивают в стиле "а чо где учился? мб я тоже там/друзяшки там были". Максимум - почитай Кормена и подготовься к собеседованию, всё что нужно.
>>616087 Ёб твою мать, мелкософты уже сделали её полностью халявной и не требуют даже достоверных данных. Трудно блядь зарегестрировать аккаунт про100вася228_1337.
Поясните нюфагу, если я начну учиться на С#, то я смогу делать высокопроизводительные приложения для реалтайм обработки чего-нибудь? А а то обычно это всё делают на C++, но интуиция мне подсказывает что лично мне он нахуй не нужен.
Прошу помощи. Возникла необходимость написать под winforms юзер контрол. Что-то типа миникарты(пишу эмулятор клиент одной ММО). На ней должны в реал тайме отображаться некоторые элементы, а также нужна возможность обрабатывать клики мышью по ним и по самой карте. Пока наговнокодил такое. С рисованием чего угодно проблем нет, а вот с обработкой событий мышки уже тупняк.
Помогите подобрать книжку по asp.net или ресурс какой. В веб разработке полнейший нуб, но шарпы знаю хорошо. Прочитал шилдта, рихтера, троелсена, немного фрилансю
Ламповая дотнет-конфа, наполненная как опытными и отзывчивыми синьёрами, готовыми помочь, так и амбициозными недо-джунами, с которыми можно вместе вкатиться в увлекательный мир лучшего языка общего назначения. Присоединяйтесь! https://telegram.me/joinchat/BE8kJwJcbncs1T4PJ_LZ5Q
>>615943 >>на макбуке >Еще не завезли. Кстати уже завезли. В рамках Mono всё работает. Формочки и прочее десктопное говно клепается на ура. Даже ASP.NET поднять при желании можно.
>7+ years of experience >angularjs and bootstrap Дико проиграл нахуй.
>>616023 >У меня ВО нет Нинужно оно в кодинге от слова совсем. Если не конченный даун, то даже в относительно сложной математике разберёшься при желании (оно вообще является определяющим фактором). В дотнете главное хорошо знать всякое сетевое говно плюс БД (WCF, ASP.NET, EF//ORM, IOC и прочее подобное). И уметь писать относительно читаемый код (StyleCop и "Анализ кода" в помощь). Так-то работы просто до жопы, и даже при небольшом стаже она весьма неплохо оплачивается. Ну и можно иногда клепать всякую ерунду на WPF - здесь тоже желающих хватает (правда, это обычно весьма стрёмные приложения типа ботов к играм). Пока чистого фриланса у пхпэшников больше, но из года в год делать пхпэшные задачи на дотнете становится проще. Недавно дебажил пхп-сайт, чуть не проблевался.
>>617534 >уже завезли .net core, asp 5 и ef7 все еще rc, обещали релизнуть в 1 квартале уже этого года вот тогда и заживем!. Моно работает медленней раза в 2, студию под невинду не завезли, vs code - не ide.
>>617590 >Моно работает медленней раза в 2 Пруфца бы. Алсо само по себе моно скорее всего постепенно канет в лету после релиза core. Сейчас все занимаются тем, что активно туда-сюда таскают куски кода в официальных репо на гитхабе.
>студию под невинду не завезли Нинужно, хотя было бы неплохо.
>>618185 Нет нормальной кроссплатформенности и вообще неудобно там файлами всякими делиться. Да и вообще, отсидел в ирц в свое время. Тошнит уже от него. Фу.
>>618173 >после каждой рекламы приходит от трёх человек и больше >я нихочу значит нинужно >>618170 а во второй теперь нет никакого дотнета, активных юзеров, зато есть анальная мочерация и пониёбы в правительстве
>>618173 Телеграм достаточно удобен, сам пользуюсь ИРКой и по сей день, но тут всё спорно конечно. На самом деле для дефолтных нужд телеграм даже лучше, может отпарсить картинку/видео, можно вставлять блоки кода.
>>618242 >а во второй теперь нет никакого дотнета, активных юзеров, зато есть анальная мочерация и пониёбы в правительстве Этот обманывает чтобы набрать классы, лол.
Юзаю фреймворк monogame (наследует xna). На нем можно норм физику сделать? А то как представлю свой говнокод, хочется сразу найти вариант пооптимальнее. Так можно ли?
>>618556 Какие типы, в какие коллекции запихивать. Чтобы потом к этой коллекции можно было обратиться и построить TreeView, например Или в xml с сохранением иерархии записать
Ну вот я изучил шарп, синтаксис знаю, основные всякие подводные камни знаю. Куда дальше смотреть? В проектирование? Или библиотеки задрачивать? В английский не могу, да, быдло. Заранее спасибо.
>>618714 Готовых инструментов вроде нет. Можно что-то из samples спиздить, наверное, но я их не особенно смотрел.
Сам написал виртуальный класс, что-то типа GUIScreen, он принимает набор текстур и их координаты, рисует их и обрабатывает нажатия на определённых координатах, возвращая при попадании на текстуру код/индекс. Дальше от него наследуюсь и не вдаюсь в подробности.
>>618977 Но до адаптивного расположения ещё не добрался. Чувствую, что там пиздец будет. Эх, было бы что-нибудь готовое. Если найдешь, про меня не забудь.
В чём смысл функции Lerp? Я с тем же успехом могу просто написать x + (y - x) * z вместо Mathf.Lerp(x, y, z). Есть какой-то метод применения, где он более удобен или уместен или это так, показать как я умею?
Выручайте, ньюфаг,19лвл, хочу разобраться в сути вопроса, гугл послал нахуй. Объясните кто детально, что происходит с момента ввода урла до отображения страницы конкретно в MVC + SQL + JS, опуская ДНСы и прочую сетевую лабуду, начиная с того как запрос с этим урлом пришёл на IIS(или ещё куда). Путь от приёма урла до отправки HTML+CSS+JS назад к юзеру.
поясните ньюфажине каким образом из .net можно дёргать напрямую функции win api, ведь байт код же исполняется средой, т.е. среда превращает MSIL в нативный код в процессе выполнения прилаги, тогда каким же образом можно получить прямой доступ к памяти? Чтобы был прямой доступ нам надо скомпилировать приложение, чтобы оно имело доступ к памяти, а MSIL это же прослойка, не понимаю как напрямую получают доступ через прослойку. Все эти DllImport и т.д., где описываются методы win 32 api - совсем запутался с этим. Может кто-то растолковать?
>>619709 http://www.mono-project.com/docs/advanced/pinvoke/ >MSIL это же прослойка, не понимаю как напрямую получают доступ через прослойку CLR, внезапно, является виртульной машиной и просто исполняет байт-код. Нет никаких преград для выполнения native кода, если этого желает программист. Попробуй как-нибудь подебажить работающий .NET-процесс. С удивлением узнаешь, что ты постоянно тусуешься внутри native кода, который обрабатывает IL опкоды.
Привет ребят, кто нибудь может помочь в маленьком вопросе? Я хочу использовать дату, допустим сегодня 6 января - значит мне нужно написать что то вроде " ХуйПизда" , а если у меня на компьютере будет 29 Августа - то я хочу написать "идиНахуй".
Собственно вопрос, как мне из DateTime брать числовое значение дня или дня и месяца?
>>619973 Забудь про ООП которому тебя учили, ирл нет почти ничего из того что ты учил. Инкапсуляция - чудно, но дальше хуже. На самом деле в большинстве случаев нет ни классического полиморфизма, ни наследования. Вместо них ad-hoc полиморфизм и делигирование. И это только начало, в итоге всё строится на знании паттернов и фреймворков, а без этого твои знания ничего не стоят, увы.
>>620126 Сам иди нахуй. Все понты Я ЧИТАЮ НА АНГЕЛЬСКОМ сводятся к тому, что сначала переводишь предложение на русский. Так зачем делать двойную работу?
Как в 2016 году белые люди парсят HTML с помощью C#? Знаю про Html Agility Pack, но он с 2014 года вроде как не развивается. Еще знаю что можно парсить как обычный стринг с помощью класса Regex, но предполагаю что есть способ проще и удобнее.
>>619978 >всё строится на знании паттернов и фреймворков На самом деле всё строится на фреймворках, т.к. паттерны - вещь весьма условная.
>>620280 >Html Agility Pack, но он с 2014 года вроде как не развивается А чему там развиваться? Всё есть, парсит нормально. Особенно если хорошо понимаешь суть XPath запросов.
>>620404 Так бывает. Недавно по случаю декомпилил одну прогу и просто охуел от названий объектов. Ещё больше доставила попытка авторов сделать поддержку англоязычных ресурсов приложения - я даже не представляю чем они переводили с русского, может Промптом каким-то года эдак 1998-го.
Посоветуйте образовательный контент про EF 7 Code First(UWP, SQLite). Getting Started из документации прочитал и повторить штуки из него смогу, но там как-то всё совсем просто. Я не верю что им так просто пользоваться.
Шарпаны, как асинхронно читать из дерева? Вот есть один поток, он заносит элементы в дерево (файловая структура), уведомляет с каждой новой нодой другой тред, который этот элемент читает и записывает куда-то. Пока есть только идея лепить каждой ноде имя, и второй тред будет искать ноду с этим именем, но это выглядит громоздко.
>>620404 Котаны, что по-вашему значит >мочь в английский?
Достаточно читать-переводить, половину слов подсматривая в переводчике при постоянной практике незнакомых слов становится всё меньше и меньше, по себе знаю, или нужно 24/7 думать на английском?
Посоветуйте какой-нибудь крутой способ почистить строчку от escape символов и пробелов. Про String.Replace и String.Trim знаю, но это как-то слишком просто и вообще какой-то костыль ебаный.
>>620886 >У мала есть апи же, оче хочется попарсить хтмл? Официальный API и Atarashii api не отдают favorites из профиля пользователя. Приходится пердолить свой велосипед.
Сап зк, есть один код: List<string> newFiles = sale.Images.Where(a => !oldFiles.Any(x => x == a.Image.SourceUrl.Split('/').Last())).ToList(); У oldFiles тип List<string> У Images тип List<ImageContainer> ImageContainer самописный класс, содержит поле Image, которое в свою очередь содержит поле SourceUrl. Конпелятор ругается на то, что не может преобразовать List<ImageContainer> в List<string>. Это конечно логично, однако я нихуя не знаю, как можно решить эту проблему.
>>620892 Я не совсем понимаю проблему по одной строчке и, возможно, я напишу бесполезную хуйню, но для преобразования данных можно использовать LINQ метод Select. Мб тебе это как-то поможет.
>>620892 Ну так ясен хуй, ты собираешь новый List<ImageContainer>, а хочешь видеть List<string> как итог. Что у тебя в этом newFiles должно быть? Строки? Тогда добавь к своей конструкции .Select(y => некая строка).
Анон, смотри чему я хочу научится. Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение. Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
>>620958 Случайная сажа Анон, смотри чему я хочу научится. Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение. Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
>>621276 Ты аутист или просто залётный дебил? .NET третий по популярности после Java и джаваскрипта, Java популярна среди молодных пока еще только из-за андроида, в сфере enterprise .net на пятки наступает джаве. В таких странах как РБ на .NET вакансий больше, чем для любых других ЯП + экосистема (руби, аутистопердон, плюсы и др.), кроме джавы и джаваскрипта. > jobs.tut.by > Ruby Найдено 48 вакансий > Python Найдено 90 вакансий > Java Найдено 189 вакансий > .net Найдено 123 вакансии
>>620862 Я бы сказал - что-то посередине. "Мочь в английский" в контексте, уместном в этом треде, - это уметь свободно, без словаря, читать технические тексты, в т. ч. MSDN. Учитывая, что эти тексты переполнены международной лексикой и большинство профессиональных терминов выглядят по-русски и по-английски одинаково, высокого уровня английского не требуется. Для чтения худлита, например, обычно требуется существенно более высокий уровень, для способности свободно без словаря поддерживать устную беседу - тоже. Хотя для программиста способность поддерживать беседу на английском может и пригодиться для общения с зарубежными заказчиками. Но это уже необязательно, а вот без способности читать учебники и техническую документацию, по-моему, не обойтись.
>>621302 Да, про PHP забыл, я еще С++ не включил, на который тоже меньше вакансий, чем на .net. Мой посыл был не в этом, это я так, тут большая погрешность при таком счёте, там же просто поиск по ключевым словам, просто я хотел ответить этому дауну залётному, что кто бы кукарекал, если на .net нет вакансий, то что уже говорить о других языках и платформах. На .net полно вакансий, лол, на такие языки как скала, хачкель, эрланг, кложа, вообще нет нихуя, так же как и на груви, луа, GOвно и проч. Мой друг свалил 1 год назад из РБ в Канаду, в Торонто живёт, тоже .net-чик, работу нашёл в каком-то стартапе меньше чем за месяц, .net + js, плюс дотнет очень популярен как enterprise платформа в UK например. Да и я сам считаю C# одним из лучших языков и .net/mono как очень хорошие платформы, мне их хватает для всего практически. Нужен кросплатформенный софт - mono, нужна быстрота - я скомпилю с .net native, хочется для мобилы запилить что-то - я запилю под винфон, хочется для ведра или ios - я возьму ксамарин, либо запилю на phonegap, веб - asp vnext, либо mono+nancy, да любую хуйню вооще можно сделать, любые сервисы, любые вычисления в облаках. Я перебробовал много языков и платформ, долго уже работаю, мне .net-а и js-a вообще для всего хватает, из последнего мне разве что раст понравился, подающий надежды язык, можно лет через 5 из него что-то серьёзное выгорит. >>621477 Дрочи 1С, кто тебе мешает? Работу всегда найдёшь (ближайшие лет 5-6 точно). Искренне желаю тебе удачи. Только сделай мне одно маленькое одолжение - съеби из треда и скрой его у себя. >>621305 Кароче, .NET говно, он мёртв уже, полон архитектурных ошибок и хуёво протещен, только долбоёбы им пользуются, вообще это высер злобного майкрософта, которые хотят всем жизнь испоганить и больше ничего, всё-таки империя зла хули, тебе точно он не нужен, просто поверь мне. А теперь съеби.
Боковое меню с пунктами, к каждому из которых есть выпадающие подменю, находится в лэйауте страницы. Когда кликаешь на подменю открывается новая страница с дефолтным лэйаутом, то есть все подменю закрыты. Можно как-то прописать в одном месте для таких-то страниц должно быть открыто такое подменю, не прописывая скрипт на каждой станице.
>>620862 >или нужно 24/7 думать на английском? Нет, такого не нужно. За исключением случаев работы в иностранной компании, там умение свободно говорить может дать очень сильные бонусы. В остальном достаточно уметь читать MSDN и SO без машинного перевода - это уже 90% инфы по дотнету. Хорошо бы ещё уметь правильно составлять правильные запросы в гугле на английском, тогда инфа будет искаться ещё быстрее.
>>621477 >1с Ничего не имею против вакансий, но сам язык до ужаса блевотный. Сами продукты тоже не доставляют ни разу.
>>621622 >Да и я сам считаю C# одним из лучших языков Поддвачну. Дело даже не в каких-то там фичах языка, а в избыточной и удобной документации, а также офигенно удобной IDE. Я вот временами пытаюсь писать на C/C++ под *nix, т.к. считаю, что их тоже знать нужно. Но очень часто подвисаю из-за проблем с поиском ответов на вопросы. Плюс там традиционные библиотекопроблемы. Это скачай, то скомпиль, а тут версию другую надо - короче, очень много мороки.
>>621855 А что делает скрипт? Короче, подразумевая, что ты рендеришь разметку через Razor на сервере, берёшь своё боковое меню и выносишь его в отдельный компонент (в MVC 5 для этого создаёшь экшен с атрибутом [ChildActionOnly] для логики + добавляешь паршиал для представления, в MVC 6 есть ViewComponent). Внутри экшена динамически генерируешь вьюмодель со списком всех пунктов меню, у вьюмодели пункта меню будет текст меню и булево свойство IsActive, которое и будет отвечать за то, выбран ли данный пункт меню или нет. Можешь определять заселекщен ли определённый пункт меню следующим образом: парсишь URL запроса и по выдранному из него сегменту ставишь IsActive в true нужному пункту меню. Внутри паршиала пункту меню у которого IsActive == true добавляешь какой-то CSS-класс типа .active, чтобы на UI-е он отображался как активный и всё.
У вас есть две секунды чтобы насрать мне в рот пояснить стоит ли вкатываться в C# и ASP.NET/Windows Phone/формочки для того, чтобы фрилансить и пойти на удалёнку работать. Пока копчу жабу по Эккелю, сам нуфаг.
>>622267 Мёртв в плане работы? Ходят слухи что жабу пидорнут в угоду ГО и жаба срочно поедет вниз, а пилить тырпрайз офисный я не хочу (и так ASP.NET популярнее в разы Спринга).
Выручай анон, я опять вкатываюсь со своим говном. newFiles = sale.Images.Where(a => oldFiles.Any(x => x != a.Image.SourceUrl.Split('/').Last())).Select(y => y.Image.SourceUrl).ToList(); Вот тут >>620892 описал, что где. В общем Image.SourceUrl иногда может быть равен null. Тогда вместо него следует брать Image.NormalUrl. Как такое реализовать в этой конструкции? И подскажите, что почитать, чтобы разобраться в этих лямбдах и linq.
Алсо отучайся городить такие запросы, лучше разбей на несколько меньших. Иначе через неделю уже забудешь что этот запрос делает.
>И подскажите, что почитать, чтобы разобраться в этих лямбдах и linq Только практика. Придумывай изъёбистые запросы, пытайся сделать. Иначе никак. Чтение поможет лишь частично.
Что такое .NET, ASP, ASP.NET? //в вики слишком абстрактно написано ".NET это общая платформа, включающая ASP.NET, а ASP это мощный инструмент для WWW" Для чего нужны? Чем они отличаются?
Что из этого учить, если я хочу в веб программирование? Нужно ли начинать с общих азов C# и чем эти азы ограничиваются? Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#? Какую литературу и в каком порядке посоветуете, в данной области?
Вводные данные: 28 лет, холост. 10 лет назад быдлокодил на ActionScript 1.0 библиотеки для GUI по справочнику СИ (поехавший). Потом перешел на тяжелые наркотики и занялся веб-дизайном. Могу в HTML, CSS, немного SQL. Сейчас одумался, поступил в универ, учу матан и паскаль.
>>622292 .NET - общее название платформы. Это и семейство языков, и различные либы, и технологии.
ASP.NET - технология .NET, которая позволяет нам мочь в www. Это целый комплекс всего того, что может понадобиться в данном процессе: веб, БД, ОРМ и прочая сетевая байда.
>Что из этого учить, если я хочу в веб программирование? APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом.
>Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#? Можно. Но будет тяжеловато. Придётся подолгу ковырять хэлп, если совсем ничего не знаешь. Но в сети полно туториалов, при желании разберёшься.
>Вводные данные: 28 лет, холост. 10 лет назад быдлокодил Ты это я, лол лет шесть назад. Всё получится, C# очень ненапряжный в этом плане.
>>622393 Для запросов, которые могут быть выражены и в query, и в method syntax, субъективно, больше нравится method. Но иногда он в принципе единственный вариант.
>>622299 >APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом. Анон может в годные советы. Только вот перед этим списком я бы ознакомился с основными конструкциями языка(всякие там циклы, ветвления, лямбды и тд).
Это же небезопасно хранить айдишники записей в хидден инпутах на странице? Ведь их можно запросто отредактировать и изменять в базе совершенно другие записи. Получается нужно каждый раз делать проверки достаточно ли прав у пользователя делать изменения для этого айди? Как-то муторно выглядит
>>622659 Можешь привести типовой пример задачи, которая решается с помощью wcf web service? Что эта штука может сделать чего не может web api какой-нибудь? Или она исключительно для интероперабельности с другими .net приложениями используется?
>>622299 спасибо за развернутый ответ. Интересно, в какой компании и кем сейчас работаешь? У тебя сейчас есть машина/квартира/жена? Живешь в РФ или тракторист?
Я тут C# решил подучить после Java. Чего такого можно реализовать строк на 500-1000 кода? Желательно, чтобы это было интересно и не нудно. Сразу скажу, что мой максимум пока на Java - это где-то 3500 строк кода для одного проекта. Хочется чего-то кроссплатфоменного и прикладного.
>>622919 >Дуплекс сервис ты на нем уже не напишешь. Зачем это вебу нужно когда можно вебсокетами реализовать дуплексный обмен данными? Это типа чтобы я мог с какого-нибудь десктоп-приложения типа WPF подрубиться к какой-то части веб-сервера по TCP, например?
>>622971 Web Sockets - это протокол, а Wcf - фреймворк, на котором пишутся в том числе и web sockets сервисы. И да, полно случаев, когда дуплексный сервис должен использовать определенный протокол.
Херня какая-то По неизвестной причине не работает запрос написанный с помощью linq в программе, не выдает никаких результатов Продебажил, увидел какой запрос генерит EF скопипастил в менеджмент студию ВСЕ РАБОТАЕТ НОРМАЛЬНО, но из программы отказывается работать.
>>623185 И когда я убираю условие сравнения с датой, выдает все данные. Наверное с датой проблемы, но почему тогда в студии все ок, я подставил те же данные что и ef подставляет, в дебагере они тоже есть.
>>623185 Может ты код уже кинешь, долбоёб? Или мы гадать должны? На что ты вообще рассчитываешь с вопросом типа "у меня ничего не работает. Что делать?".
Все равно бы в моем говнокоде никто разбираться бы не стал А ошибка была вообще джаваскрипте Месяц в дате там должен быть сначала а потом дата, а у меня наоборот было.
Ку, ребят. Кто со мной будет изучать C# (читается как си шарп) ? Я уже изучил немного этот язык программирования и даже написал однопоточную DDos систему.( которая нихрена не дудосила, т.к. 1 поток ) Для чего, как и зачем я объясню в ЛС, но скажу одно, что мне нужно в команду 2-3 человека(с учетом меня). Хакерский клан и все такое. Возраст не важен. P.S. Пишу с телефона, поэтому не очень удобно, приеду домой напишу подробнее в комменты.
анон, меня уже коробить, плз, подскажи: Необходимо сравнить два вектора одинаковой длины, выводить сообщение в том случае, если каждый элемент одного вектора был больше или равен соответсвующего элемента другого вектора и хотя бы один был строго больше. [CODE] static void Comparer(int[,] fArr, int[,] sArr) { int[] v1 = new int[8]; int v2=0; int[] v3 = new int[8]; for(int i = 0; i < 5; i++) { for(int j = 0; j < 5; j++) { if(i != j) { for(int k = 0; k < 8; k++) { if(fArr[i,k]>=sArr[j,k]) { v1[k] = 1; } if(fArr[i, k] > sArr[j, k]) { v2 = 1; } } if(sum(v1) == 8 && v2 == 1) { Console.WriteLine("Удаляется решение №{0}", j); } } } } }[/CODE]
Помогите ньюфагу, говном не кидать. В чём разница замещения метода(new) и переопределения(override), в гугле был, на мсдне был, как что делать, как использовать, когда применять, всё есть, а в чём по итогу разница понять не могу.
>>623793 Инстанс класса - это reference type, угадай как он передается. То что у тебя там ref Bitard написано - это значит что ты можешь в методе сделать b = new Bitard() и вот тогда у тебя downgrade1 поменяет саму ссылку прямо в b1. Ты конечно можешь и в downgrade2 так написать, и в пределах метода у тебя будет новый объект, но как только метод закончится - это новый объект пойдет нахуй, а b2 останется ссылкой на тот же кусок памятикак будто в шарпе всем не похуй на куски памяти. А насчет полей объекта - они меняются всегда, у тебя же ссылка на объект передалась. Почитай про value types и reference type в рихтере например.
>>623798 >но как только метод закончится - это новый объект пойдет нахуй после плюсов дико звучит. надеюсь имеется ввиду что умный сборщик мусора все позже разрулит.
Перекатываю легаси-говно на новую СУБД, соответственно нужно перенести данные из одной базы в другую. Пытался делать селект к старой базе, получать DataTable, и проходиться в цикле по ее строкам, делая инсерты в новую базу. Но на больших таблицах (500 мегабайт и больше) я ловлю OutOfMemoryException. Использовать LIMIT не вариант, в анальном FOXPRO его попросту нет. Щито делать?
>>623904 Так зачем мне ему задавать Width если он должен сам задаваться. Первый грид получает ширину в зависимости от контента. И имеет ограничитель в MaxWidth = 500;
>>623904 Да, по сути у него ширина не определена, но она же есть. При запуске я вижу грид, который определил свою ширину от ширины контента, и ограничил её по проперти maxwidth. Но почему я блядь не могу её получить? У него же есть ширина, он же блядь не бог, которого не существует, алё!
Аноны, ещё вопрос, есть ЛистВью. Который биндится ItemsSource="{Binding}" ItemTemplate="{StaticResource ImageTextListTemplate }" Соответственно в ресурсах страницы определён DataTamplate. Так вот, Сам листвью лежит в гриде, и всё пашет. Но когда я определяю в гриде колонку, и указываю в листвью Grid.Column ="0" то при запуске листвью куда то съёбывает, или контент его, я не ебу. Подскажите где я обосрался? <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions>
>>623910 Width и height это именно заданная ширина и высота, если ты ее вручную не задавал, то она всегда 0. >>623915 Показывай весь xaml, а то так не понятно нихрена.
>>623890 Сам спросил, сам ответил. Нужно было использовать DbDataReader для потокового чтения. >>623921 Какой бампц на полудохлой борде-то? Не вижу я что там не так, надо танцевать с бубном. У тебя вообще в нем перестают записи отображаться или отображаются, но как будто без темплейта либо пустые?
Есть вопрос по MVC. Обычная структура в проекте - папка контроллеров, папка моделей, папка вьюх. Это прекрасно, но у меня на проекте куча-куча страниц, которые не юзают модели повторно. Т.е. один контроллер работает с одной моделью и одной-двумя вьюхами (которые другие контроллеры не юзают). Собственно, не было бы ли лучше размещать все для каждой странице вьюху, модель и контроллер в одной папке? Кто-то так делает?
>>624264 Да и ещё у тебя контроллеры в принципе должны зависеть только от вьюмоделей и моделей (здесь модель – это класс ОРМ), а все классы ОРМ должны быть вынесены в другую сборку, то есть по сути у тебя контроллеры должны зависеть только от своих же вьюмоделей, а вьюмодели переиспользовать не получается в 99% случаев, не знаю зачем я это написал.
Анон, скажи, а что там с кроссплатформой? Я слышал в начале года новость, что скоро выйдет на линупс и макось, все дела. Когда? А то джава на работе конкретно заебала, хочу начальство подгребсти к переписке бэкенда с джавы на шарп.
>>622299 Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)? Почему даже у нас в мухосрани 300к людей можно устроиться рубино-рельсовой макакой, а про ASP.NET даже и не знают. Чем эти опенсорнсые рельсовые поделки с кучей багов, с отсутствующей обратной поддержкой верстй, написанные на ИНТУИТИВНО ПОНЯТНОМ ЯЗЫКЕ с кол-вом необязательных элементов синтаксиса большим чем обязательных, лучше дотнетовской фичи? Если честно у меня никогда такого адского бугурта от кол-ва багов, ошибок, костылей не было, как от изучения Rails.
>>624391 Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс: нельзя захостить сайт за 2 рубля где угодно. Хороший хостинг с масштабированием это ажура, а там нужно много денег платить. К тому что базу данных ты скорее всего будешь использовать MSSQL Server, а она вроде тоже не бесплатная.
>>613441 (OP) ШОК СЕНСАЦИЯ!! В VS2015 вшит майнер? VS2015 community сегодня ВНЕЗАПНО стал жрать ресурсы во время простоя. Процесс devenv.exe *32 из рабочей папки грузит проц на 5-20%, постоянно горит красная лампочка на системнике и шумит HDD, что бесит и отвлекает. При удалении файла VS2015 ругается на его отсутствие и не запускается. Сегодня ровно месяц, как я установил комьюнити версию и зарегал на фейкомыльце. Совпадение? Мелкомягкие пидарасы специально это сделали?
>>613441 (OP) >Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии. Уважаемые элитные разработчики, как ограничить максимальный размер элемента массива int[] arr, чтобы он был не больше X?
завал по коду пиздец, 1го дедлайн кроме этого еще говнокодить нужно тысячу строк. я хотел воспользоваться json2csharp но почему то говорит неправильный формат
>>625015 Студия без решарпера совсем печальной кажется, а с последней студией решарпер уж слишком тормозить начал, вплоть до неюзабельности. Для консольных проектов, либ и веба будет самое то, а для всего остального будет студия.
>>625022 Хуй знает, что там у тебя тормозит, но у меня нихуя не тормозит, даже намёка на тормоза нету, что дома, что на работе студия + решарпер. Купят говноноут за 300$ и потом кукарекают, что что-то тормозит.
Хотел бы совета как можно реализовать веб-сервис. Суть сервиса: При запуске сервиса загружаем файлы с диска, получаем таким образом некие данные. При запросе к сервису отдаём запрашиваемую часть этих данных. В случае если бы данные вытаскивались при каждом запросе из бд понятно, а вот вариант с хранением в "оперативке" не могу понять.
Такой вопрос. Касательно асинхронности и вот этого всего. На примере async механизма.
Допустим у нас есть GUI приложение, в нем есть некий асинхронный код написанный через async/await. Как всюду пишется, этот код не будет создавать дополнительных потоков, а будет выполнятся в потоке UI. В UI потоке есть синхронизатионконтекс, в котором есть очередь сообщений.
Итак. 1) Начинает выполнятся какоя-то IO. 2) Пока она выполняется UI поток спокойно себе обрабатывает сообщения. 3) IO операция закончила выполнятся, и в синхронизайшонконтекст UI потока помещается\ через Post сообщение с ссылкой на код который нужно выполнить после окончания IO операции. 4) UI поток извлекает это сообщение из очереди и код выполняется. 5) Профит.
Теперь внимательно на пункт 3. >в синхронизайшонконтекст UI потока помещается\ через Post сообщение с ссылкой на код который нужно выполнить после окончания IO операции.
То есть нечто, после завершения IO операции, вызывает метод Post в объекте синхронизатионконеткст и выполняет код этого метода, помещающий сообщение в очередь. Вопрос, что именно выполняет этот код по помещению сообщения в очередь, и по генерации этого сообщения? Какой-то особенный поток? Или поток из ThreadPool ?
>>625362 пришёл домой, проверил ещё раз метод... всё в порядке. на другой машине, где писал код, через for мне всегда возвращался 0. очень странно, конечно. полного кода под рукой нету, поэтому тщательнее протестировать сегодня не смогу
Где почитать про аутентификация и авторизацию в ASP NET MVC? Когда проект в VS создаешь, там уже много чего написано по этому поводу, но я не понимаю что к чему.
Суп шарпаны, получил домашку короче, взять любую веб-страницу из интернетов, распарсить ее и на основе полученных данных построить дерево ссылок. Накидайте гадйов о том как страницы парсить, а то меня чет гугл забанил и не находит ничего толком.
>>625547 У тут проблема - кодировка наебывается и все русские буквы в кракозябры превращаются. Если вместо WebClient использовать HttpWebRequest, проблема не решится?
>>625654 Да мне там всего две строчки вырвать и все, на остальной текст можно смело забить хуй. Проблема в том что не у каждой ссылки есть тайтл, и вместо тайтла там просто текст между тэгами. Думаю как с этим справится.
Сап, шарпаны. Знаю, что NYPA, но нужен внятный пример по использованию web service при наличии wsdl. В принципе, msdn мне все пояснил, но разрабы нужного мне сервиса, похоже, малость упороты (ну или это я упорот и ничего не понял). В общем, сервис использует soap 1.1 и https, а на msdn гайд по wcf, в котором по дефолту soap 1.2, и если делать по этому гайду, то упираюсь в несоответствие версий протокола. А если использовать BasicHttpBinding, то, похоже, не проходит авторизация, ибо получаю exception вида "Запрос HTTP запрещен для схемы аутентификации клиентов "Basic" (сервер возвращает 403).
>>625825 Можешь расписать мне, мудаку, порядок действий по шагам? Неважно каким путем генерировать конфиг, через студию или через wsdl.exe, лишь бы работало. Вообще, заметил странную вещь. В документации к сервису указан endpoint http://rmis-test.i-novus.ru/patients-ws/patient . Однако, когда через студию добавляю ServiceReference, в конфиге обнаруживаю https://develop.r-mis.ru/patients-ws/patient (а сам сервис при попытке открытия в браузере редиректит на https версию).
>>625960 >другой адрес Ну они сгенерированную wsdl у себя не поменяли, это сути то не меняет, просто в своем клиенте указываешь нужный адрес. Ты в студии как добавляешь? Я обычно Add Service Reference -> Advanced -> Add Web Reference. На твоем сервисе пароли, так что нельзя просто взять и попробовать.
>>625988 Да как только не пробовал. Все, что мне нужно, это вменяемый рабочий пример доступа к методам любого сервиса с авторизацией по логину и паролю, дальше я сам. Сам я больше по крестам, поэтому выбрал шарп в надежде быстро набросать клиент. Раньше не приходилось сталкиваться с подобным, и уже просто крыша едет.
>>626033 Ну хорошо, добавь web reference, создай этот сгенереный клиент/прокси, Url ему укажи правильный и Credentials - создай NetworkCredential. Ошибки?
>>626064 хотел годных советов от гуру, в итоге наткнулся на петуха с принципом ЗНАЮ НО НИСКАЖУ И АБАСРУ. ты же типичный выблядок, просто уйди если не можешь помочь.
>>626084 Пиздец ты мудень) видел же ошибку, тебе что, сложно было сказать что я делаю не так?) нахуя ты вообще сюда заходишь?
Спасибо, пидорасы, разобрался сам тред скатился, раньше няши помогали несмотря на мой аутизм, сейчас одни хуесосы непонятно зачем тешатся над теми, которые немного не догоняют и не видят ошибок
>игнорировать перекрестные ссылки и исключать повторяющиеся адреса Кто нибудь может дать внятное описание перекрестной ссылки и как они вообще выглядят?
>>622878 >кем сейчас работаешь? Программистом, лол. Есть основная работа, чтобы не расслабляться и рано вставать я - ленивая скотина, да, есть вагон других халтур.
>У тебя сейчас есть машина/квартира/жена? Жена, двое детей. Остальные материальные блага в наличии хотя я не считаю их сильно важными, ибо, как выяснилось, жизнь полна сюрпризов
>Живешь в РФ или тракторист? РФ.
>>624391 >Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)? Затрудняюсь ответить. Может это просто у тебя такая местная конъюнктура? В дотнете работу можно, по-моему, всегда найти. Там же не только всё в ASP.NET упирается. Работы дохуя на самом деле. Я вот в своё время хотел быть дохуя программистом на чистом С и до сих пор хочу, но там либо порог вхождения просто нереально высокий, либо зарплата выглядит как плевок в лицо. Вот с этим языком да, есть проблемы. Но ничего подобного с С# я не встречал уже года 3 как.
>>624401 >Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс Твоё предположение неверно. Всё хостится просто волшебно практически на любом дистре линукса, даже на ссаном ЦентОСе. И работает как часы. Хостеров, включая поддержку самых экзотических решений, хоть жопой жуй. А уж если у тебя как у белого человека дедик, то и проблем в принципе не будет.
Аноны, нужно доделать лабу по-быстрому. Одна маленькая загвоздка - как в шарпе взять часть массива? Например, массив, начиная с 5-го элемента. Аналогично сишному &arr[5] и питоньему arr[5:].
>>626533 >Аноны, нужно доделать лабу по-быстрому. Одна маленькая загвоздка - как в шарпе взять часть массива? Например, массив, начиная с 5-го элемента. Аналогично сишному &arr[5] и питоньему arr[5:].
Почему ты не гуглишь, мань? Первая ссылка в гугле. Спрашивай если НАШЁЛ ОТВЕТ на свой вопрос только на пакистанском языке
Анончики, не интересовался темой некоторой время. Раньше было всё просто и понятно - вот .NET Framework с кучей функционала, вот с C#. Пишешь на C#, компилишь в байткод, высылаешь клиенту/пользователю. Он ставит требуемый .NET Framework и запускает твоё приложение.
Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути.
Алсо по гуглингу .NET Core который анон выше называет живым и развивающимся, выдаёт полумёртвый репозиторий с двухмесячными коммитами https://github.com/dotnet/core
Анон, поясни кратко и понятно, что изменится для разработчика и пользователя в среднесрочной перспективе? Microsoft выпустит кроссплатформенный .NET Framework?
> Он ставит требуемый .NET Framework и запускает твоё приложение. Это было раньше, сейчас в 99% случаев ничего ставить не нужно, последние версии дотнета поставляются вместе с системой. > Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути. По сути, для тебя абсолютно ничего не изменится, а для остальных (не винюзеров, например), откроются новые возможности. Ты будешь писать код как и раньше.
>>626604 Ну он просил взять часть массива, я дал специальный сахарок, который умеет так делать. Но это не нужно, да. Быстрее всего через for забрать нужные элементы.
>>626641 Полагаю, потому что системное API достаточно хорошо оптимизировано для копирования кусков памяти. Не уверен, если что, буду рад если кто поумнее меня пояснит. Вот простенький тест сделал. Первый = debug, второй = release
>>626653 Там вообще достаточно много странных вещей, например
For double buffers on 32-bit machines only: The explicit loop copy routine is better than both alternatives for all buffer sizes tested up to 100k. The improvement is 3-5% better than the other methods. This is because the performance of Array.Copy() and Buffer.BlockCopy() become totally degraded upon passing the native 32-bit width. Thus I assume the same effect would apply to long buffers as well.
Я вообще в большинстве случаев использую ArraySegment, ибо он вообще ничего не копирует, а просто является wrapperом над исходным массивом.
Вечер в транслятор, пацаны. Встал вопрос о дизайне структуры данных, пришел спросить советов мудрых. Суть такова: Нужно хранить множество последовательностей, элементами которых могут быть как некоторые элементы типа T, так и предикаты типа Predicate<T>. То есть если типом T является, например, char, то последовательность может иметь вид { 'A', char.IsDigit, 'B', char.IsLower }. С внутренним устройством все понятно, там элементарное Trie. Вопрос в том как нормально принимать такие последовательности в метод Add, так чтоб не было ебли с типами. Рассматривал вариант с билдером у которого перегружено 2 метода для добавления очередного символа, но это выглядит довольно костыльно. Подскажи ньюфагу, анон. С меня как всегда.
>>626661 Да. В хранимых последовательностях обычные элементы и предикаты над ними могут присутствовать одновременно. Иначе бы никакой проблемы и не было. Пример с последовательностью { 'A', char.IsDigit, 'B', char.IsLower } абсолютно реален.
>>626659 Ну ты можешь базовый враппер написать для своих значений и хранить его в коллекции, что ты правда с этими коллекциями потом делать будешь - не известно.
>>626598 1. Так, а появится ли возможность распространять своё приложение в нативном бинарнике, а не в виде байт-кодов?
2. Можно ли будет создавать реально мультиплатформенное приложение?
>последние версии дотнета поставляются вместе с системой. 3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?
4. И наконец: WPF скорее жив или мёртв? Стоит ли делать на него ставку и тратить несколько ~месяцев на изучение чтобы писать приложения с богатым гуём?
Анон, помоги мне еще с моим говнокодом. Каждый раз когда я закачиваю страницу появляется хуйня как на втором и третьем крине. Что поменять что бы оно изначально игнарировало ебучие about: которые мне потом приходится удалять из ссылок и куки загрузить не пыталось?
>>626672 Так это же костыль. Плюс тупой пользователь может напихать в эти обджекты любого говна, а не только T и Predicate<T>. Я от такого подхода и хочу избавиться как-то.
>>626828 В GLR парсере для хранения продукций. Все продукции хранятся в trie, парсер просматривает вершину текущего стека на предмет совпадения с одной из продукций и сворачивает в нужный нетерминал. Предикаты нужны для того чтобы можно было задать продукцию вида s ➜ unicode range 5 + s2 вместо того чтобы добавлять тысячи продукций для каждого символа или вставлять сканер как еще один этап перед непосредственным парсингом.
>>626850 Я так понимаю, что он имеет ввиду UI, ты прямо в функции Parse добавляешь элементы в ListBox, вместо того, чтобы, например, передать Func<string> и вывзывать эту функции для каждого урла
>>626850 Да, я наверное неясно выразился. Под интерфейсом в данном случае я имел ввиду GUI. Всяко лучше сделать public static void Parse(string Url, Action<YOBA> yobaFound) чем public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
>>626855 >>626856 Мне этот листбокс нахуй потом не нужен будет, просто для визуализации поставил его, что бы в дебаге каждый раз не лазить и не смотреть там что же мои регулярки для меня вытащили.
>>626843 Пишу в утонувший тред Зачем колбэки, если можно просто вернуть значение. Колбэки имют смысл если код асинхронный, но ведь await завезли. Самое близкое к колбэкам - это события, если эти колбэки вызываются несколько раз для вызова этой функции. Но в данном случае это не будет, т.к. parse просто вернет то, что распарсил ну или null.
Ананасы, поясните мне за маршалинг на шарпах. Цепляюсь я, значит, к dll-ке, собранной на c++. Импортирую функции оттуда, и периодически вызываю их в своем приложении. Так вот, иногда надо получить огромный (12e6) элементов массив byte, все, в общем-то работает. Но вот вопрос в том, каким образом все это работает. Я, насколько понимаю, маршал сначала копирует мой массив в выделенную свою помять, потом передает указатель на нее вызываемой функции, после того, как выполнение окончено, выделенная маршаловская память записывается в исходный (созданный мной) буфер. Так это получается, что кроме операций, выполняемых вызываемой функцией, процессорное время выделяется еще и на копирование тудой - сюдой, а это пиздец. Есть способы решить эту проблему, не прибегая к unsafe-контексту.
господа, есть ли компилятор для с# на флешку? Т.е. portable, ибо возможности поставить нормальный вс нет, а интернет подключения там ждать не приходится
Рад приветствовать, господа. Решил я тут написать простенький конечный автомат для кодового замка. И передо мной встал вопрос что использовать в качестве алфавита. Например, в Haskell я бы сделал что то типа. data LockCode = Code Int | Abort | CheckCode А для шарпа ничего не могу придумать, подскажите.
Пишу клиент для почты, принимаю сообщения через openpop.net(http://hpop.sourceforge.net/examples.php), например с pop3.yandex.ru, запихиваю всё в List<OpenPop.Mime.Message>, но в большей части сообщений у меня вместо поля allMessages.MessagePart.MessageParts стоят значения null даже если в сообщении есть текст.
public List<OpenPop.Mime.Message> pop3Connekt(string user_name, string user_password, string host, int port) {
Pop3Client pop3 = new Pop3Client(); pop3.Connect(host, port, true); pop3.Authenticate(user_name, user_password); count = pop3.GetMessageCount(); List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(count); for (int i = count; i > 0; i--) { allMessages.Add(pop3.GetMessage(i));
} pop3.Disconnect(); return allMessages; }
List<OpenPop.Mime.Message> allMessages = pop3Connekt(user_name, user_password,host,port); MessagePart[] Body = new MessagePart[count]; string[] Textmess = new string[count];
for (int i = 0; i < count; i++) { Body = allMessages.FindFirstPlainTextVersion(); if (Body != null) { Textmess = Body.GetBodyAsText(); } }
>>613441 (OP) Добрый день. Есть Одна Программа. Сервер/клиент, один другому шлёт данные в виде JSON строки и хранит в объекте класса. Пытаюсь реализовать вывод полученных данных в ListView, но возникают проблемы с вызовом изменения ListView объекта из асинхронного метода прослушивания сокета, так как надо дописывать список только после получения порции новой инфы. не могли бы подсказать нюфажику, как организовать динамическое заполнение/обновление списка? Буду благодарен любым советам, примерам~
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Скачать VS2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx
Community версии будет достаточно в большинстве случаев: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Что почитать:
- Bart De Smet - C# 5.0 Unleashed
- 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://goo.gl/meyyxO
- https://nnm-club.me/forum/viewtopic.php?t=891636 - коллекция видеоуроков, по всему дотнетовскому.
Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/
Онлайн-компиляторы:
- http://ideone.com/
- https://dotnetfiddle.net/
- http://csstub.com
- http://www.tutorialspoint.com/compile_csharp_online.php
FAQ
Q: Что с IDE для других систем?
A: Самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ )
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim )
VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими.
Q: Пригоден для C# для мобильной разработки?
A: Да, можно выбрать в окне выбора компонентов студии при установке VS
Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL
Обзор 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
Код этой шапки: http://pastebin.com/raw/mUAJ6Ugz
Прошлый тред тонет здесь: https://2ch.hk/pr/res/595397.html