Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.ВСЯ ЛИТЕРАТУРА ВТОРЫМ ПОСТОМBreaking news: Microsoft купила Xamarin, JetBrains готовит IDE для шарпа, ведется активная разработка C# 7.0: https://github.com/dotnet/roslyn/issues/21361. Ресурсы:- http://metanit.com/ (на русском)- http://stackoverflow.com/questions/tagged/c%23- http://www.tutorialspoint.com/csharp/- http://professorweb.ru- http://net-informations.com- http://habrahabr.ru/hub/csharp/2. Онлайн-компиляторы:- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.- http://ideone.com/- http://csharppad.com/- http://www.tutorialspoint.com/compile_csharp_online.php- http://rextester.com/l/csharp_online_compiler3. WinForms или WPF?Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?Неправда. C# довольно активно развивается, недавно вышел новый компилятор, шестая версия шарпа, и уже активно разработывается седьмая. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.5. Какую ИДЕ выбрать?Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополненийДля мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.6. С# для мобильной разработкиЕсли нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspxИз актуальной литературы- Xamarin Mobile Application Development- Xamarin Essentials7. Дополнительные инструменты для разработки на C#LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данныхdnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студииdotPeek - бесплатный декомпилятор от JetBrainsscriptcs - для запуска C# кода как скриптов, возможность использовать как REPL8. Расширения для студииReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентовSupercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по нимIndent Guides - показывает вертикальные линии на каждом уровне отступов.Format document on Save - форматирует код каждый раз при сохранении документаCode alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечисленияхОбзор 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/cKKXYArsПрошлый тред тонет здесь: https://2ch.hk/pr/res/651013.html
9. Что почитать?- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.10. Более хардкорный материал- C# in Depth (Jon Skeet) - написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.- Writing High Performance .NET Code (Ben Watson) - охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, чтобы вам перезвонили.- CLR via C# (Jeffrey Richter) - это классика, это знать надо.11. Хочу еще хардкорней- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам12. Литература по WPFИз более-менее актуального можно выделить пару книг:- Pro WPF 4.5 in C# (Matthew MacDonald)- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)13. Литература по ASP.NET- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)- Pro ASP.NET MVC 5 Platform (Adam Freeman)- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)14. Литература по асинхронности, параллелизму и всему такому- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная15. Литература не по шарпу, но так или иначе связанная с языкомC# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под UnityIntroduction to Neural Networks with C# (Jeff Heaton) - изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.Machine Learning Using C# Succinctly (James D. McCaffrey) - довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.16. Но я не знаю английский, как я буду это все читать?На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#"17. Что еще нужно знать, чтобы взяли работать за еду?- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID18. Я не умею читать, что посмотреть?- 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- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
есть ли какой-нибудь толк на сегодняшний день в WPF (Silverlight, о боже ты мой)?внезапно для себя спустя дофига времени решил навалять что-нибудь относительно сурьезное, а нужно ли мне это будет?
Вкатился, обоссал решёткоблядей. Псс-псс.
Есть ли неадекваты, пишущие на немерле? Как дела с интегацией со студией? Есть ли вакансии? хочу язык еще лучше до диеза
>>667747Silverlight мёртв.WPF не мёртв, и на рсдн какой-то инсайдер говорил что над ним ещё даже работают, и что-то там выпустят. Но пока что даже старые баги кажется не фиксят.Но использовать WPF вполне можно.
>>667754можно использовать-то можно, а существуют ли (не древние как говно мамонта, ессессно) серьезные проекты на этом лайне?
>>667747На нем пишут црмки, если нужен сильно кастомный интерфейс, и винформы не справляются.
>>667753Да какие там вакансии, язык совсем уж мертв. Хочешь язык лучше до-диеза - бери фа-диез
>>667767> если нужен хоть сколько-то кастомный интерфейсПофиксил
>>667753> Как дела с интегацией со студией?Терпимо. Подсветка работает, правда обновления об ошибках упорно идут только в Output окно, в error list постоянно какая-то хуйня - единственное что меня бесит. Для тех же wpf проектов мастер и дизайнер студийный (насчёт последнего не уверен на 100%, может если проект слепить вручную, то заработает) не работают. Формы вроде работают, не пробовал.Если не в курсе, немерловцы щас допиливают Нитру, на которой (через год-два-десять) захерачат немерле2 который меньше тормозит при компиляции и с лучшими макросами. Так что сам немерл сейчас в чём-то вроде лимбо, но работать можно - баги фиксят.> Есть ли вакансии?Ну ты ебанулся.
>>667767> винформы не справляютсяэто типа контрольчик выезжает со скоростью, изменяющейся по логарифмической функцией, с левого верхнего угла, переливаясь всеми цветами радуги и проигрывая произведение Сальери?
>>667764visual studio частично.вот не большой проект, но относительно серьёзный https://github.com/RolandPheasant/TailBlazer
>>667778Нет, если тебе нужен адекватный грид, или без трудностей добавить иконку перед каждым элементом в листбокс, или чекбокс, или еще что-то.
>>667783ну не знаю - обьединить пикчабокс и контрол в UserControl-е. ну, это решение уровня raq, но тем не менее
>>667788Ну это все конечно можно имплементировать, но в XAMLе это всего несколько строк кода. Дизайнером хамловским, кстати, уже не пользуюсь наверное полтора года, зависимость есть. Куда быстрее, чем приглядываться к съехавшим пикселям в дизайнере винформ.
Пацы, а если я в цикле хочу насоздавать объектов с именами типа объект_i - как мне это реализовать?Скажите лучше сразу как гуглить, а то что-то не особо пошло.
>>667829Этот статический язык, так делать не надо.
>>667832>>667829Это вообще законно?
>>667829либо T4 шаблоном хуячь (в тексте программы все переменные будут перечислены друг за другом как если бы ты вручную объявлял).А если надо динамическое n то либо никак, либо через кодогенерацию с которой я не знаком и доступ по имени объект_i у тебя не получится а будешь ебаться с AST насколько я понимаю.
>>667832Ладно.Видимо поэтому и не гуглится.
>>667838Чем тебя не устраивают массивы и списки?
>>667829Массивы придумали уже
перекаты перекатчики дубльШарпач, я заебался. Поясни за деплой asp .net: есть vs15 community, есть одностраничный mvc-app. Как дебажить его на IIS Express 10, установленный на компе? При чтении есть жопобольное подозрение, что комьюнити может только в свою локальную IIS, либо azure. В чем боль: есть .x3d шник, добавил хэндлер, добавил mime тип конфиге. Не работает. Взял IIS Ex10, залил в его дефолтный апп свою html с x3d (x3dom юзаю), добавил через конфигуратор IIS нужный .x3d тип и mime его model/x3d+xml. Работает, екарный мамай! И не ебу че терь делать, то ли все сносить перенастраивать, то ли инструмент фришный не канает. В Web public только azure и remote server. IIS нету.
>>667841Хочу заполнить словарь <объект,объект>.
>>667844IEnumerable<T>.ToDictionaryниет?
>>667847А как я тебе этот энумерабл заполню в цикле?Вообще цель задачи чисто чтобы вручную словарь не заполнять просто чтобы некоторые функции словаря потестить и интересовало меня только именование новых объектов в цикле - как сделать по-другому не проблема.
>>667853Enumerable.Range(0, n).ToDictionary( key lambda, value lambda)или у тебя do-while цикл?
>>667853Динамические свойства еще с dynamic можешь делать, наркоман. Но лучше не надо.
>>667857Забей уже на словарь.Суть не в словаре, а в том чтобы создавать именованные по-разному экземпляры в цикле. Мне нравится for, если тебе важно.>>667858Я уже понял, что не надо.
>>667862Нихуя не понятно, ЧТО ты хочешь сделать
>>667862Вот этолько это говно без задач и никто так делать не будет. Даже во всяких неплохо поддерживающих метапрограммирование языках (ну там вроде руби) такое стараются не делать.
>>667869Четвертый раз пишу, что я понял ненужность.>>667867Просто сижу и пробую можно сделать так или этак. Учусь, короче.
>>667872>Просто сижу и пробую можно сделать так или этакВ немерле так можно, с помощью макросов (позволяют перелопачивать твою программу практически как хочешь в о время компиляции). В принципе особо ужасного ничего нет, просто можешь словить переопределение переменных.
>>667872Чем больше раз понимаешь про ненужность тем лучше
У меня еще вопрос уровня архитектуры, пару дней сижу не знаю как лучше сделать.У меня в приложении есть словарь <дэйттайм, объект> - это основной объект в логике, в нем тысячи объектов, он лежит в классе, окруженный своими методамии прочей логикой.И есть еще другие словари <дэйттайм, объект>, представляющие некоторые значения, привязанные к датам, в которых ну допустим всего штук по пять записей, которые заполняются непосредственно в коде явным образом, т.е. заранее известными значениями.Методы основного словаря используют значения из дополнительных там записаны какие-то значения, актуальные на большом временном промежутке, но это не важно.Так вот в чем мой вопрос: В какое место приложения поместить дополнительные словари? Сделать каждому из них класс в котором и методов то не будет? Нахуярить их все в один общий класс? Обращаться к ним через методы класса, в котором они лежат, а сами их сделать приватными? Обращаться напрямую?Где сделать тот кусок кода, который их непосредственно заполняет? В конструктор? В отдельный класс-инициализатор? Просто в мэйн? Сделать метод в том же классе, где словари лежат?Нихуя не понимаю. Столько вариантов и я никак не пойму что лучше.Короче, где принято объявлять словари?
>>667919> Короче, где принято объявлять словари?што> Столько вариантов и я никак не пойму что лучшея бы на твоем месте сделал бы как работало, а потом сам увидишь, как лучше. пшта я нихуя не понял, че тебе надо и что тебе мешает, а обьяснить сам ты, по ходу, и не можешь
>>667923Двачую, чо-то невнятное, словари да словари, хуй поймешь.
>>667919> поместить дополнительные словарив один static класс их положи, назови HuiPizdaDataRepository, например.>какие-то значения ... но это не важноЧто это за значения как раз таки важно. Меняются ли они в рантайме или нет, если меняются то всем ли частям кода стоит разрешать вносить изменения, имеют ли какое-то отношение друг к другу (зависимость, однотипность) и мн. пр.
>>667928А не особо понял что он имел ввиду, но может ему лучше собрать это все как-то в класс со словарем и связанными методами и работь с экземплярами этого класс?>>667919Ты лучше хоть кусок кода на ideone или pastebin залей, чтобы хоть примерно понять чего ты добиваешься
>>667919тебе нужно помнить что каждая эта хуйня это объект, со своими значениями.Тот метод который создает объект завут конструктором.Так вот в него можно напихать объявление словаря(питоноеб чтоле)\хешаесли будет считать что каждый объект уникален, то базывые значение он должен хранить в своем личном хеше. Приватном, и доступ к нему только по акцессорам.
>>667923Што што, мне надо штук пять словарей с заранее известным содержимым для методов основного класса. И я не знаю куда в коде все это запихать чисто арихтектурно чтобы потом не охуевать перекладывать если окажется неудобно. Мне ничего не мешает запихать это все в десять разных мест, в этом и проблема.>>667928>>667934По сути у меня выбор из двух стульев - или захуярить их все в один класс или положить каждый в свой класс. Второй вопрос - где их заполнять: в конструкторах или сделать отдельный класс с методами для заполнения.>Что это за значения как раз таки важно.Все они в ключах имеют даты. Вэлью такие: флоат, структ, делегат.В рантайме не меняются, все статично до одури.
>>667938> Што што, мне надо штук пять словарей с заранее известным содержимым для методов основного класса. И я не знаю куда в коде все это запихать чисто арихтектурно чтобы потом не охуевать перекладывать если окажется неудобно. Мне ничего не мешает запихать это все в десять разных мест, в этом и проблема.Если содержимое заранее известно, то почему не XML какой-то?
>>667939Я только недавно стал разбираться, в хмл почти нихуя не понимаю - даже в голову не приходило.Может что-то покурю в эту сторону, звучит разумно, тащемто.
>>667938от разных классов и разных методов насколько я понимаю ты пока ничего не выигрываешь. Забей, клади в один класс, инициализируй в конструкторе.>>667939Ну в принципе да, сейчас ему самое время напороться на замечательную фичу .NET в лице несериализуемый словарей в BCL. Или ты имеешь ввиду ручками заполнять?
>>667942Там можно в полуавтоматическом режиме в хмл сериализовать если что. Еще как вариант serverless бд какие-то, вроде sqlite, если у тебя связи между этими коллекциями какая-то есть.>>667943Вчера вот словарик сериализировал таким костылемvar writer = new StringWriter(); var c = description.Select(d => new DummyClass { Name = d.Key, Description = d.Value }); XmlSerializer serializer = new XmlSerializer(typeof(List<DummyClass>)); serializer.Serialize(writer, c.ToList()); writer.ToString().Dump();
>>667947Ну так да. А чё не сразу List<KeyValueCollection>?
>>667950>KeyValueCollection*KeyValuePair
>>667947>>667943Теперь мне самое время узнать что такое сериализация потому что я о ней знаю только название. Пойду читать.
>>667950List<KeyValuePair> имеешь ввид, не? Мне нужны были просто свои названия, а не Key и Value
>>667952KVP - структура жы. зачем стек хламить просто потому, что?
>>667955List<int> у тебя тоже стэк хламит? или я не понимаю про что ты
>>667953Да там все просто. Сериализация - это когда ты берешь какой-то экземпляр и сохраняешь его как xml, json или в како-то другом формате файл, который можно где-то хранить. Обратный процесс - десериализация, когда ты из этого xml или json получаешь обратно экземпляр класса.
>>667955А какая в этом случае разница? Тут разве копирование будет? Итератором его мапим один раз и сразу в лист
>>667959Окей.А можешь еще пояснить про использование потоков?Экзам реф по шарпу начинается с материала по потоком и если в синтаксисе все ясно, то когда их нужно применять и зачем для меня весьма туманно.Единственное что я понял - гуй держать в отдельном треде для отзывчивости.Если я делаю десктопное приложение без серверной части мне вообще оно надо для чего-то другого?
>>667960не, я об экономии места в стэке, хотя это не критично, думаю, в данном случае>>667958нет же, лист - это же ссылочный тип, в стеке для него присутствует только адрес в куче. а в случае с kvp в стек копируется сразу же мешок экземпляров
>>667964В многоядерных системах. Когда у тебя 16ядерное говно было бы неплохо чтобы каждое ядро выполняло какую-то работу, а не как пикрелейтед. Поэтому параллелить это хорошо. В сишарпе треды сорт от депрекейтед, все уже давно используют таски. Это по сути такая абстракция над тредами, чтобы с многопоточностью было все проще, легко и на небе радуга.
>>667964> когда их нужно применятькогда у тебя присутствуют долговыполняемые задачи> Если я делаю десктопное приложение без серверной части мне вообще оно надо для чего-то другого?а .NET 4.5 есть жи async/await (аля лайт версия пногопоточности). если есть IO-операции или работа с управляемыми ресурсами, то лучше использовать Async()
>>667970То есть я правильно понимаю, что если я пишу что-то простенькое для учебных целей - мне проще сначала все написать, а потом сверху навернуть многопоточность где покажется уместным, чем заранее сидеть и планировать?>>667971Спасибо.
MyClass instance = null;instance.DoJob();Console.WriteLine("op hui");возможна ли ситуация, когда NullReferenceException не будет выброшен и консолька поведает юзеру истину? )
>>667969>а в случае с kvp в стек копируется сразу же мешок экземпляровНе понимаю где. Мы сравниваем dictionary.Select(new ClassName{...}) (рез-т IEnumerable<ClassName>) c dictionary.ToList() (рез-т List<KeyValuePair<K,V>>) что в первом что во втором случае мы итератором проходит по словарю и больше одного экземпляра KVP за раз в стек не попадает ни там ни там.
>>667981Если инстанс экстеншн-метод вроде бы все норм будет, хотя не помню уже.
>>667983таки истину глаголишь, а я лох(
>>667985s/инстанс/DoJob/
>>667988чочо?
>>667989Ну ты понял
>>667990ёпта, как я должен был это понять?)
>>667981https://ideone.com/XSxqTs
>>667992Как "да, возможна такая ситация"
>>667993public static implicit operator MyClass(Nullable<int> value){ return new MyClass();}а эт зачем?
>>667995чем предлагаешь заменить?
>>667843Ни у кого идей что-ли нет?
>>667998Думаешь тут каждый второй с таким стеком работает?
>>667997удалить КЕМ просто непонятно, когда это будет использовано в данной ситуации?
>>668002это implicit castсработает при присваивании null (или int'а в данном случае, т.к. выбрал Nullable<int>, а вообще любой класс можно было выбрать кроме object) экземпляру MyClass. В результате вместо null мы присваиваем instance возвращаемое значение (new MyClass()) от которого уже вызываем DoJob. Никаких NRE
>>668004такстакстакс, это получается, что при декларацииSomeType a = nullв случае, если у него объявленimplicit operator(SomeNullableType obj)сработает этот самый оператор? это же боль
>>668006Поэтому никто обычно так не делает
>>668008ну если есть операторы, значит это кому-нибудь нужно. а тут ты объявляешь объект как нулл, а он ВНЕЗАПНО и не нулл (да как бы не NRE в коде оператора)
>>668010Ну тут спросить можно будет с двух людейс человека который не моргнув глазом присваивает нулл структурес человека который при имплисит касте из нулла создаёт рабочий объект зачем-тов случае с классом руки отрывать только второму. Но вообще да, имплисит касты небезопасная вещь.
>>668010Всмысле в подобных ситуациях с нуллами. В других случаях это может быть удобно.
>>668013я с тебой уже готовился кидаться опровержениемhttps://dotnetfiddle.net/tsxsyCа тут выяснилось, что речь о структурах. во я ведь ничего подобного не писал) да и ты декларировал MyClass как class
>>668015в случае с классом я протупил, там имплисит из нулла не получится, но с присваиванием (Hui)null пройдёт.>да и ты декларировал MyClass как classНет, я декларировал MyClass как struct: https://ideone.com/XSxqTs здесь. Ограничения на то чтобы MyClass было классом не было лел
>>668001Но asp .net... Веб... Изи... Ну блин, там срань господня в деплое. Неужели никто с этим не имел дело?
http://problembook.net/content/ru/INTRODUCTION.htmlЗадачки
>>668045Проходил, около 80-90% осилил. На округлениях завалился, на StructLayout и на CorrupterString, хрен бы воообще когда додумался. А штука несомненно крутая, всем советую.
>>668041Окей, есть вариант делать толстый клиент на WPF+WCF+3dViewPort+WF вместо x3dom, Есть вариант пилить на Java со стеком Spring+JXTA+x3dom+JBPM в формате веба. Проблема первого - отсутствие x3dom-а, придется использовать другие форматы моделей, плюсы: скорее всего шустро, WCF и WF цепляются без пердолинга и костылей. Веб приложение модно круто молодежно, x3dom прекрасен, но p2p сеть для клиентов придется делать незнамо как ибо с JXTA не работал, есть вариант на js писать с webrtc p2p connection сделать. Да и средство для workflow только одно и без понятия насколько оно рабочее. Есть что сказать по хотя бы первому стеку? Суть такова, что нудно запилитьраспределенное приложение для одновременного сценарного выполнения действий с клиентов. У Джавы еще плюс в том, что там будет пресвятая idea, адекватный Spring. В общем, в сомнениях, времени мало
>>668045This doesn't happen often, but it looks like something is broken. Hitting the back button and trying again might be your best bet. If that doesn't work you can head back to the homepage.There might be more information on our status page which is reporting All Systems Operational:(
Как решать проблему с актуальной версией фреймворков.Если недавно 3.5 был стандартом, то сейчас можно встретить 4, 4.5.2, 4.6, но при этом до сих пор встречается софт версии 2.0, целый зоопарк.Можно ли как-то сделать NET независимыми windows приложения? То есть как-то паковать или комплилировать унирерсальные приложения под windows вместо компилляции разных версий?
>>668069https://github.com/AndreyAkinshin/ProblemBook.NET/raw/master/TeX/ProblemBook.NET-ru.pdf
>>668072говорят, существуют решения, упаковывающие приложение в какую-то ёбу без привязки к фреймворку вообще, но я даже не знаю об такихв любом случае, приложение разрабатывается с учетом условий её эксплуатации, а не под "похуй, у меня 2.0"
>>668076Простой пример, нужно запустить приложение на компьютере, на котором нет доступа в глобальную сеть.В обычном случае, приложение полезет в Интернет и поставит нужную версию или даст ссылку, откуда можно скачать и поставить вручную, если версия стара.Соответственно приложение не будет работать, так как не стоит фреймворк нужной версии, хотя в приложении не использовались специфичные классы, только базовые, ещё с бородатых времён.Может есть какой-то способ обмануть винду и заставить её воспринимать приложение подходящей версии.
>>668083>2016>нет доступа в глобальную сеть.
>>668085например, если это промышленное предприятие с анальными условиями пользования ПК
>>668147Проблемы предприятия, пусть ищут того, кто будет им на делфи писать или еще на чем-то.
>>668172три года отдал быдлозаводу, на котором все макаки писали исключительно на делфе, а понятие связей в реляционной БД отсутствовало как класспро одного недокодера даже была статья в местной газенке уровня "встричайте новый стиф джопс"
>>667970> В сишарпе треды сорт от депрекейтед, все уже давно используют таскиТакое сказки только на стэке пишут. В жизни хуй там был, ибо требования к продакшину остались все те же и треды живее всех живых.
Кто-нибудь создаёт веб-приложения на asp.net mvc? Я сейчас вникаю в него и возникла одна проблемка. Все советуют отделять бизнес-логику от контроллеров. В примерах всё выносится в специальные сервисы, которые после внедряются в контроллеры через конструктор. Тут всё понятно.Как быть, если мне нужно часть функционала одного сервиса использовать в другом? Один сервис отвечает за инвентарь игрока (добавляет/удаляет предметы), второй сервис занимается раздачей призов. Раздача призов подразумевает изменение инвентаря. Я хотел бы в сервисе раздачи использовать сервис инвентаря, так как там есть необходимая логика.Проблема в том, что 1 метод контроллера = 1 методу сервиса. Сервис выполняет какое-то действие, после вызывает сохранение. Значит я не могу просто взять и внутри использовать какой-то другой сервис. Придётся логику инвентаря выносить куда-то ещё?
Хай кодач. Я студент быдлокодер, знакомый попросил сделать прогу для его фирмы, базу клинтов и их заказов. Решил что буду делать на сишарп и бд sqlite. Хочу от вас советов мудрых, на что обратить внимание, как не обосраться, так как одно дело делать домашки, а другое реальный опыт разработки. Или может среди вас есть кой нить фрилансер что за 100$ поможет мне справиться?
>>668386Ты взял, ты и делай. Литературы после оп-поста полно, доков в инете полно. Один только совет могу дать - бери сроки побольше, с запасом.
>>668386Не лучше ли вынести всё это в веб? На какой-нибудь простенький, дешёвый хостинг. Доступ с любого компьютера. И можно не бояться, что данные проебутся вместе с компьютером.http://metanit.com/sharp/mvc/1.1.php
>>668395Хех, в этом то и проблема, взял неподьемный для меня дедлайн. Чувствую что неуспеваю. Вот что значит без реального опыта разработки быть.
Хм. Идея неплохая, но незнаю потяну ли, плюс я бы хотел ее сделать простой как топор, что бы потом поддержка не отнимала у меня силы.
Аноны, я нихуя не пойму, нахуй писать сайты на ASP .NET если уже полно конструкторов сайтов? Есть примеры сайтов которые написали на ASP ? Где посмотреть исходники?
>>668386У меня есть готовый круд, но чуть чуть в другой предметной области. Скулайт без орм, джаваэфикс, котлин, экспорт в ексель. Отдам за 50.
Сап, кодеры, выручите ньюфага, пжлста!В общем:double a = 5000/3;В "а" оказывается округленное до целых значение. А мне надо, чтобы было как можно больше чисел после запятой. ЧЯДНТ?
>>6684785000/3.0
>>668482спс
>>668452конструкторы сайтов не дают тебе кастомной логики. а-ля бложики-то ты напишешь, а что посложнее?
>>6683501. я чет не понял, что мешает сервису, который раздает подарки, использовать сервис, отвечающий за, собственно инвентарь? добавишь метод и поломается контроллер или чо?2. по-хорошему, тебе надо будет сделать нечто такое:контроллер --> сервис инвентаря --> доменный хуёменный сервис инвентарясервис раздачи халявы --> доменный хуёменный сервис инвентаря
>>668486> напишешьсконструируешь
>>668452>Есть примеры сайтов которые написали на ASP ? Где посмотреть исходники?Microsoft.com
>>668489А что посложнее нужно? 99% сайтов это коммерческие сайты компаний которые на CMS сконструированы и небольшие блоги. Что еще нужно?
>>668473Опиши подробней что у тебя есть. На чем написано, какую бд использует.
>>668496программистов нанимают, чтобы имплементить 1% оставшегося говна
>>668514О, дивный манямир!
>>668524чегоэта?
>>6685141% говна это что?
>>668540вопроса не понял. что можно написать, что не под силу для цымес-конструкторов? или ты до цифры доебался?
>>668556Я про>что не под силу для цымес-конструкторов
>>668562olo.combooking.comgainhcp.comhealthdec.comJIRA/AHAсоциалки-социалочки
>>668499>Опиши подробней что у тебя есть. На чем написано, какую бд использует.Есть база в одну таблицу(мне хватало, но ты же не тупой, добавишь), написано на котлине, это из джавовского стека, интерфейс на джаваэфикс, бд скулыйт, написал же.
>>668571ну такие крупные сайты понятно, но я нихуя не пойму зачем столько вакансий вебразработчиков? Все вокруг пишут booking.com и социалочки?
>>668588бОльшую часть коммерческих продуктов ты так в гугле и не встретишь, т.к. разворачиваются в корпоративной подсети. также, с диким развитием мобильных приложений нужен адекватный бэкенд, считай, за каждым четвертым приложением стоит такая себе тима макак
>>668602Вот теперь я понял. Дело в том, что я хочу написать свой проект на ASP.NET за пол года чтобы его показать будущему работодателю и тот офигел и принял меня на работу. Я нихуя не могу придумать какой проект сделать.
>>668615>пол годаСомнительная затея.
>>668615> за пол-годаэто типа настолько крутой проект хочешь? или ты ниасилятор?напиши свой йобадвач, лол
>>668615Сделай, например, адресную книгу с фотками, поиском, используй ef, поиск по записям. Бонус - показывай адреса на гугл мапе.
>>668623Я хз, надо успеть и значит придумать проект попроще
>>668635слушай вот этого вот советоватора>>668634
Аноны, помогите обойти проблему в винформс. Суть токова: есть заготовка табличного редактора, для сохранения таблицы использую отдельный тред, в нём через SaveFileDialog.ShowDialog() запрашиваю путь сохранения для новой таблицы. Вот только если создавать объект SaveFileDialog SFD = new SaveFileDialog в методе второстепенного треда, вылазит исключение на вызове SFD.ShowDialog(): An unhandled exception of type 'System.Threading.ThreadStateException' occurred in System.Windows.Forms.dllAdditional information: Текущий поток должен быть задан как поток однопоточного контейнера (STA), чтобы вызовы OLE стали возможны. Проверьте, что ваша функция Main помечена атрибутом Если вызывать SFD.ShowDialog() инвоуком из другого треда, то программа падает по определённым причинам в определённой ситуации, в связи с конструкцией программы долго объяснять почему, в основном потому, что кто то уебан. Дак вот, как не меняя тип апартаментов на СТА у треда обойти появление этого исключения? И вообще, почему оно возникает, и что такое это ОЛЕ? Вызовы showDialog() в основном треде чтоли происходят вне зависимости от того, где ссылка на объект SaveFileDialog?
>>668865Ты диалог то покажи в основном треде, а сохраняй в другом непонятно нахуя, но
>>668865во-первых> для сохранения таблицы использую отдельный тредиспользуй отдельный тред для сохранения, а не диалогов
>>668867>>668868Спасибо, решил проблему вроде.
>>668634>используй efэто чо?
>>669212Entity Framework, едрить же твою налево
>>669215>едрить же твою налевоНу прости, анончик
Посоны, начал читать книгу Beginning ASP.NET 4.5 in C#, Matthew MacDonald URL. За 40 минут уже на 100-ой странице. Сегодня постараюсь осилить оставшиеся 800 страниц. Завтра начну писать свое первое веб-приложение.>668615 кун
>>669521Ну толсто же
Кто-нибудь юзал графические планшеты в C#?
>>669529Почему? Я только что долистал до конца книгу. Я с APS.NET 5 лет назад сталкивался и чуток программил веб. Сейчас я освежил знания. Теперь надо все практиктой закрепить.
>>669623Эцсамое, освежитель, ты там мвц читаешь то?
>>669535А как они там применяются?
>>669624Нет, в этой книге нет MVC. Надо порыскать новую книгу. А сейчас уже все пишут на MVC?
>>669641Угумс
>>669644а наша ёбаная шарага перешла на новомодные WebAPI+SPA лел
>>669641 http://metanit.com/sharp/aspnet5/
>>669632Регистрация положения стилуса относительно положения во всех трех измерениях. Нужна только такая функция.
Как же мало вакансий джуна сишарпа, а те что есть, никто не отвечает (потому что везде нужен один год опыта)Зато на пхп дофигища
>>670181говори, что у тебя есть один год опыта
>>670187Спасибо, взяли
>>670308не, ну а что, так хоть с тобой диалог начнут
>>670187Похоже нужно будет идти на пхп погроммиста, чтобы можно было написать про год опыта. С ходу на сишарп можно разве что через стажировку в крупных компаниях, которые проходят в определенное время с большим конкурсом.
>>670362>С ходу на сишарп можно разве что через стажировку в крупных компаниях, которые проходят в определенное время с большим конкурсом.История моей жизни.
Анунахи, поможите советом в винформс. Нужно ограничить перемещение одной формы внутри другой таким образом, чтобы форма при перетаскивании за пределы основной формы постепенно заходила внутрь (ну то есть исчезала) формы, в которой она должна находиться. Какие есть варианты кроме сделать mdichild'ом внутреннюю форму и обрабатывать событие locationChanged?
>>670406а разве при перемещении внутри контейнера компоненты вылазят за границы?
Как же я вам завидую, ребята, вы молодые, шутливые, у вас ещё всё впереди. Для вас слово "фреймворк" в новинку, а та же веб-разработка кажется чем-то таинственным и увлекательным. Вы ищите место, куда бы устроиться ради опыта работы в резюме, живёте полной жизнью. Желаю вам удачи по жизни и не разочароваться в профессии.
>>670411Если контейнер - mdi parent, то нет. Мне нужно не использовать mdi parent
>>670414
посоны, вот ставлю я визуал студию. И буду учиться си шарпу и наверное вебу на нем, ведь можно же? Так вот, как бы мне облегчить сборку студии? Места жрет на ссд дохуя, зараза.
>>670739Купить ссд побольше
>>670739Танчики удали, кек.Убери при установке все языки кроме шарпа, убери мобилки.
>>669650Ни разу не сталкивался с SPA, но WebApi — это хорошо только какого-то хуя там экшенфильтры совсем не те, что в MVC.
>>670181> везде нужен один год опытаЯ тебе по секрету скажу, что туда можно смело идти без опыта. В этих "крупных компаниях" тимлид мнит себя богом только потому, что умеет в референс-типы, а джуниоры до сих пор не различают. Шарперов нет на рынке, HR-ы в вакансиях выкобениваются исключительно по старой привычке, да для оправдания собственных фейлов. Если совсем ссыкотно, сделай проект любой рабочий, скажи, что год над ним работал без оформления, и все.
>>670844ну все делается под задачу, а не: аааааааа, на проект можно накидать еще тыщщу макакJS и срубить больше бабла с клиента, ебошим вебапи!!!!!!!111!!!
>>669695А есть книга на англ языке?Мне легче и проще читать на англ.
>>670944на хабре уроки погугли
Шарпач, есть одна class library. Какие существуют способы инклюдить ее в сборку другого решения кроме неудобного референса через линкование исходников?
Анон, нужно одностраничный сайт запилить на C# ASP.NET MVC для мелкого магазинчика. Как лучше сделать?
>>670962одностраничные приложения разве делаются на мвс?
>>670966Хз
>>670975ну тащемта нета по сути, чего надо-то тебе? ассортимент показывать, или визитка?
>>670894> Если совсем ссыкотно, сделай проект любой рабочий, скажи, что год над ним работал без оформления, и все. Я указал свой проект в резюме, он работает. Боюсь что там говнокод поэтому на гитхаб не заливал ._. , но похоже придется
>>671179ну тащемта, ты по определению не можешь высрать не говнокод. вопрос будет, какие "оригинальные" решения ты там применил
Анон, у меня платиновый вопрос.>навыки программирования на одном из языков: C++/Java/C#Что вообще включает в себя "навыки программирования"? Сам я знаю С# на уровне универских лаб, в курсе ООП, ну еще один раз использовал многопоточность в Unity, но до чего-то серьзёного не доходило, то это считается?
>>671182это значит, что ты в курсе базовых понятий языка и не будешь дуплиться, когда видишь что-то типаpublic static implicit operatorилиstatic Classname(){}
>>671186что-то типа: знать и уметь применять
DataContext(LINQ to SQL) еще используется?Или можно на него забить и сразу приступить к LINQ to Entities(DbContext)
Какие есть ресурсы для быстрого вкатывания в asp.net mvc? Мне не для работы, в универе надо запилить веб-приложение. mvc понимаю если че, раньше на рельсах кодил.
>>671210http://professorweb.ru/my/ASP_NET/gamestore/level1/
>>671210https://habrahabr.ru/post/175999/
>>671216Я когда только начинал вкатываться сразу на этот гайд попал и нихуя не понял.
>>671219а что конкретно непонятно? там же для макак написано: "бомбаните эту строчку, сделается XYZ" кстате, автор этого цикла на связи и не посылает нахуй за вопросы "а у меня так не работает"на крайняк: сливаешь авторский проект из репозитория, открываешь второй вижуалстудио и смотришь, где наёб
>>671216>>671215А можно на английском? Я на русском не читаю техническую литературу, мозги надо беречь.
>>671225http://www.codeproject.com/Articles/486161/Creating-a-simple-application-using-MVCна первой странице гуглозапроса mvc application sample. сложно-то как
>>671230Ну ладно, я уже начал читать getting started на официальном сайте. В геттинг стартед написано, что мне нужен Azure account, а дальше написано, что там триалка 1 месяц. Че делать-то?
>>671254одного месяца не хватит тебе, чтобы написать сайт по учебнику?
>>671261>>671254Там еще и кредитка нужна, чтоб free trial начать, лол.http://stackoverflow.com/questions/10416934/can-i-try-windows-azure-free-trial-without-having-a-credit-card
>>671266я точно без кредита регал себе ажур с триальным хостингом на одну базу и доменным именем, как положено. подробностей, увы, не помню
>>671222> бомбаните эту строчку, сделается XYZ"Вот это и не понравилось, что объяснений немного, одни инструкции.
>>671297ну тыжпрограммист ёбе, тебе показывают, как сделать, чтобы работало. а как работает так, что оно все работает, это: гугл, msdn, Троелсен, etc.
Посоны, я уебок не знающий инглиша. Что можно читнуть, дабы изучить шарп?
>>671627Книгу по изучению английского
>>671638Блять, но ведь си шарп то сперва надо выучить
>>671641Кому ты нужен без языка? Даже если шарп как-то сможешь более-менее осилить, то на первом же месте работы сольёшься
>>671194Бамп вопросуИмеется ввиду вот это все еще используется на реальных проектах или уже всюду entity framework?http://professorweb.ru/my/LINQ/linq_sql/level8/linq_to_dataset_and_sql_index.php
>>671843Нет, не используется.
>>671225>Я на русском не читаю техническую литературу, мозги надо беречьДа не пизди ты, нашелся тут великий англичанин.
>>671985да ты ёбнутый. Я даже когда английский знал так себе всё равно читал в оригинале, потому что третье издание рихтера прочитанное медленно с заходами в словарь всё таки было получше вариантом чем прочтение второго с последующим шароёбством по рунету в ожидании переводов актуальных статей.
>>672008А сейчас типа знаешь нормально?
>>672029сейчас - блестяще. К чему этот вопрос?
Пиздец, начал рыться в коде созданного ASP.NET MVC C#.Класс наследует другой класс, класс на основе интерфейса, какие-то квадратные скобки:// POST: /Account/Login[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]Классы с "async".Пиздец, чорт голову скрутит с этими замутами, нагородили огород и понапридумывали всякой хуйни.
>>672049И что тебе неясно?
>>672050Сложночитабельный код.Напомни, что значат квадратные скобки?
>>672058аттрибуты. Может тебе язык стоит для начала подучить?
>>672060Я проходил это, но давно. Надо повспоминать.
>>672049ого-го, наследование. вот это неприятность, да?
>>672104Я всю жизнь работаю с процедурным языком. А тут ООП, бесит ООП. Это слишком сложно для моих мозгов.
Есть html в строке. Можно ли его вывести, не сохраняя в файл?
>>671985Для чтения технической литературы нужен самый минимальный уровень знания языка. Вот если человек читает художественную литературу в оригинале - это god tier, а техническую любой даун может читать, потому что там используется словарный запас не больше 1000 слов (помимо терминов из предметной области, которые ты должен знать в любом случае).
>>672111IELTS общий балл какой?
>>672126about tree fiddy
>>672129Слился
>>672131ты наркоман. Тебе написали "техническую литературу легко читать даже с хуёвым английским", ты спрашиваешь про какой-то иелтс. Ты подорвавшийся неосилятор что-ли? При чём тут иелтс вообще? Ты думаешь что если человек не иммигрировал и не ездил учиться в штаты/европу, то он книги на английском читать не может?
>>672111У меня скорость чтения на английском падает раз в 10 :(
>>672144Ну придрочишься, ниче страшного.>>672126Не сдавал. Я в обозримом будущем не собираюсь трактор заводить.
>>672160>>672126Алсо, сейчас спросил у чувака, который знает язык примерно как я, он сдал ielts на 8.
>>672110HtmlVyvoditel.Vyvesti(str);
>>672196Ну вот такого нет, насколько я понял. Приходится сохранять во временный файл.
>>672223чтобы нахуя?
>>672249В смысле нахуя? Чтобы показать их пользователю.
>>672266Console.WriteLine
Посоны, я пиздец дно, помогите.Как мне получить данные переменной из другого скрипта?Юнити, оба скрипта на одном объекте.
>>672326кажется мне, что делаешь ты что-то не такно я не юнитоблядь, тому, можешь не совпринимать близко к сердцу
>>672476Почему тебе так кажется?
>>672479ну, очевидно, либо юзать глобальные переменные (что заботливые разработчики, по идее, должны были запретить вовся), либо через какой-то стейт (или like-a-Tag-пропертю) объекта. это, по хорошему, должно быть какой-то базовой базой, я не верю, что ты настолько днище, что не знаешь такие вещи)))))))
>>672481Говорю же что пиздец дно.Смотри есть скрипт, он, например, считает сколько раз игрок нажал на кнопку. Мне из этого скрипта нужно выдернуть кол-во нажатий и применить это значение в другом.
>>672486я ж те грю> я не юнитоблядь
>>672488А чо, там си шарп какой-то другой?
>>672520ну я ж хз, как там происходит взаимодействие функций внутри объекта, какие объект имеет проперти
Анон, помоги, не пойму че за хуйня. Я вот поставил ограничение по внешнему ключу в своей sqlite3 БД. Но почему-то, когда я из приложения передаю в БД недопустимые значения, то они не вызывают ошибки и спокойно записываются в таблицу. То есть ограничение ничего не ограничивает. Почему такое может быть? C# + SQLIte + SQlite-net.
>>672543> Но почему-то, когда я из приложения передаю в БД недопустимые значения, то они не вызывают ошибки и спокойно записываются в таблицуну, очевидно, нет никаких ограниченийкак декларируешь вообще?
>>672546Через редактор БД - SQLiteStudio.
>>672547я не то тебя спрашиваюдизайн таблицы покажи. или как ты её там создаешь?
>>672548Да в том и суть, что внешнюю связь я немогу в коде декларировать, потому что SQLite-net их не поддерживает. Поэтому я типа напрямую прописываю - руками в БД.
>>672548Блядь, у меня отсталость головы. Внешние ключи в SQLite по-умолчанию отключены.
Аноны, что надо знать, чтоб идти в джуниоры?
>>672665типы данных, работа с типами, упаковка/распаковка, дженерикиклассы и интерфейсы, наследованиемеханизм исключенийстроки, StringBuilderколлекции, сравнение, поиск по коллекциям, равенство экземпляровLINQбазовые принципы многопоточности, ограничения, связанные с многопоточностьюделегаты, событияработа с базами, T/SQL, ОРМки подозреваю, сейчас это обязательноUnit-тестирование, скорее всего, тоже обязательнода и вообще, ООП, шаблоны проектирования, туда-сюда короче
>>672695А будут спрашивать за реестр, графику, указатели, программирование типа "клиент-сервер" и сетевое программирование (http)?
>>672269Какой тебе райтлайн в веб сайте?
>>672326this.gameObject.GetComponent<Script2>().myVarНу или как-то так, я особо в юнити не вникал.>>672481Да похуй на инкапсуляцию, это ж не энтерпрайз.
>>672707херли я должен догадываться, где и зачем ты хочешь что-то вывести?https://msdn.microsoft.com/en-us/library/gg480740(v=vs.118).aspx>>672703кагбе зависит от конторы, но врядли что-то специфичное. элементы клиент-серверности вполне могут быть> указателиа сюда ли ты зашел-то?
>>672703>указателиКрестотред где-то рядом.>>672722Ну так это ж асп.нет тред. Все равно ни на чем другом никто не пишет.
>>672730это сешарп тред вообще .NET надо бы, мы ж не лохи какиеи пишут)
>>672722>а сюда ли ты зашел-то?>>672730>Крестотред где-то рядом.В Шарпе же тоже есть указатели и их можно кодить, если сильно захотеть, или я ошибаюсь?
>>672737генерить unsafe код - нетривиальная задача, уж явно не для джуномиддлов. максимум смогут спросить "а является ли код в # полностью управляемым?"
>>672743Понял, спасибо. Просто был момент полгода назад пробовался джуном в одну контору в ДС2, в вакансии написано шарп, пришел - посадили, дали листок, ручку, дали задание. Говорят, пиши. В задании указатели на паскале. Я охуел и ушел. Подумал, что надо дальше читать и учить, ну и контору тщательней выбирать.
Пришла первая EAPха райдера, встречайте и апплодируйтеhttp://download.jetbrains.com/resharper/riderRS-144.4571.exe
Нужно ли использовать dispose на dbcontext(или using DbContext)?В туториале от майкрософт, рекомендуется вызывать disposehttp://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-applicationprotected override void Dispose(bool disposing){ db.Dispose(); base.Dispose(disposing);}Но разрабы EF говорят что это нинужно.http://blog.jongallant.com/2012/10/do-i-have-to-call-dispose-on-dbcontext.html
>>672795Да анончик это охуенноhttps://www.youtube.com/watch?v=XaD9agBP6dE
>>672806или я чет не понимаю, либо же задача подогнана под ответ в том случае. ибо, во-1х, человек делаетreturn View(dbcontext.DbSet<>). если обернуть этот код в using или ебануть Dispose, то Razor упадет по ObjectDisposedException при попытке проэнумерейтить коллекцию, родитель которой был убит чуть-чуть ранееа во-2х, контекст (и вообще, любой управляемый ресурс) должен жить как можно меньше
>>672828Я уже немного погонял, функций маловато пока еще, тесты не тянет вроде, вот такие забавные моменты в меню пикрелейтед. Но сука, как же резко работает, ебаный в рот, быстрее студии без решарпера, реально отзывчивая при билде, охуенная идеевская поддержка VCS, nuget вроде тянет. Для первой EAP очень круто
>>672846DNX console получается создать?
>>672874Не пробовал, завтра попробую.
Есть метод в слое доступа к даннымpublic IQueryable<Employee> SelectEmployees(int departmentId)Этот метод вызывается когда идет присваивание свойству ViewModelpublic IEnumerable<Employee> Employees { get; set; }вот таким образомEmployees = service.SelectEmployees(selectedDept) .OrderBy(е => е.Surname) .Skip((page - 1) * pageSize) .Take(pageSize),В этот метод из-за того что я присваиваю IQueryable к IEnumerable у меня не выгружается все данные из бд в память или это происходит, как обычно, при вызове foreach на Employees?
>>672964отложенная инициализация же. если хочешь, чтобы сразу при вызове метода происходило присвоение, добавь .ToArray() .ToList()иначе будешь ожидать первого foreach, First(), Signle(), ElementAt(), etc.
АНОН блять пиздец, как же все таки это сделать? Ну создал я либу, ну хули? Мне нужна либа на шарпе, чтобы загрузить ее в автохоткее. Нихуя не получается.
>>672968> добавь .ToArray() .ToList()Это я знаюЕще есть AsEnumerable который вроде тоже делает запрос, так вот я подумал что присвоив IQueryable к IEnumerable будет тоже самое.
>>672980Ой, не так.Вот нашелМетод AsEnumerable() в LINQ просто преобразует коллекцию IQueryable к IEnumerable. В простых приложениях, работающих с коллекциями данный метод практически не используется, т.к. в нем нет смысла – интерфейс IQueryable является производным от интерфейса IEnumerable. Но этот метод оказывает существенное влияние при использовании с Entity Framework, указывая, что цепочку методов в запросе до его вызова нужно выполнить, отправив запрос к базе данных, а последующие методы будут оперировать уже на коллекции в памяти приложения. Если вы запустите этот пример, то можете убедиться в его работоспособности.То есть оно тоже отложено выполняется, но все операции после AsEnumerable обращаются не к базе данных, а к последовательно IEnumerable в памяти.
>>672980> что присвоив IQueryable к IEnumerable.Take() возвращает IEnumerablehttps://msdn.microsoft.com/library/bb503062(v=vs.100).aspxа такжеIQueryable<T> реализовывает IEnumerable<T>https://msdn.microsoft.com/en-us/library/bb351562(v=vs.110).aspxpublic interface IQueryable<out T> : IEnumerable<T>, IEnumerable, IQueryable> AsEnumerable который вроде тоже делает запросpublic static IEnumerable<TSource> AsEnumerable<TSource>(this IEnumerable<TSource> source){ return source;}
>>672985при работе с EF, AsEnumerable нужен в случаях, когда с неинициализованной коллекцией выполняется нестандартная функция, не конвертируемая в SQL. например:dataSet.DataTable.Where(e => e.Data != null).Select(MyInternalMethod);
>>667749Отпугиваешь потенциальных конкурентов?
Блядь, Аноны. Я заебался, 3 дня ебусь с многопоточностью. Суть такова: надо спарсить сайт, тоесть по статичной ссылке увеличивая страницу которую гадо спарсить. Я пробовал с thread, backgroundworker,parallel,threadpool, все это нихуя не пашет в моих ебанутых руках. Аноны поясните, как я могу распарсить список из 100к ссылок, в овердохуя потоков? Делал так: количествоНаботыНаПоток = количествоСтраниц/количествоПотоков;сКакойСтраницы = Айдипотока*количествоРаботыНаПоток;поКакуюСтраницу = сКакойСтраницы+количествоРаботыНаПоток;Айди передавала примерно так(для Thread)For(var i=0; i<100;i++){Var tr = new thread(parase);}В бд в итоге пишется ~100 один и тот же элемент со страницы.
>>672166Я спросил другу моего друга который знает английский хуже меня, он сдал IELTS на 9.
>>673089Я спросил ielts, который знает английский хуже моего друга, он сдал меня на 9.
>>673070У меня на работке такая задача решалась через Parallel.ForEach, с периодическим пересозданием контекста.
>>672846Надкюсь, jb через 5 лет выпустят полагин для nemerle.
>>673096Да кому вообще этот невмерле нужен
>>672973И не получится так просто. Гугли ComVisible.>>672989Если попытаться это написать без AsEnumerable, он ругнется что не может преобразовать linq в sql или что-то такое.
Шарпаны, я вот использую asp.net identity для аутентификации. В вебкофиге у меня написана такая штука как на пике.То есть неавторизованным пользователям доступ запрещен и их редиректит на login.aspx.Так вот, какого хрена на этой самой странице логина не грузятся библиотеки (жквери там всякие с йоба-контролами) и стили? Как это исправить?
>>673070во 1-х, не надо использовать new Threadво 2-х, покажи хотя бы часть того, что ты наваял. так-то не очень очевидно, как у тебя потоки запускаются и работают
>>673150> Если попытаться это написать без AsEnumerable, он ругнется что не может преобразовать linq в sql или что-то такоежопой читаешь?>>673152через бандлы это решается. а на других страницах с понтом грузятся?
>>673147мне
>>672973на сях напиши, хуле ты
Подскажите книгу какую по вебформам. Желательно в контексте 4 .net
>>673187> .NET 4.0> WebForms
>>673160На других страницах грузится все нормально. Причем если залогиниться, а потом выйти назад на форму логина, то там уже все будет норм (ну видимо из кэша все берет).Пока что просто сделал deny для каждой страницы кроме login.aspx.А что за бандлы?
>>673206public static void RegisterBundles(BundleCollection bundles)bundles.Add(new ScriptBundle("~/azaza").Include("~/scripts.azaza.js"));но если это вебформы, то я тебе не помощник
>>673210>если это вебформыИменно они :(
>>673158Я делал по разному. В основном я как раз таки делал или анонимные классы потоков, или запихивал их в коллекция, и оттуда вызывал форичем.Вот последний код: http://pastebin.com/NeESHQyg
>>673241https://dotnetfiddle.net/ZZOJqGну и? что не так? на самом деле все не так, но вопрос не в этом, а в том, что все вроде как as expected
>>673246https://dotnetfiddle.net/BEDRIlВсё действительно пашет анон. Но у себя в коде обосрамс всё равно происходит.Надеюсь по скрину будет понятно.
>>673268https://dotnetfiddle.net/dtlw9lвидишь, какое говно происходит?сделай через параллел.фор и за каждый new Thread() отрывай себе руки
>>673270Parallel.For(0, PageCount, i => {}Делал так, эффект такой же.И с тем примером вроде как всё пашет.https://dotnetfiddle.net/ELKAX2
>>673276> https://dotnetfiddle.net/ELKAX2ну, ты исправил расчет ToPage, а там 10-15% дубля уже отвалилосьи второе, раз такая же лабуда, проблема может быть и будет в том коде, что постранично вытаскивает ссылки
>>667709 (OP)Программач-сишарпыч, подскажи, как получить список всех классов и их public, protected методов из .DLL файла?
>>673331Assembly.LoadFile(fileName).DefinedTypes
>>673331*список названий
>>673333Отлично, сейчас опробую. Сяп
Аноны, кто нибудь парсил авито? Схуяли меня не пускает дальше 100 страниц через ?p=
>>673432как-то и с браузера обычным мышкокликом не переходит на 101ю
>>673490О том и речь. В мобайл вершен так же.
>>673499стучи в поддержку, иначе чего мы тебе подскажем
>>673501Написал в сап. И всё же, если анон что знает...
>>673538Сомневаюсь, думаю на их стороне какой-то осознанный лимит
>>673684magic numbers everywhere?
>>673737Сотня не такой уж и magic
Hej, guys.Хочу создать nuget package для библиотеки классов с автосборкой после успешной сборки проекта. Также нужно сделать multitargeting, т.е. создать дохуя .dll для разных фреймворков и разного рода сильверлайтов. Как это сделать в Visual Studio? Пытался ручками прописывать конфигурации для сборки библиотеки под разные версии фреймворка -- заебало.
Стянуть бы апач фаундейшн у джава блядей, цены бы языку не было.
Где можно навернуть почитать про актуальные фреймворки? Желательно на русике. Хотя и английский сойдет.
Как вообще апворк отслеживает часы работы?За что конкретно платятся деньги?
>>674014Сука не тот раздел.
>>674014Ты вручную его включаешь когда работаешь и отключаешь когда перестаёшь. Раз в десять минут (+/- небольшое рандомное время) делается скриншот и тайтл текущего активного окна отсылается вместе с поминутной статистикой кол-ва нажатых клавиш клавы и кнопок мыши.
>>670958Можно встроить либу в ресурсы и потом подгружать ее оттуда в обработчике AppDomain.CurrentDomain.AssemblyResolve. В CLR via C# пример был.
Поясните, что значат эти скобки '<>'Код: public async Task<IActionResult> SendCode(SendCodeViewModel model)
>>674164Гугли c# generics
>>674033Так можно, имея 2 монитора, наебать работодателя. Играя в это время в ммо, например.
>>674230я думаю, в скриншоты никто не смотри, если не работают с тобой впервые, например, или ты где-то конкретно лажаешь/затягиваешь, дабы убедиться, что ты не ракуешь за их счетиз своего опыта фрилансирования с скриншоттрекерами помню, что что не скрин в моем отчете - то асечка открыта, то браузерка какая-нибудь, то гуглтранслейт. хотя я старался филонить по-минимуму на камеру
>>674233*не смотрит
>>674233> асечка > 2016
>>674237кто тебе сказал, что это недавно было, даун?
>>674238Чому мы такие агрессивные? :3
>>674246)))
>>674230Скрин будет делаться активного монитора, может если только играть пять-максимум семь минут после каждого скрина и потом переключаться обратно на иде/редактор и ждать следующего скрина (там нечётко 10 минут +/- 2 минуты постоянно, может и через семь сделать по-моему - не помню). А вот фильмецы можно запросто смотреть я так часто делал.
>>674233>из своего опыта фрилансированияУ меня наоборот. Даже удалял по 10 минут пару раз из дневника когда неотносящуюся к работе бодягу одеск трекер скринил. Один раз просто папка была открыта со скачивающимся с торрентов сопранос - удалять не стал так как на фоне иде была, клиент на следующий день спросил как мне сериал, оказалось большой фанат.
>>674264на одеске же с удалением шотов, урезалось время наработки вроде бы как, или я путаю?
>>674270iirc можно только скрин удалить если что, но только из дневника. Если отменять сразу из трекера в течение таймаута, чтобы скрин даже не отсылался, тогда ~10 минут срезается, да.
почему какой-то пидар, не знающий, как из Nullable<T> вытянуть значение или как обратиться к двум БД, находящимся на одном сервере, с одного запроса сидит миддлом и зашибает бабло ))))), а я все еще джун и без толкового занятия?
Пытаюсь вкатится после питона и js. Немного охуел, если честно, с основ.Как будто у каждой проблемы есть решение на уровне синтаксиса. Или не нужно было начинать с курса на pluralsight. Попробую какую-то книжку из оппоста.
Подскажите, есть способ на шарпе быстро парсить строки в разных системах счисления? Convert.toInt32 на степенях с основаниями 3-7 эксепшн выдает.
>>674700Из коробки только популярные системыhttp://stackoverflow.com/questions/923771/quickest-way-to-convert-a-base-10-number-to-any-base-in-net
>>674542Потому что ты безинициативное чмо.
>>674753от меня достаточно инициативы былопровалов в своей инициативе приблизительно столько же. а он просто аморфный пидор. и в чем, собственно, разница?
>>674779Хули ты все умничаешь, сука?
>>674803поныть тут пришел, хуле
WPF.Есть модель (какой-то класс с какими-то свойствами), допустимpublic class Employee{public string Name { get; set; }}Как сделать так, чтобы было MVVM, но чтобы конкретно этот класс менять (реализовывать в нем INotifyPropertyChanged) не нужно было? Чтобы потом эту же самую модель можно было без перепиливания использовать в чем-то отличном от WPF.
>>675464Может с Fody можно что-то вроде такого, ну или ручкамиpublic class Hui { string Name {get;set;}}[ImplementPropertyChanged]public class HuiViewModel : Hui {}
>>675464POCO - это не viewmodel
>>675473То есть нужно наследовать? А что если в нем определен метод, который изменяет одно из полей? Допустимpublic void CapitalizeName(){Name = Name.Substring(0, 1).ToUpper() + Name, Substring(1, Name.Length).ToLower();}В таком случае если я вызову этот метод, в интерфейсе ведь ничего не обновится.И я же не могу так просто взять и сделать оверрайд в наследнике, методы же не абстрактные.>>675475Я понимаю что это не вьюмодел. Какую обертку надо написать для такого класса (в нем могут быть не только данные, но и методы работы с ними), чтобы получилось вьюмодел. Ну тип чтоб правильно и без изобретения велосипедов?
>>675496Автоматом ведь имплементирует для класса, не?https://github.com/Fody/PropertyChanged
>>675498Прикольная штука. Схоронил, потом попробую.Алсо, такой вот подходhttp://www.filedropper.com/timesimсильно индусский? (Рыгахост не работает почему-то)То есть я передаю Action в тот класс, который должен что-то выводить в UI.
>>672695Запилите в шапку
http://blogs.msdn.com/b/rudevnews/archive/2016/03/04/fsharpconf-2016.aspx> 2:45 Cassandra, Docker and F# Awesomeness, Alena HallУгадайте, кто сегодня выступает.
Книга Албахари 2014 года в ДС кому-нибудь нужна? Отдам за символическую сумму или обменяю на другую книгу. Так и не притронулся, забил на Сишарп.
Фейкомыльце: q4sdfvxcvb.qweqwe@yandex.ru>>675607
Аноны, написал свою "финтифлюшку, пукалку с перделками" которая должна отправлять кое какие jsonушки. Естественно по запросу с клиента(мобильная прилажка, андрюха, виндерфон,). Нужно написать сюрвер. Можете статеек с экзамплами накидать? Только не в стиле "Простенький сервер за 15 минут" и т.п.
>>675699а в стиле "сложненький энтерпрайз за пол-года тимы сирьоров?"ну тут, наверное: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
>>675710А экзамплов с именно такой как у меня задачей нет?рандомпик
>>675720все, что тебе надо, там есть:создаешь контроллеры -> создаешь экшены -> запускайешь модель -> возвращаешь контент
>>675722Спасибо анон!
Аноны помогайте.Пишу прогу, столкнулся с ошибкой System.OutOfMemoryException. Ну понятно, что не хватает оперативы. Стал тестить - у меня стабильно вылетает когда прога занимает 520 Мб оперативки. Чё за фигня? Система х64, оперативки на борту 12 Гб. Редактор Visual Studio 2010 Express. Потестить на другой машине нет возможности..
>>675885вероятней всего создаются объекты, которые не могут влезть в кучу (по дефолту это 2Гб)
>>675898Эм.. а расширить никак? Пишу типа сервер, расчитывал минимум на 10Гб оперативы а тут.. полазил по гуглу, надо как-то поставить в настройках режим х64, но хз, можно ли это VS2010 Express..
>>675901сходу спрошу, нахуя тебе это? может быть проблема в говнокоде? 2Гб на объект - это просто дико много (либо массив из миллионов элементов говна, что тоже много)
>>675903Да дело не в 2 гб на объект. Всё приложение не может занимать более 2 гб, а то и меньше. Ну это как-то неправильно. При этом я пишу сервер онлайн игрушки ой всё и 2 гб тут может оказаться мало. Хочу заранее решить - это глобальная проблема в чём я сомневаюсь, не могут С# проекты быть ограничены 2 гб, взять к примеру 3D max, или просто надо что-то сделать.
>>675919Попробуй в x64 компилить
>>675946А, увидел. Ну ты это, поставь что-то поновее, серьезно. VS2010 это уже совсем днище.
>>675948причем тут версия? хоть в блокноте пиши, ошибка никуда не денется>>675919речь не о объеме приложения а памяти, а в размере кучи. что бы ты там не писал, хоть гигапортал какой-то, ты пытаешься создать какой-то совсем дикий объект и это неправильно, естественно
>>675963Я не уверен, что с десятой студией поставляется 64 компилятор
>>675574Леночка <3
>>675992Леночка будет рассказывать про "баззворд, баззворд и баззворд", как неожиданно.
>>675963Да не в объекте дело. Я могу создать интовский массив на 350 млн. элементов. А вот два массива немогу, эксепшон. Короче ладно, качаю на тест 2015 community версию, буду там тестить. Мож действительно эра VS2010 ушла.
>>676003Она ушла 6 лет назад. В студии нельзя интегрировать поддержку новых версий шарпа, поэтому со старыми версиями у тебя в любом случае будет куча проблем. Даже в предыдущей 2013ой студии не поддерживается новый шестой шарп, только в 2015
есть какие-нибудь книги по MVVM?
>>676019По MVVM можешь статейку в википедии прочитать, это не более чем паттерн используемый в WPF. Если хочешь погрузиться именно в WPF, то другое дело, бери "Pro WPF 4.5 in C#"
>>676003> Я могу создать интовский массив на 350 млн. элементовнаучи нуба, аVS2015 Professional, если что>>676007> Даже в предыдущей 2013ой студии не поддерживается новый шестой шарпlol
>>676019отрендери исходный код caliburn.micro или mvvmlight в pdf - будет тебе книга
>>676042Сколько оперативки?
>>6760548
>>676056а, ну очевидно, да
>>676042конфу х64 сделал?
>>676056Это 2.6 гб насколько я понимаю + оверхедАлсо https://msdn.microsoft.com/en-us/library/hh285054(v=vs.110).aspx
>>676023>бери "Pro WPF 4.5 in C#"Уже начал, но там все реализации на MVP. Хотелось бы разобраться именно в MVVM (WPF+MVVM).Может есть какие-то open source программы на WPF/WPF+MVVM, накидайте ссылочек, шарпаны
>>676042
>>676109https://github.com/RolandPheasant/TailBlazerнапример
>>676137Посмотрел, это немного не то.Есть ещё что-то, желательно WPF+MVVM?
Программач,Подкинь литерутуру для формошлепства. Приложения разные там, события.С основами языка знаком.
>>676250Если ты не знаешь как работают события, то с основами ты не знаком. Так что бери Шилдта/Троелсена и в путь. Формы ничем принципиально не отличаются от консоли, поймешь консоль - формы пойдут легко.Ну и пара ссылок для формоновичка:http://www.cyberforum.ru/windows-forms/thread1558189.htmlhttp://www.cyberforum.ru/windows-forms/thread110436.html
>>676351>ШилдтВ шапке такого нет.
>>676398https://goo.gl/sOCjYG
Как нормально клонировать Dictionary<Type2, List<Type2>> ? Чтоб ссылки у двух объектов были разные.
>>676834У словарей?
>>670181Люблю на собеседованиях спрашивать, как как получить unix timestamp, а когда мне радость пишут, спрашиваю, зачем может быть это нужно и в каких случаях, не считая работ с бд. Половина болванчиков отсеивается сразу.
>>676834нормальный вариантdictionary.Clone as Dictionary<Type2, List<Type2>>ебланский вариантdictionary.ToDictionary(kvp=>kvp.Key, kvp=>kvp.Value)>>676978а зачем, кроме экономии памяти, наверное?а все ли СУБД сегодня могут в DateTimeOffset?
под мак для работы с winforms (именно редактор визуальный этот) что-нибудь есть нормальное? xamarin не поддерживает (найти не могу хоть убейте), а работы своих студентов надо как-то проверитьinb4: virtualbox + vs
>>677000Rider же у JetBrains вышел. попробуй его погонять
>>677000Для винформс только вс, сорри
>>677005Там функционал уровня vs code, ничего нет>>677007Спасибо, буду значит в виртуалке кататься
>>677000> 2016> winformsНахрен ты студентов к такому говну проучиваешь. Лучше уже консоль.В Xamarin есть только Gtk.forms, а они не совместимы с winforms.
>>677014а что с формами не так? или ты думаешь, что если студентоте показать формы, они их до конца жизни юзать будут? ну я так точно думаю, например. но формы от этого говном не становятся
>>677016Ты программированию учишь или формошлепству?
>>676834>Dictionary<Type1, List<Type2>> Самофикс. И тайп1-2 ссылочное.>>676912И на них, и на элементы. Все ключи, каждый элемент в списке значений.>>676995А если чтоб и все элементы имели новые ссылки?Алсо можешь подробный синтаксис для Клона написать, у меня не видит такого метода
>>677019я не он
Есть класс MyImage{public int x;public int y;public Bitmap bitmap;}Как коллекцию таких объектов привязать в WPF в какой-нибудь ItemsControl или Canvas или что там есть для отображения графики?
>>677032xaml:<ListBox ItemsSource="{Binding MyImageItems}"></ListBox>code:public List<MyImage> MyImageItems { get; set; }
>>677036Нахуй мне листбокс? Мне нужно граф рисовать, с различными иконками вместо вершин.
>>675992Мне кажется, или леночка вдвое увеличилась в ширину?
>>677039>в какой-нибудь ItemsControl
>>677032>>677039прочти книгу, Wpf 4.5 Unleashed или Pro Wpf. Wpf довольно сложный фреймфорк (многие считают что даже переусложнённый), с наскока у тебя только будет всё больше и больше тупых вопросов и неидиоматичного wpf кода.
>>677041Так я и спрашиваю как это делается.Правда я так понял что никак, только если свой контрол писать.
>>677039для графа нет стандартного механизма/контрола. ибо, понимаешь, нихуя себезато есть куча готовых библиотек/примеров, в т.ч. опенсорс
>>667709 (OP)Здарова, обшарпанные! Console.Beep() не производит звуки короче 100мс, а при переходе между звуками (перебираю через цикл) слышны щелчки или помехи, хуй пойми что. В общем, эта хуйня не работает. Где подводные камни?
>>677146В твоей пищалке?
>>677146делай перерывы между beep`ами очевидно. Ты же не мп3шки там на пищалке играть собираешься?
>>677186Мне нужна сирена, там нет перерывов.
>>677220Ты что там делать собрался, окаянный? Сирену он решил сделать, всякой хуйни я поведал, но это уже перебор.
>>677230>поведалКому и что ты поведал, болезный? Таких, как ты, не способных осилить родной язык, я бы даже грузчиками не взял работать. Вы хуже жывотных.
>>677220>сиренаебашь в NAudio какой-нибудь
>>677238>кокок расея РУ$$$$$$$КИЙ ЯЗЫК!!!!!!>жывотныхИди подмойся, Маня.
>>677238Думал об одном, а написал другое, чего пристал.
>>677267Длительность и высота + длительность пауз это всё, что вообще нужно для музыки. Почему не работает ясное и понятное средство из стандартной библиотеки? И ЗА ЭТУ ХУЙНЮ МЕЛКОМЯГКИЕ ТРЕБУЮТ ДЕНЕГ???
>>6773148/8 b8 and I'm taking itВо-первых, кто с тебя требует деньги за .net framework?Во-вторых, Console.Beep это не апи для работы со звуком, это функция для работы с пищалкой на материнской плате, так как эмулятору терминала положено уметь пищать. Так что оно работает ясно и понятно, только к музыке не имеет никакого отношения - остынь.
>>677324>с пищалкой на материнской платеНо я слышу звук из колонок и наушников, а материнка у меня не пищала вообще никогда и походу вообще не должна пищать. А звук между прочим весьма приятный и чистый, если в ноты попадать, и на 8-битную пищалку типа марио или танчиков потянет.
>>677350>из колонок и наушниковну да>на материнской платеignore this, не спал долго
Кстати про пищалки.. Никто годную библиотеку для проигрывания мп3 и огг не скажет? И что б можно было файлы из дллки проигрывать (с потока), а не только с диска?
>>677021Бамп
>>677618public static Dictionary<T1, IEnumerable<T2>> CloneDictionary<T1, T2>(this Dictionary<T1, IEnumerable<T2>> dictionary) where T1 : ICloneable where T2 : ICloneable{ return dictionary.ToDictionary(kvp => (T1)kvp.Key.Clone(), kvp=>kvp.Value.Select(i => (T2)i.Clone()));}
>>677628Ультраизъебство получается. Самый адекватный вариант в его случае будет сериализация/десериализация в памяти.
>>677669сериализация требует public/internal видимости класса, наличие доступных сеттеров. плюс, возможно, не все есть возможность/необходимость сериализоватьпо большому счету не вижу разницы
Двач, спаси. У меня намечается кризис среднего программиста.Знаю и работаю по направлению дотнета, асп-макака. И вроде работу выполняю хорошо и без изъебств, но всё такое примитивное, что учиться не получается. Чувствую себя каким-то эникеем на гос. предприятии, который напишет задач за 3 часа и плюёт в потолок остальное время. Меня это угнетает, хочется чего-то нового интересного узнать. Однако когда пытаюсь начать изучать это новое, то даже не представляю пригодится мне это в дальнейшем или останется ненужным говном в памяти, и поэтому бросаю.Что сейчас полезно осваивать? Какие направления или поднаправления для дотнетчика может? Где вообще информацию по трендам брать?
>>677759Меняй работу раз в пару лет
>>677764Но сейчас мне нужно что-то делать со свободным временем. Английский я уже знаю.
>>677765В трендах датасаенс, модная джс параша, dnx. Выбирай, пробуй, пили
Блин, а как можно эффективно и красиво, что важно, написать переворот строки на сисярпе? У меня в голове только ToCharArray().Reverse().ToString().
>>678256 Ну и что тебе не нравится в таком решении?
>>678282Слишком медленно.
>>678284Тебе не надо разворачивать строку, тебе надо читать ее с конца
>>678288>Тебе не надоПрости, но это сейчас прозвучало так, как будто ты из треда пердоликов. Еще раз говорю прости, без обид.
>>678284 http://stackoverflow.com/questions/228038/best-way-to-reverse-a-stringВыбирай любой.
Подскажите, как лучше реализовывать фиксирование изменений в существующий бинарный файл: полностью его переписывать, или читать до момента изменения, записывать новую информацию/считывать в пустоту удалённую, и писать дальше? Или всё зависит от текущих размеров файла с информацией?
>>678691пиши с нуля
>>678699Но ведь операции записи на диск медленнее, чем чтение. Или если читать почти весь файл при записи, то будет уходить больше времени?
>>678691> Или всё зависит от текущих размеров файла с информацией?thisЕсли у тебя работа с крупными файлами, и есть возможность их разбить на несколько мелких, это будет неплохим вариантом.
>>678701>Или если читать почти весь файл при записи, то будет уходить больше времениСмотря как организовано это всё.У тебя же это сериализация, нет?До 10-15 метров без разницы вообще.
>>678714Можно сказать, сериализация - записываю и читаю через binary writer/reader. Но без отдельного класса под объект записи.
>>677014Дрочую. Что с формами не так? Объясни, не бей
Это не преступление так писать?lock (SAVE ? (object)dataAlbum : (object)albumRow.Table.DataSet)
>>679063Я бы тебя за такое уволил.
>>679105Аргументация будет или только кукареку?
>>679127Когда-нибудь, тебе, или еще кому-либо, может понадобиться разобрать это говно, и ты точно не будешь благодарен себе за лишнее потраченное время.
>>679143>Когда-нибудь
Стоит ли уже использовать ASP.NET 5 и EF 7 для энтерпрайза, как думаете? Вроде бы уже релиз кандидаты, правда только первые версии. Хотелось бы в новом проекте использовать новый ASP, а не тащить старое говно.
>>667844Как ты себе это представляешь? Ключом будет объект? Ты точно понимаешь, что делаешь?Может все же ключом будет строка Dictionary<string, object>? Или внутри объекта будет свойство, которое содержит в себе объект - Object.AnotherObject?
>>668350>Как быть, если мне нужно часть функционала одного сервиса использовать в другом?Создай сторонний проект, в нем создай папку services, который и выполняет все необходимые манипуляции, а из методов контроллера работай уже с этими классами, отправляй туда нужные параметры, а класс уже сам будет делать что тебе надо, независимо от того, откуда ты их вызвал.
>>672049>Класс наследует другой класс>класс на основе интерфейса>какие-то квадратные скобки>Сложночитабельный код>понапридумывали всякой хуйниТо ли дело родные mov ah, 04Ch, да?
>>679166А мне жаль, что я не застал времена доса. Вот бы я писал вирусы под него, да как бы ксорил ворды в уме! Тогда даже было проще впаривать вирусы лохам.
>>679158Если объект переопределяет GetHashCode и Equals, то почему бы и нет?
Что происходит при вызове Invoke и beginInvoke для кросс-поточных операций? Имею ввиду, вот, допустим, у меня есть два треда. Из одного треда вызываю метод объекта, созданного в другом треде. Получаю ошибку типа "ой братан кросстредовый вызов запрещённая операция всё такое". Начинаю использовать из второстепенного треда Invoke или BeginInvoke с делегатом метода объекта, созданного в основном треде. И вот что меня интересует: при вызове инвоук/бегин инвоук, я отправляю запрос на работу основному треду, и получается, что то, что я вызываю в инвоуках, происходит в том треде, к которому происходит обращение? Или я просто сообщаю треду-владельцу объекта, что вот мол щас братан вот сюда не обращайся, я пока чу чуть поработаю, и в итоге работа происходит во второстепенном треде, в котором и был вызван инвоук/бегин инвоук?
>>679230>Control.Invoke executes a delegate on the thread that owns the control's underlying window handle.
Антонио, мне нужна актуальная литература (на русском) по шарпу. Если, к примеру, на русском 6.0. нету, тогда годная 5.0. Кодил на уровне быдла на плюсах года три - не мое это, слишком я долбоеб хардкорно .
>>679248> актуальная литература> на русскомВыбери одно
Что можете посоветовать птушнику первокурснику для изучения? Знаком с Паскалем на уровне циклов. Разумно будет начинать с Шилдта?
>>679285С HoTT начинай
>>679307Гугл выдает англоязычные платные курсы. Есть что-нибудь на русском?
>>679328Значит, начинай с английского, а не с шарпа
>>679285С Троелсена все начинают.
>>679340Сишарпчую.
Программа с двумя кнопками для записи и чтения из word документа. Как можно улучшить код?[CODE]public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void WriteFrom_Click(object sender, RoutedEventArgs e) { if (richTextBox.Document.Blocks.Count != 0) richTextBox.Document.Blocks.Clear(); OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Word Document (.docx, .doc)|.docx; .doc"; openFileDialog.InitialDirectory = @"C:\Users\Sasha\Desktop\Word\docx"; if(openFileDialog.ShowDialog() == true) { Word::Application word = new Word::Application(); object path = openFileDialog.FileName; Word::Document doc = new Word::Document(); doc = word.Documents.Open(path); string resultStr = ""; for (int i = 0; i < doc.Paragraphs.Count; i++) { resultStr += doc.Paragraphs[i + 1].Range.Text.ToString(); } richTextBox.AppendText(resultStr); doc.Close(); word.Quit(); } } private void WriteTo_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Word Document (.docx, .doc)|.docx; .doc"; openFileDialog.InitialDirectory = @"C:\Users\Sasha\Desktop\Word\docx"; if(openFileDialog.ShowDialog() == true) { Word::Application word = new Word::Application(); object path = openFileDialog.FileName; Word::Document doc = new Word::Document(); doc = word.Documents.Open(path, ReadOnly:false); Word::Range r = doc.Range(); r.Text = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd).Text; doc.Close(); word.Quit(); } } }[/CODE]
>>679353зачем?
>>679356Ну что б понять как лучше сделать
>>679359вопрос был поставлен так: что ты хочешь улучшить?можно написать один уровень абстракции сверху этих двух методов и вынести код туда, можно включить многопоточность, можно нафигачить всяких костылей умных и не оченьну, а еще ShowDialog() разве возвращает Boolean?
>>679361Я вот думал можно ли сделать так что бы один раз приходилось закрывать ворд, но когда я писал все время ворд оставался в фоновых процессах.В пространстве имен Microsoft.Win32 ShowDialog() возвращает Boolean. Это wpf
>>679367Marshal.FinalReleaseComObject(doc)doc = nullпо-моему, это добивает процесс
>>679369Че-то сложновато. Оставлю как есть.
>>679371а че сложного?
>>679380Ну есть же простой метод Close(). А зачем такую структуру использовать.
>>679384потому, что Microsoft.Interop.*.Application, Document, Sheet, etc. - это COM-объекты. их надо убивать потому, что они могут висеть даже после закрытия основного потока в отличии от бэкграунд потоков каких-нибудь форм, которые убиваются CLR-ом
>>679385А где можно поподробней про комы почитать, ну чтобы поглубже IUnknown, не подскажешь?
>>679388MSDN, наверное. я хз, не думаю, что комы нужны на хоть сколько глубоком уровне
>>679389А где их используют?
>>679390для взаимодействия DLL с приложениями в первую очередь
>>679396Я слишком тупой. Можно пример?
>>679403x+2=6x=?
>>679403.NET приложение <-> Microsoft Office
>>6794054
>>679407Не, я про то как это может использоваться
>>6794131. есть какая-то DLL2. есть какое-то приложение, которому нужны методы из DLL в п.13. ???4. COM
>>679415Почему не P/Invoke?
>>679427> Component Object Model (COM) [blah-blah-blah] introduced by Microsoft in 1993потому, что не P/Invoke
>>679388Лучше ресурса чем ".NET and COM: The Complete Interoperability Guide" от Adam Nathan не встречал.Но тот анон прав - нахер не нужно, проще по мерам сталкивания с проблемами гуглить каонкретные вещи.
>>679480Спасибо большое, полистаю. Ибо все равно люблю почитать в свободное время, лишним не будет.
>>679666
Единственная в своем роде лучшая телеграм конфа дотнетчиков и не только https://telegram.me/joinchat/BE8kJwJcbnfMaal12A8sGQ
>>679666Че за книга?
>>667709 (OP)Привет, анон, если ты джун и выше - .NET конфа приглашает тебя в свои ряды. Делимся опытом, помогаем с поиском работы, бугуртим после отказа на собеседованиях, копаемся в чужих говнокодах. https://telegram.me/joinchat/CBkRKT2h17QNagOSer0uNA
>>677765>Но сейчас мне нужно что-то делать со свободным временем. Английский я уже знаю.>>677759> который напишет задач за 3 часа и плюёт в потолок остальное времяhttps://d1u2uhea8ugy8e.cloudfront.net/upwork_freelancer_guide.pdf
>>680012>>679940Я думал что конфа только одна
>>680043ватан бомпанул найс.
Бля как-же туго идет, столько всего в этом шарпе, ахуеть.
>>680082разве что по сравнению с паскалем, лол?
>>680082че там, брат?
Стоит ли переносить приложение с 4.0 на более новую платформу?
>>680272ради async/await стОит. плюс, начиная с 4.5 подправляли ThreadPool, если память мне не изменяет.а в остальном говнонюансы
Есть какая-то тулза, которая позволит промониторит в каких местах проекта занимается файл, в каких освобождается и т.п. Ходить в дебаге по коду и щелкать по файлу unlocker'ом - удовольствие сомнительное.
>>680541API монитор с фильтрами, не?
>>680544че?(
>>680548https://technet.microsoft.com/en-us/sysinternals/processmonitor
Какие ещё библиотеки можете посоветовать, чтобы файлики качать? В стандартной исключений много выскакивает.
>>680576што блять?
>>680576WUT?
При каждом вызове метода Fill адаптера таблицы открывается дескриптор файла базы данных. В Unlocker'е это выглядит примерно так. Т.е. в коде у меня строчкиdAdaptCars.Fill(dbDataSet.Cars);dAdaptCompany.Fill(dbDataSet.Company);dAdaptGenres.Fill(dbDataSet.Genres);и т.д.и после каждого такого вызова открывается файл и больше не закрывается вплоть до выхода из программы.Это вообще нормально? Куда копать?В Гугле нашел "DataAdapter will open and close database automatically when they need", но ведь он не закрывает больше! Так и держит все эти соединения. Притом что все загружается в датасет и держать соединение с файлом вообще не нужно.
>>680608диспоузать адаптер пробовал?
>>680608 IDisposable там не реализован?
>>680609>>680610В смысле?.. Он же у меня потом используется, для обновлений в бд, получений ключа. Там в двух местах, но все же. Просто зачем открывать соединение с файлом для каждой таблицы отдельно и держать эти соединения открытыми.
>>680626для каждого запроса используй отдельное соединениевытягивать данные старайся за как можно меньшее количество запросов
>>680630Я данные вообще не вытягиваю кроме одного раза при вызове Fill, чтобы заполнить датасет. У меня работы с бд реализована через отдельный класс-библиотеку и студия сама сгенерировала эти адаптеры под таблицы. Когда мне нужно обновить таблицу я вызываюif (dbDataSet.Cars.GetChanges() != null){ dAdaptCars.Update(dbDataSet.Cars); }Все удобно, но я сейчас заметил, что для каждой таблицы она открывает отдельное соединение и держит его. И мне это не нравится.
>>680634потому, чтоusing (dbDataSet){if (dbDataSet.Cars.GetChanges() != null){ dAdaptCars.Update(dbDataSet.Cars); }}
>>680637Эм... что? Уничтожить датасет после обновления?
>>680638оу, нетusing (dAdaptCars)
>>680640Ну я попробовал сделатьusing (db.dbDataSetTableAdapters.CarsTableAdapter dAdaptCars1 = new db.dbDataSetTableAdapters.CarsTableAdapter()){ dAdaptCars1.Fill(dbDataSet.Cars); }И он все равно оставляет открытым дескриптор и файл остается занятым.
ПЕ-РЕ-КАТ: https://2ch.hk/pr/res/680675.html