Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.Вся литература вторым постом1. Ресурсы:- 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/707882.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 - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная- Pro Async_hronous Programming with .NET (Richard Blewett, Andrew Clymer) - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg15. Литература не по шарпу, но так или иначе связанная с языком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
Лолhttp://www.opennet.ru/opennews/art.shtml?num=44253
>>718208нехуй на недоязыках писать
>>718214Да ладно, есть же Kotlin плюс как минимум две бесплатные альтернативы (от intel и oracle) robovm.
>>718218Котлин не оч, по крайней мере в текущем состоянии.
14. Литература по WCF- Learning WCF: A Hands-on Guide (Michele Bustamante) - Хорошая книга для новичков с пошаговыми уроками по WCF. - Programming WCF Services (Juval Lowy) - Тоже неплохая книга, но уже для более опытных веб-разработчиков- MSDN - Всегда ваш, КЭП.15. Литература по LINQ- LINQ in Action (Fabrice Marguerie) - единственная, если не ошибаюсь, книга по LINQ.16. Литература по Workflow Foundation- Essential Windows Workflow Foundation (Dharma Shukla)- Programming Windows Workflow Foundation (K. Scott Allen) - две лучшие книги по WF по мнению Stackoverflow17. Литература по Windows Forms- Программирование с использованием Microsoft Windows Forms ( Чарльз Петцольд) - старая, неактуальная книга, как и сама WinForms.- Windows Forms Programming in C# (Chris Sells)
Как с ком-объектами в шарпе работать?
>>718208Хех, невидимая рука рынка.
>>718456var Com = new Com();
>>718456вопрос больше стоит, как их правильно диспоузатьа в остальном - все как всегда
>>718512Там много подводных камней? Просто намечается огромный проект, где будет ком на коме и меня это пугает.
>>718521да не сказал бы. возможно, однажды тебе покажется, что ты программируешь на плюсах с шарпным синтаксисом
При lazy loading с помощью EF каждая связанная запись по одной загружается?Например, есть отдел с коллекций работников(5 человек) помеченный как virtualЯ перебираю этих работников, к бд идет по одному селекту к каждому работнику(5 селектов) или один селект который берет всех работников в этом отделе, но это уже ж eager loading.
>>719326если включен LazyLoading для контекста и нет фильтров для коллекции работников, происходит получение всех связанных Employee для каждого отдела
>>718764Ну спасибо, посмотрим что из этого выйдет.
>>719371Ради интереса, для чего там ком на вашем проекте?
>>719412Техлид умеет только в ком и хочет чтобы весь новый проект на комах был. Странно конечно, лол, но платят дохуя, поэтому я не жалуюсь
Хочу сделать обработку видео потока, стоит использовать сишарп или нужно идти глубже?
>>719447Нужно больше инфы
Альтернатива try-catch?
>>719779Ее нет.
Обработка хоткеев в консольном приложении не через case. Каким образом можно реализовать?
Почоны, йоба запутался полностью. Как регуляркой распарсить что-то типо "ID:56;DATE:25.10.2017;NUMBER:00000094"чтобы на выходе были 1)значения 2)поля?
>>719789ифами, ну
>>719840Обязательно регулярками? Можно же сплитами, так быстрее будет.
Понадобилось следить за папками чтобы автоматически обновлять бд если папку переименуют или удалять. Проблема в том папок может быть довольно много (сейчас 300), а FileSystemWatcher не может вызывать события для следящей папки, только от родительской. Т.е. от каждой директории нужно еще следить родительскую (и получать в лицо все ненужные события о том что там происходит). В общем мой вопрос, как там с производительностью будет и нет ли метода получше.
>>719893А насколько резко реагировать нужно?
>>719893Единственная альтернатива это WinAPI:FindFirstChangeNotification - https://msdn.microsoft.com/en-us/library/windows/desktop/aa364417(v=vs.85).aspxReadDirectoryChangesW - https://msdn.microsoft.com/en-us/library/windows/desktop/aa365465(v=vs.85).aspx> как там с производительностью будетДа хер его знает, тут 99% что тебе никто не скажет.Сделай да замерь в профайлере.
>>719779не провоцировать выброс исключений
>>719879Ну это и подразумевалось в том числе. Я имею ввиду без чего-то по типу "if (xuy == 'c')". Если, например, в классе объявлена переменная, отвечающая за хоткей, то каким образом реализовать конструкцию вида "if (xuy == class.hotkey)"
>>719930Это трудновато будет, когда фреймворк то написан с исключениями.
>>719935Чем вообще не устраивает try/cache?Меня вот лично раздражает что исключения нельзя вернуть из таски в виде "особого" результата, как это сделано в RX.Для одного проекта даже написал специальный классOptional<T> { T result; Exception error;}, но что-то тоже не зашло.
>>719840http://pastebin.ru/M0GOBCs7но имхо регексы тут лишние, сплитов будет достаточно
>>719938в новом стандарте будет возврат нескольких значений. сейчас можно запилить через out параметрытипа int calc(int p1, int p2, out int errorcode);
>>719938Optional это все-таки немного другое
>>719938У таска есть же уже и result и error/exception, ти чиво?
>>719941> сейчас можно запилить через out параметрыПодожду ка я новый стандарт> У таска есть же уже и result и error/exceptionПриведи пример с async/await методом
Шарпач, помоги на асп завести телеграм бота, я нихуя не могу понять как webhook настроить и asp API. Шарп немного знаю, думал блять будет не сложнее чем БД на мускуле библу цепануть, ан нет, соснул и въехал в пня. https://github.com/MrRoundRobin/telegram.bot.examples/blob/master/Telegram.Bot.Examples.WebHook/Program.csвот экземпл, что нужно куда пихать и прописывать? PS SSL есть
>>717891 (OP)Никак не пойму, когда исполняется блок finally ?Из-за него нужно закрывать ресурсы в двух местах ? MemoryStream M;try{M = GetStreamFromCosmos();// что-то делаем с нимM.Close();}catch { // нужен для пересоздания исключений }finally{if (M != null) M.Close();}Так правильно?
>>719955> M.Close();Внутри try не нужно, код внутри finally вызовется в независимости будет ошибка или нет.
>>719955А вообще это можно переписать корочеusing (var M = GetStreamFromCosmos()) {// что-то делаем с ним}работает аналогично try/catch/finally
>>719955он выполняется всегда. суть в том что, у тебя в трай/катч может быть ретурн и если освобождение ресусров не обернуто в финали, то её придется писать 2 раза - и в катч и в трай. что-то типоtry { m = trysomesing(); return true; }catch { return false; }finally { m.Close(); }m.Close() выполнится при вызове ретурн в любом случае
>>719960Нет, это работает как try/finally .Блок catch нужен для пересоздания эксепшена с более высокоуровневым описанием.>>719958>>719962Вот: http://pastebin.com/1kQqmAN8Правильно?
Котаны, есть какие-то годные текстовые редакторы на шарпе?
>>719971эм? написанные на шарпе? или с подсветкой синтаксиса?тебе для чего собсно
>>719947try { await yoba() } catch {} же. Или у тебя там коллекция тасков?
>>719977написанные на шарпе, да
>>719985нашел такоеhttp://texteditors.org/cgi-bin/wiki.pl?action=browse&diff=1&id=CSharpEditorFamily&diffrevision=1
>>719981Ты видимо потерял суть разговора, начиналось все с вопроса> Альтернатива try-catch?
>>719996>>719935адекватный код всегда написан с выбросом исключений. ну а ты делай так, чтобы они не возникали
>>719988спасибо, гляну
>>719962>catch { return false; }Разве из catch возврат не запрещен?
>>720013из finally запрещен
ОБНОВЛЕННАЯ ШАПКА { http://pastebin.com/J3K8uers }ОБНОВЛЕННАЯ ШАПКА
>>720018> - http://www.java2s.com/ - Огромная база исходных кодов для изучения разных платформ, в том числе и .NETсразу нахуй пошел
>>719996Лел, я потому и написал, что ее нет, потому что ее нет. Фреймворк написан с эксепшонами, и конструкции языка на них опираются. Конечно можно на тасках вызывать continue, и там чекать результат, но это же ебаные колбэки, я не для этого на решеточке пишу.
Анон, как затолкать картинки в .ехе? Я добавлял в ресурсы, но потом из .cs кода не нашел способа установить картинку з ресурсов.
>>720048.resx ? Гугли ResourceManager.
>>720051Вообще к файлу resx уже прилагается статический ResourceManager с такимже именем как у файла, и у него сразу есть куча автогенереных свойств с именами всех загруженых в него ресурсов.использование пиздец как сложно:(Image)MyResFile.MyImage;
Можно ли установить на Винду перечисленные в шапке IDE кроме Вижуалки (не ставится почему-то)? Будет ли там работать winforms?
Я конечно понимаю, что это наверное платина, но все же. Почему окно авторизации не закрывается при переходе на следующую форму? Hide, Close пробовал, и с this. и без - не выходит.
>>720122должны. пошукай в документации>>720123ты об чем? давай сначала, тут не телепаты сидят
>>720125Это без особых изъёбов делается? И вообще, какую ИДЕ поставить, чтобы попроще? А то я на сишарпе ещё не программировал.
>>720127я бы выбрал VS Code или SharpDevelop
Пытаюсь парсить сайт погоды с помощью HtmlAgilityPack. И нихуя не понятно. Точнее, раньше никогда ничего не парсил и не работал с веб вообще. А тут такая херня. Как можно нормально это сделать?
>>720224Заплатить тому, кто умеет.
>>720224Ну тип получаешь ноды, читаешь контент, заполняешь свои модели. Наверняка у сайта погоды есть апи, так что парсить вообще не нужно.
>>720224> HtmlAgilityPackКак там в 2009?
>>719924FileSystemWatcher - и есть обертка вокруг этих функций. Ты фактически ему предлагаешь сделать двойную работу.
>>720267А чем парсят хтмл в 2016-м?
>>720271Регулярками конечно же! AngleSharp
>>720271AngleSharp
>>720274>AngleSharpВ чем профит по сравнению с HtmlAgilityPack?
>>720276Тебя это ебать не должно.
>>720276The HtmlAgilityPack (HAP) is a good comparison target, since it is most used and established since a long time. Obviously AngleSharp is a great replacement for HAP due to the following reasons:Standardized HTML5 parsing modelMuch better error correction / handlingAlso parses SVG / MathML elements correctlyCan handle CSS (selectors, rules, ...)Better performancehttps://github.com/AngleSharp/AngleSharp/wiki/Performance
>>720276Не еби мозг. Хочешь парсь тем, хочешь тем. Хочешь регулярками.
В общем у меня есть формочка и мне нужно в отдельном потоке чтобы не блокировать формочку выполнять некий код и посылать сообщения на формочкуФормаКласс в другом потоке, который посылает время от времени сообщения на формуТ.е. чтобы он висел в памяти как формочка. А все примеры с потоками отсылают к выполнению просто некоего кода в потоке и блокировки. А мне не нужно мой класс блокировать (так как ему шлет сообщения другой класс), мне нужно чтобы он висел в памяти.
>>720668http://rsdn.ru/article/dotnet/CSThreading1.xml ой блять лучше бы гей-шлюхой пошел работать
Кажется, что-то нащупал (статью (которая в трех частях, блеат) читал, понятное дело, по диагонали). Что скажете, гуру (пикрелейтед)? Можно ли так делать? Классы действительно не могут "жить" в отдельном потоке, но что нам мешает создать класс в потоке и стопануть его...>>720668-кун
>719939Спасибо тебе, добрый анон. Всего тебе наилучшего :3
>>720123сам разобрался. вторую форму добавил в класс первой, поэтому и не работало
Суп антуаны,насколько нормально использовать вызов обработчика событий в таком ключеpublic void EventName(Object sender, EventArgs e) { if (this.InvokeRequired) { Invoke(new Action<Object, EventArgs>(EventName), sender, e); return; }... основной код метода}Как я понимаю, данный финт ушами проверяет потокобезопасен ли вызов обработчика и в случае необходимости вызывает его в основном потоке?
>>720703Максимум пиздец, BackgroundWorker весь твой. Да и то может не нужен, может у тебя форма то и не будет блокироваться.
>>720758>BackgroundWorker весь твойЧто?>может у тебя форма то и не будет блокироватьсяУ меня не стоит будет ли блокироваться форма или нет, мне надо чтобы это "жило" в другом потоке.
>>720781Раз нихуя не понятно - async/await.
>>720783Мне не нужно получать асинхронно данные. Ты бы разобрался что к чему, прежде чем писать.
>>720818>нужно не блокировать формочку>не нужно получать асинхронноА ты сегодня умный.Ты просил в другом потоке, вот оно будет в другом потоке.Хотя бы с тредами не пердолься, возьми таски. Про background worker так и не смог загуглить?Отсюда кажется что решаешь проблему, которой нет.
Не могу опредилиться:SubStorageAliased & SubStorageDirectly vsAliasedSubStorage & DirectlySubStorageСейчас названия просто охуенны(SubStorage и SubStorage2), но мне чому-то говорят, что я больной ублюдок.Да и вообще с ведущими словами глобальная проблемс, что они похожие классы не наберешь по первым буквам.
>>720887ну вроде бы как названия классов должны заканчиваться общими частями/суффиксами. типа ~Form, ~Message, ~Handler. я за второй вариант
>>720737не финт ушами, а даже частовстречаемая конструкция. можно треды сравнивать, лол
>>720966Лол, я уже сделал первый вариант, префикс специализации хрен наберешь если забудешь, а суфикс иде подскажет. Вообще в проекте все как попало, в половине мест так, в половине по другому.Алсо, тут посаны на стеке пишут, что в генрериках проверять тип Т зашквар, но что делать если без этого никак не обойтись? Для разных типов нужен разный код, если для каждого плодить по методу, как советуют, то у них обидно совпадают сигнатуры.
>>720989если никак без проверки Т, то тебе дженерики не нужны. либо все сделано как-то сложна
В пятницу будет собеседование на стажера с#. Что сейчас спрашивают? Ооп, многопоточность? Что по многопоточности обычно спрашивают? Синхронизацию контекстов и синхр. потоков?
>>721049Неделю читаю про многопоточность, кучу примеров просмотрел - нихуя не понимаю, треды, таски, синк авэйт, домены, что блять, нахуя такой зоопарк наплодили хуй пойми. Документация в основе старая, каждый хвалит свою хуету. Пиздец блять.
>>721055да, многопоточность сложная штука. Тоже плохо в этом разбираюсь, вот думаю че нить к собеседованию повторить/выучить
>>721049Забей. Ты никогда не сможешь предсказать что у тебя спросят. Все эти подготовки с собеседованиям это как по мне хуета полная. Надо уметь делать своё дело, и если собеседующий эффективен, то он сможет это задетектить. Если нет - значит нет. Слив на собесе не всегда вина соискателя.>>721061>да, многопоточность сложная штука. Тоже плохо в этом разбираюсь, вот думаю че нить к собеседованию повторить/выуМногопоточность надо на реальных задачах делать, а не просто дрочить теорию. В большинстве случаев для веб-макак достаточно знать что такое lock и всё. Для клиентсайд и этого не надо.
>>721068я просто с многопоточностью совсем не работал. Максимум в WPF async/await простенький ебашил и на этом заканчивалось всё. Просто вспомнить основные вещи щас хочу:1)OOP2)Generics3)Interfaces&abstract classes4)Lambda and anonymous method5)delegates&events6)nullableну а дальше что то поидее по многопоточности. Хз :/
>>721068>Многопоточность надо на реальных задачах делатьКогда такая куча возможностей реализации многопоточности, что выбрать?
>>721075нихуя у тебя все резвоа типы данных в дотнет? а коллекции? а сравнение? а сборка мусора?многопоточность - это не та штука, которую надо знать (на стажера тем более) от зубов. хотя бы понимать, что такое гонка потоков, как это (для тебя - в теории) можно избежать, зачем это вообще избегать>>721083ну, все реализации подходят для своей ниши задач
>>721125>сравнения?
>>721129Equals, ==, ReferenceEqualsIEquatable, IComparable
>>717891 (OP)В 15 студии запилили лябда выражения в Wathch и Value Expression?
>>721137Да это еще в 2015 студии было
>>721125вот с LINQ ямало работал. Только простенькие запросы писал. Их форсят на собеседовании?
>>721144Тебя вообще спросят про базы данных, джоины там и целостность данных.
>>721144расскажешь, чем отличаются First от Single (OrDefault), считай, на половину вопросов ответил
Может невнимательно читал книжку и всё объяснялось, но:http://pastebin.com/frCivZ8P1) Почему вся запихнута в один большой класс?2) Нахуя нужен класс MyButtonClass? Нельзя те 4 строчки внутри мэйна написать? Что за аргумент в методе run?
>>721149>>721264просто показывают пример как написать кастомную кнопку, ничто не мешает тебе сделать всё в мейне.
>>7212641. что такое "вся" и где там большой класс?2. нормальные люди не тулят все в один метод)
>>721336Всё кроме using. Класс называется "MyButtonClass".Кстати, что значит там : Form?> не тулят все в один метод)Ну блядь. Там 4 строчки. При том, что в мейне одна.
>>721344ммм...ты, очевидно, дошел до UI-ных элементов и не знаешь, что такое Form? или ты не в курсе про синтаксис наследования?ну, давай автор книги сочинит большую логику и напишет сотню строчек кода, дабы тебе было хорошо, что в методах не по строчке
>>721347>ммм...ты, очевидно, дошел до UI-ных элементов и не знаешь, что такое Form? или ты не в курсе про синтаксис наследования?да ето так>...Ой, это же класс конструктор, не заметил. Но вообще понятненько, типа просто так удобнее. А можно было бы и в мэйн захуярить, просто это нелогично.
Сложно ли перекатиться в asp.net? Что почитать? Какую версию лучше изучать, чтобы на работу устроиться?
>>721534если MVC, то 5-6-7. если WebAPI, то, по-моему, выше 2й версии не придцмалиесли есть знания дотнета, то посмотреть понятия сессий там всяких, фильтров, бандлов, маршрутизация, DI. ну кароча вообще, пункт 13 шапки
>>721125>все реализации подходят для своей ниши задачМожешь по хардкору в двух словах описать "тип -> ниша" чтобы знать куда плыть по первой и выбрать правильную реализацию?
>>721639- асинхронные делегаты - делаем операцию с возвратом результата и важно этот результат не проебать и использовать после завершения процесса (не всегда это 100% вписывается вписывалось- ThreadPool.QueueWorkItem, Thread.Start - выполнение операции в фоне и хуй на неё, пускай себе крутится- Parallel, PLINQ - обработка коллекций вписывалосьбез обязательного сохранения порядка- таймеры - цикличное выполнение кода, пока не скажут отбой- ResetEvent - как по мне отличным примером служит управляемая постановка задач в очередь, выполнение которых происходит где-то сбоку- BackgroundWorker - попросту говоря - операция с прогресс-баром. либо же операция, ход которой важно отслеживать в родительском объектеasync/await вбирают в себя первые три пункта в подавляющем большинстве случаеввроде бы ничего не забыл?
>>721655рачье, не дописалне всегда это 100% вписывалось в задачу до появления async/await. однако возможности, которые предоставляют делегаты, нацелены на реализацию некого колбэка опосля завершения работы фоновой задачи
>>721655Parallel это TPL? Те таски и иже с ними. Просто пишу сейчас простенькое приложение, которое реализует http реквесты с сетевым устройствам, думаю что выбрать для реализации многопоточности.
>>721663> Parallel это TPL?Parallel это TPL> которое реализует http реквесты с сетевым устройствамParallel.ForEachили, если есть возможность использовать модные штучкиTask.WaitAll
>>721665Спасибо за ответы, если смогу родить свою идею в виде приложения обязательно выставлю ее на всеобщее порицание. Осталось только понять, почему не работает сохранение в гитхаб.
>>721670и так всегда, собрался мир вверх-ногами переворачивать, а сраный гитхаб все испортил
>>721672Ну я парИнь правильный, начну с переворачивания своего манямирка.
Есть UWP приложение с SQLite базой данных. С БД взаимодействую с помощью Portable Class Library for SQLite(https://sqlitepcl.codeplex.com).Не понимаю как использовать pragma statements.Нагуглил вопрос на SO(http://stackoverflow.com/questions/19369006) и попробовал в конструктор SQLiteConnection передать "Data Source=Sqlitedb.db;PRAGMA journal_mode=MEMORY" вместо просто "Sqlitedb.db". Получилась БД с дефолтными прагмами и стрёмным именем.Что я делаю не так? :(
>>721869http://stackoverflow.com/questions/19369006/sqlite-pragma-settings-with-sqlite-for-windows-runtimeВот нормальная ссылка на вопрос
>>717891 (OP)В MS Visual Studio 2015 Community Edition в открытом проекте исчезло окно конструктора форм. Как его вернуть ?Поиск выдаёт примерно этоhttp://www.cyberforum.ru/visual-studio/thread647992.htmlно то, что там описано, не помогает.
>>721871так а у тебя в чем проблема?правой кнопкой -> Designer. есть такое?
>>721869>Что я делаю не так?Я ду но. :\Ты строчку руками набрал? При копипасте из бровзера иногда захватывает левые символы.
>>721873спасибо за быстрый ответ, посмотрю завтра. На другом компьютере с тем же проектом конструктор виден.
>>717891 (OP)1) Как проще всего сохранить изменения конфигурации в программе ? Нужно сохранять и использовать буквально одну строку.
>>722018OS программа самая простая, один exe-файл без установщиков и прочего/
>>717891 (OP)Подскажите еще, как сделать, чтобы скомпилированная для Windows (xp, 7, 8) программа работала везде без требования установить какие-нибудь библиотеки ?
Шарпаны, при попытке прибиндить двумерный массив к DataGrid'у (MVVM) студия вываливается с ошибкой.Можете ли подсказать, как можно прибиндить массив?
>>722026под какими-нибудь библиотеками ты же не подразумеваешь сам framework?
>>722047такое, напримерhttp://stackoverflow.com/questions/5809816/datagrid-binding-in-wpf
>>722169Т.е. в C# Visual Studio нельзя сделать windows-программу, которая бы работала на любых компах с Windows >XP, т.е. ей обязательно NET нужен ?Мне нужно было сделать простенькую программу с формочками на несколько операций, C# посоветовали как самое простое.. Выход только передалать под что-нибудь другое ? В C++ есть аналогичные возможности работы с формами ? Особенно перетаскивание файлов на панель интересует.У меня c++ не установлено, создать проект и посмотреть не могу. В микрософте написано, что C++ предложат установить, когда я создам новый проект с++, но у меня выдаётся ошибка что компонентов нет и окно создание проекта открывается еще раз. Если в нём нажать далее, снова выдастся эта ошибка.
>>722270Просто установи фреймворк, который уже установлен на 7+ виндах, а хп нинужны.
Аноны, нужна срочная помощь. В общем на c# с GDI написаны примитивы. Пусть будет, допустим, обычный квадрат. Нужно сделать так, чтобы на линии появлялся круг, который движется по линиям квадрата и постепенно уменьшался. Как это сделать?
>>722270в ХР, вроде бы, 2.0 встроен. для простенького калькулятора самое оно
>>722170Это же обычный биндинг коллекции с 2 полями.У меня количество столбцов может быть от 6 до 30.
>>722523чет я тупанулну, смотри че еще нашелhttp://stackoverflow.com/questions/25266821/wpf-datagrid-binding-a-collection-property-to-columnhttp://stackoverflow.com/questions/24539022/how-to-bind-wpf-datagrid-to-observablecollectionили тебе прям надо object[,] засандалить в грид и ни шагу в сторону?
Ну вот, прочел я Троелсена, и что теперь дальше делать? Я знаю как программировать на C#, но не могу написать полезную программу. Подскажите что делать?
>>722657Выпiй йаду.
>>722657Найди задачу и реши ее, если ты читал тролсена, значит делал примеры и понял их. Если ты нихуя не понял - значит ты дебил.
>>722662Пошел нахуй >делал примерыЧто значит делал примеры? Ты имеешь ввиду задачи? Там нет задач. Примеры я просто переписывал и прекрасно понимал как все работает.пошел нахуй
>>722657давай разберем по частям, тобою написанное )) ты для себя сначала определишься, где у тебя начинают возникать сложности
позвали на собеседование, но ребяткам нужен професеонал в SignalR. опираясь на нихуевый старт инвестигейта http://www.asp.net/signalr/overview - могу сказать, что все вроде бы нисложназнающий товарищ, опиши, какие в этой срани есть подводные камни? что из описанного в туториалах покрывает 95% задач?
Шарпач, помогай. Есть софтина на WPF, в окне контрол Image, в нем стоит биндинг с конвертером. Так вот, в этом конвертере я гружу пикчу из интернета и выкидываю контролу. Естественно мне всё это фризит гуй. Надо как-то сделать это асинхронно, но нихуя не получается. То пикча где-то теряется, хотя код выполнился, и не отображается, то еще всякая параша. Прописать у контрола UriSource не вариант. Как быть?
>>722664У Троелсена примеры даются "исскуственые", придуманные для решения одной надуманной задачи или чтобы показать как работает та или иная функция. Эти примеры редко бывают бывают больше ста строк. Сложности у меня возникают с написанием больших(относительно примеров Троелсена) программ. Я вообще не имею понятия как писать большую программу. Не знаю как начать писать такую программу. Мне кажется у меня просто не хватает знаний. Что мне еще прочесть или посмотреть, чтобы у меня решать хотя-бы бытовые проблемы(типа программа, заливающая картинки на какой-то ресурс или программа, которая создает раздачу на рутрекере и т.д.)?
>>722673>чтобы у меня решать хотя-бы бытовые проблемычтобы у меня получалось решать*
>>722671асинхронно загружай контент, колбэком в UIControl.Dispatcher.Invoke тыкай загруженноеhttps://msdn.microsoft.com/en-us/library/ms144196(v=vs.110).aspx>>722673>>722674static void Main() { new GovnoApp().Start(); }начни с этого. а там все как-то само загрутится, знаешь ли. боишься наговнокодить? ну, тогда хуй ты что напишешь
>>722675> колбэкомБля, а что делать, если начнет грузится другая пикча и догрузится раньше?
>>722663Пиздец ты мусор, иди крутить гайки если ты даже не понимаешь зачем ты выучил инструмент.
>>722679штоу тебя происходит одновременный спам по нескольким картинкам в один контрол?
>>722679блокируй обращение потоков к ней, чтобы работали по очереди
>>722683Пруфы маня
>>722691>Пруфы маняТы тредом не ошибся, болезненный? Пруфы чего тебе?
>>722685Ну я нажал на ссылку, она грузится вплоть до 15 секунд, там пикчи по 5 метров бывают, за это время я успею еще 10 раз по другим прожать и все грузятся в один контрол. Сам контрол при загрузке через UriSource при смене Uri сразу начинает что надо грузить, а тут говно какое-то получится.
>>722696Куриhttps://www.youtube.com/watch?v=a4wEaFAA5XQ
>>722698Бля, ну нахуй ты это принёс? Попробуй в конвертере так сделать.
>>722696я вообще нихуя не понял, как должно происходить в идеале? ты клацнул на картинку, она многометровая и долго грузится, в единственный контрол (!) да, ты перешел к другой картинке, клацаешь на нее. и шо блять тут должно произойти?
>>722694С чего ты решил, что я не понимаю зачем я выучил инструмент? Откуда вообще взялась эта немотивированная агрессия? Часто тебя в школе одноклассники дразнили? Девушки возбуждаются, когда узнают, что ты всегда знаешь зачем учишь инструменты?
>>722700> и шо блять тут должно произойти?Сразу начинает грузится другая. При сраных колбэках такого не будет.
>>722701>я не понимаю зачем я выучил инструмент>не могу написать полезную программу>отсутствие технической фантазииcheck>немотивированная агрессия>путать агрессию с пренебрежением в 2016check>попытка психоанализа по посту в интернетеcheckHuman trash as is.
>>722702ну будет, ачо нет?для этого надо отменить скачивание как минимум, это даhttp://stackoverflow.com/questions/10332506/aborting-a-webclient-downloadfileasync-operation
>>722707Ебать у тебя бомбануло, школьник.
>>722713Это троллинг тупостью?
>>722715>маааа, у меня бомбануло
>>722670бамп
>>722548>или тебе прям надо object[,] засандалить в грид и ни шагу в сторону?Да вот не знаю как лучшеУ меня в основном операции с массивами (вычисления), а результат надо отобразить в гридеЧто-то вроде такого:http://pastebin.com/C6GHsCf0
Аноны, поясните за тему рилейтед. 1. Почему непредсказуемая работа сборщика мусора является проблемой, и что вообще делает мусорщик? Как я понял, после выхода из конкретного блока, из стека удаляются переменные по значению, а из кучи удаляются ссылки на объекты/ссылочные типы, но сами объекты остаются в куче? Но разве память при этом считается занятой? Какой алгоритм использования памяти в куче у дотнетовских языков? Разве нельзя просто хуярить в область памяти объекты по новой, если на них не ссылается ни одна ссылочная переменная? Или слишком заёбно проверять каждую область памяти, ссылается ли на неё что нибудь или нет, поэтому, шобы не ебать мозги, пишется в чистую область? 2 В чём разница между Finalize() от Object'a и Dispose() из IDisposable()? Они оба очищают только неуправляемые ресурсы? То есть, нет особого смысла реализовывать IDisposable для класса, в котором не используются неуправляемые ресурсы типа указателей? Или кто нибудь из них всё таки очищает данные об объекте в куче?позязя не шлите в гугол, сам ищу ответы на свои вопросы параллельно, но хотелось бы из первых уст ответы прочесть.
>>7228951. разве работа сборщика непредсказуема? шо правда?> из кучи удаляются ссылки на объекты/ссылочные типы, но сами объекты остаются в кучеопределись, удаляется у тебя че-то из кучи, или не удаляется ничего там не удаляется> Разве нельзя просто хуярить в область памяти объекты по новой, если на них не ссылается ни одна ссылочная переменная?ну эээ можно. только ты при создании каждого нового объекта будешь проверять, на что там что ссылается, а на что нет? память забивается до того момента, пока можно. дальше вызывается сборщик и, либо выкидываем мусор и впихиваем новый, либо расширяем память> Какой алгоритм использования памяти в куче у дотнетовских языков?я, наверное, вопрос не понял. каков алгоритм чего, поиска для очистки сборщика?2. сам осилишь?https://msdn.microsoft.com/en-us/library/system.object.finalize(v=vs.110).aspx
>>722895>что вообще делает мусорщикОбходит граф объектов, отмечает те на которые программа ещё где-то ссылается и удаляет неиспользуемые. Так же раскидывает объекты по поколениям и тд.>из стека удаляются переменные по значениюИз стёка вообще нихуя не удаляется. Тебе, как дотнет макаке это знать не обязательно, но из стёка обычно вообще нихуя не удаляется - при выходе из скопа просто возвращается указатель на прошлый участок стёка. Поэтому стёк считается небезопасным, страдает переполнениями и есть вероятность получить мусор.>а из кучи удаляются ссылки на объекты/ссылочные типы, но сами объекты остаются в кучеСука, что у тебя вообще в голове? Объекты в куче как раз таки чистятся полноценно (хотя это уже зависит от конкретного системного рантайма - в целях оптимизации не все зануляют память и так же попадается мусор).>шобы не ебать мозги, пишется в чистую область? Ебааааать ты шизик. Ты сам того не понял, но боишься фрагментации памяти не зная о ней, лел. Расслабь булки - в дотнете присутствуют дефрагментирующий алгоритм работы с памятью, который легко и просто настраивается.
>>722914>разве работа сборщика непредсказуема?Наверно он имел ввиду что порядок вызовов Dispose/Finalize неопределен и как в крестах надеться на правильную последовательность освобождени ресурсов нельзя.
>>722895Вот соседняя ссылка: https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspxДелай так и не парься за память.
>>722914>1. разве работа сборщика непредсказуема?Да. Непредсказуемо когда он будет вызван, сколько времени отработает (и насколько всё подвиснет) и как отработает (сколько памяти освободит).
А тут есть тре
бушет
>>722428>>722275Спасибо, так и сделаю, наверное, фиг с ним с XP. Какую версию NET минимально надо выбрать для Windows 7 ?
>>723144W7 - .net 3.5W8+ - 4.5+Пиши на .net 4+, а то 3.5 уж больно старый.
>>723149в 3.5 есть все, что надо
>>723286Щас бы async/await.
>>723290с нулл-кондишном
>>723286Щас бы dynamic.
>>723298Поясните за плюсы динамической типизации? Вроде как от этого производительность страдает все дела.
>>723305http://stackoverflow.com/a/2675190
>>723305Там где боксится любой тип. А тебе, к примеру, нужно передавать куда-то конкретный тип (а не object).
В чем разница между асинхронным выполнением и параллельным, словами для обывателя?
>>723396Асинхронное:"Выполни пожалуйста работу, как закончишь - сообщи мне, а я пока своими делами займусь".Параллельное:"Ребят, вот вам работа, я поделил её поровну между вами. Приступайте, я жду."
>>723402Блять, твоего объяснения я ждал столетие.А как через async/await заставить поток сообщать в основной поток свое состояние с возможностью доступа к элементам управления (граф. интерфейс)?
>>723286Лол, всегда проигрываю с таких питухов. Как добавили два сахарка в язык так им резко всем понадобилась ассинхроность и все затопило сатьями "как мы все перtписали заново? но с модной фишечкой".Тащемта в 3.5 нете для ассинхроности уже все есть, тем кто надо просто брал и пользовался.Пруфит: https://msdn.microsoft.com/ru-ru/library/2e08f6yc(v=vs.90).aspx
>>723416Промахнулся от багета. Это тебе >>723290
>>723407Как будто у тебя нет второго потока. try { //Это граф. интерфейс Busy.IsBusy = true; using (Client c = new Client()) //Это граф. интерфейс dataGrid.ItemSource = await c.Method(...); } catch (Exception ex) { //Это плюёт в поток граф. интерфейса ErrorMessageBox.Show(ex.Message); } finally { //Это граф. интерфейс Busy.IsBusy = false; }
>>723416>>723418
>>723420А где сам асинхронный вызов? Просто я что-то не понял как он вызывает код в основном потоке.
>>723497//WCF асинхронный методawait c.MethodAsync(...);//или через Task (void)await Task.Factory.StartNew(() => { /РАБОТА/ });//с результатом выполненияint result = await Task<int>.Factory.StartNew(() => { return 1;});
http://pastebin.com/kdPwqy8fЭта строка объявления выполняет три функции. Во-первых, объявляется переменная myinfo, относящаяся к типу класса InfoUser. Сама эта переменная не является объектом, а лишь переменной, которая может ссылаться на объект. Во-вторых, создается конкретная, физическая, копия объекта. Это делается с помощью оператора new. И наконец, переменной myinfo присваивается ссылка на данный объект. Таким образом, после выполнения анализируемой строки объявленная переменная myinfo ссылается на объект типа InfoUser.Оператор new динамически (т.е. во время выполнения) распределяет память для объекта и возвращает ссылку на него, которая затем сохраняется в переменной. Следовательно, в C# для объектов всех классов должна быть динамически распределена память.
>>723639> Во-вторых, создается конкретная, физическая, копия объекта. Это делается с помощью оператора new.разве?
Есть два стула приложения на C# - служба (windows service, для службы был указан Account LocalSystem) и клиентское приложение(обычное windows приложение, в данном случае консольное), которые обмениваются информацией по именованным каналам (Named Pipes). Проблема в том, что клиентское приложение может подключиться к службе по именованному каналу только с правами администратора.Нашёл в сети решение, в котором предлагается назначить серверному именованному каналу PipeSecurity, содержащий один или более PipeAccessRule. После применения этого подхода серверное приложение падает с исключением System.UnauthorizedAccessException. Подскажите, как по именованному каналу осуществить подключение к службе клиентского приложения, которое запущено без прав админа? Делаю так:Windows Service:http://pastebin.com/B1QvFcVUКлиент:http://pastebin.com/g6a3CPPHПробовал также в коде службы WindowsIdentity.GetCurrent().Name менять на "Everyone", но в этом случае исключение System.Security.Principal.IdentityNotMappedException. Пробовал передать в PipeAccessRule вместо первого параметра выражение new SecurityIdentifier(WellKnownSidType.WorldSid, null)Да и остальные способы из гугла пробовал, поэтому сращиваю вашего совета.
Поясните, почему нельзя передавать по ссылке контролы окна в другой класс?
>>723782Почему ты решил что нельзя? Самый обычный говнокод получится.
>>723787И почему это говнокодом будет?
>>723792Потому что когда у тебя появится баг связанный с контролом тебе прийдеться лазить по всему проекту выискивая места где ты этот контрол дергаешь, вместо того чтобы открыть один класс и посмотреть.
>>723797Но ведь студия показывает, где я эту ссылку использую. И вообще, как правильно тогда подобную функциональность реализовывать?
>>723792welcome to SOLID. UI должен оставаться UIем, любой другой пиздокласс не должен знать подробности реализации (структуру) формы, даже если взаимодействует с ней как-то напрямую>>723801что тебе конкретно надо? можно использовать принцип, заложенный в связывании (binding). один объект (UI) сигнализирует какому-то другому (ViewModel) об изменении состояния чего-то. либо через наблюдателя.
>>723875> что тебе конкретно надо?Чтение/изменение свойств контрола окна из другого класса. Как правильнее такое реализовать?
>>723923WPF и MVVM
ребятки, какими вы (ваша сраная кошка фирма) видит требования в области дотнета и около ее для сабжекандидатов?
Кто-нибудь на GTK или ETO пистал UI? Как оно, аналога WPF для линупса нету, а писать что-то не консольное надо. Поглядываю на XWT, но он в глубокой разработке.
Я конечно понимаю, что я слоупок, но для тех кто не видел https://channel9.msdn.com/Events/Build/2016/B806 рекомендую посмотреть как дебажить в VS и не заебаться, может что нибудь новое для себя узнаете
>>724349Ты бы лучше скинул "как дебажить .net приложения в VS Code".Там (после опыта использования обычной студии) вообще не понятно как запустить в дебаге.
>>724352>We support debugging of C# apps cross-platform via Mono>VS Code Mono debugging integration comes from the 'Mono Debug' extension on the Visual Studio Marketplace.>If you want the best possible experience for those projects and development on Windows in general, we recommend you use Visual Studio CommunityНу ты понел, сначала надо немношк поебаться
Устроился на свою первую работу, посадили фиксить баги.Понял что я не умею пользоваться дебагером, потому что никогда не работал с большими проектами.Поясните, пожалуйстаВот, например, выскакивает меседжбокс или выгружаются записи в гридвью где-тоКак определить где это?Когда просто брейк нажимаешь оно стопает уже после того как все появилось/загрузилось, в коллстэкэ отображаются только вызовы методов в гуи тредахЕсть еще в интелтрейсе опция, чтобы отображать все методы, которые были вызваны, но тогда оно минут 10 доходит до нужного места и дамп вызовов занимает 600 метров.Я только в лоб вариант нашел, писать поиск по всему солюшену сообщение в меседжбоксе, находится где это храниться в хмл ресурсах, определение айдишника этого ресурса и потом находишь где он в коде используется и ставишь там брейкпойнт. Тогда в коллстеке еще не пропадают вызовы которые мне нужны.
>>724804Найди компонент который сообщение то показывает и смотри как он работает, там же и красные кругляши ставить будешь
Парни, вот у меня странный вопрос. На шарпе пишу свой быдлокод, и вот у меня интерес появился к школо крекерству. Вообще это кому-нибудь нужно? Разбираться в байт-коде. И если я с этим разберусь смогу ли я крякать майкрософтовские продукты под .NET?
>>725416Сможешь, я этим давно занимаюсь. Но вот заработать на этом вряд ли удастся.
>>725431Что тебе для этого потребовалось изучить, кроме очевидного IL/MSIL?
>>725416Можешь взять очевидный деобфускатор вроде de4dot и какой-нибудь анпакер и крякать все что движется прямо сейчас с ILSpy, без знания MSIL
Шарпач, что за пиздень появилась у меня после установки второго апдейта 2015 студии? Как убрать?
>>725518как вас не выворачивает от темной темы студии?
>>725521Где вы покупаете новые глаза после светлой темы?
>>725528моя не знать, по светлой мне наоборот менее болезненно глазами пробегатьну, естественно, я сижу не в темноте
>>725521Глупая мода.
Что лучше использовать на небольших проектах - Prism или Caliburn.Micro?
Посоны, почему нет visual studio 2015 экспресс в iso, а только онлайн установщик, где образ скачать?
>>723718Сделай обмен через MemoryMappedFiles.Если не можешь менять тип обмена данных, то хуй его знает, я с Named Pipes никогда не работал.
>>723932Уметь разбираться в любом говне, писать алгоритмы, знать язык и основы сраного фреймворка.
>>726104как-то слишком обобщенно
>>726103Уже неактуально, разобрался.
Как в шарпе создавать переменные с именами, определяемыми извне? То есть я хочу создать переменную с именем, которое вводится с клавиатуры, например, это вообще возможно?Как-то можно распарсить имена объектов WFP? Если имя кнопочки такое-то, то делать-то и так далее.
>>7263021. создавай словарь <string, object>2. https://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.logicalchildren(v=vs.110).aspxтак, наверное(collection).Cast(FramewworkElement).Select(e=>e.Name)
>>726307Спасибо!
>>725518а где ты это, кстати, нашел? на впфах каких-нибудь? я прост не вижу
пацаны, я хер знает куда идти, т.к пишу на шарпе, припёрся сюда. Нужен в ргб палитре цвет ржавчины(пиздецки старой). Всё гугление и юзание пипетки в браузере привело лишь к появлению в моей проге нахуй не нужонного апельсинового цвета. Выручайте, аноны
>>726696этот http://www.colorcombos.com/colors/A55D35 ?
>>726702чё за говно, иди нахуй с ним.
>>726703какой-то агрессивный дятел
>>726702Чуть светлее нужен бы, оксид железа, как на Марсе тип.P.s. Агр не я был
>>726702Вроде такого
>>726713ну шо мне, за тебя цвета извлекать?http://www.colorcombos.com/colors/E67609http://www.colorcombos.com/colors/E76C23http://www.colorcombos.com/colors/B94600
Нэтаны, тут кто нибудь на F# что-то пишет? Есть будущее у языка? Я вот захотел попердолиться с функциональщиной, теперь собираюсь кусок бизнес логики переписать на нём, будет красивее. Имеет ли смысл дрочить это язык кроме как для своих васяноподелок?
>>727117хуй его.. но функционалки набирают обороты это однозначно (у нас, к примеру, в конторе банке типочки целую систему нахуярили на эрланге, все пользуются и продают даже). Я решил все-таки подрочить книженцию одну по F#.. посмотрим что выйдет
>>726984Премного обязан, чувак
>>727117>>727117Я перед увольнением утилиту на фа-диезе сделал, у лида пригорело)
>>726713Больше похоже на цвет нездорового говна.
>>727438у меня, когда шаурма не зашла, такое же
>>719779ифы
Программач,Пару тредов назад я задал вопрос по а именно, зачем такое надо:http://pastebin.com/PRJAgmbsТак как я нуб, то и вопрос задал не правильный, меня на самом деле интересовало КАК такое возможно.Я спросил как это гуглить и вообще как это работает.Искал довольно долго, но оказалось что все очень просто - polygon переменная ссылочного типа, она содержит ссылку на объект. Я вначале это пропустил.Теперь, когда я понял этот прикол досканально, изучение пойдет гораздо бодрее!Спасибо всем тогда мне ответившим, вы мне реально помогли! Спасибо анон!
Шарподебилы плиз заберите к себе всех нубасов которые решили вкатиться в прогромирование.
>>728187Лол нет, пускай питон и джаву ебашат.
>>728195Ну плис. Я даже соглашусь что шарп лучший язык эвер. Только повесьте шапку или банер - шарп лучшее для быстрого заработка денег програмингом или еще что
>>728197А ты за джаву или питон топишь?
>>728200Я не топлю. Я работаю энтерпрайз макакой. И меня заебало что половина любого треда состоят из. Посоны почитал. Шилдта как рубить теперь бабки. Посоны какой учебник взять. Посоны я нихуя не понял. Посоны как стать успешной жабамакакой. И так далее.
>>728202а тут тип нет такого, да?
>>728235Ну и заберите их всех себе их себе. Позязя.
Платиновый вопрос, наверное, но не совсем стандартный:Хочу запилить простецкую игрульку на шарпах (для обучения, не для коммерции). Использование для этого WinForms(был опыт по школе) - мазохизм и нахуй надо? Или сразу катиться в Юнити с его скриптами на шарпе и окунаться с головой в неизвестное?
>>728246Что за игруля хоть решил? Скорее всего да, юнити, но некоторым хватает cli.
>>728246простецкая - это типа пасьянс?
>>728288>>728279Да не, что-то вроде рпг/экономического симулятора на кнопках/пикбоксах с гринданом и дрочем.
>>728300> рпг/экономического симуляторая хз, если это лайт-версия космических рейнджеров без наземных битв и полетов, то можно прикольнуться на WPF. ну а если у тебя стоит на юнити и хочется чисто-конкретно написать что-то этакое, то копай туда
>>728246Зависит от уровня экшона. Если нужно перерисовывать игру 30-60 раз в секунду, то таки да, катись в юните или на любую обертку над дх/огл, иначе хватит обычных винформ с их перерисовкой по требованию ирока, но с максимальным ограничением 1-2 кадра в секунду. Короч, последнее подходит для простых пошаговых игрулек.
Шарпач, чтобы усвоить базовые возможности языка требуется много писать кода, я это прекрасно понимаю. Но моя фантазия хочет чего-то большого, при построении которого я упираюсь в непонимание, как лучше всего это реализовать. Существует ли какой сборник задач по С#? Порылся на twirpx, ничего толкового не нашел. На гитхабе в 90% проекты уже сделаны, их или допиливать до снижения кол-ва багов -> 0 или рефакторить, а как, новичек не знает, а ментора нету чтобы подсказал. Есть у питона сервис, где нету теории но множество задач с подсказками, что лучше использовать. Есть аналог для С# или попробовать адаптировать задачи из него для себя?
>>728399http://www.ex.ua/72463209но не знаю, не обмазывался, не заглядывал. но книга лежит с самого начала моего знакомства с сешарпом
>>728399Вот такую штуку нашелhttp://problembook.net/content/ru/INTRODUCTION.html
Что юзать - Repository для каждой сущности или дженерик репозиторий? Нужен ли unit-of-work? Или в мвс 5 все это нахуй выкинуть и юзать model binding, который я пока не пойму никак
>>728558применение UoW и model binding зависит от масштабов твоего говнопроектаесли выбирать тут "Repository для каждой сущности или дженерик репозиторий", то конечно Repository<T>
>>728558Мне вообще здесь пояснили что репозиторий это устаревшее говно и нахуй не надо.
>>728581А что вместо него надо?Как без него юнит-тесты пилить и вот это все?
>>728585EntityFrameworkВ EF 7.0 появился Memory Provider, как раз для юнит-тестов
>>728601ef7 уже вышел?
>>728602Ой блин забыл, сейчас он называется EF Core 1.0Пока RC1 вышел, там точно есть поддержка:1) Memory2) MS SQL Server (тестировал на винде)3) Posterger (тестировал на убунте)4) Sqlite (тестировал на убунте)
>>728606Это, конечно, здорово, но в контексте EF5-6 и MVC5 таки оборачивать DbContext в репозитории и UoW или можно как-то проще?Просто, DbContext - это уже сам по себе ЮоВ, и в нем есть репозитории, и оборачивать подобное в подобное мне не кажется хорошей идеей, но уровень абстракции, чувствую, какой-то нужен, хотя бы для юнит-тестов или чтобы поменять потом EF можно было на что-то другоеХотя я ей-богу, не могу представить сценария, в котором будет необходимость последнегоКороче, я запутался немного, разъясните за щеку, пожалуйста
Шарпач, поясни за String.FormatНужно запилить таймер в формате (Х дней Х часов Х минут)Можно так сделать через формат? Мануалы читал, но так и не понял как это реализовать.
>>728627https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspxвнизе табличка
Посоны, есть io bound метод, их много и нужно выполнить их параллельно. Если я просто их заверну в таски, это ведь не очень выйдет? Планировщик поставит их в очередь и возможно выполнятся они последовательно, а мне нужно чтоб прям здесь и сейчас. Есть async аналоги этих методов и события их выполнения, они то ведь сразу начнут выполнятся? Если уже эти пары завернуть в таски получу ли я что нибудь полезное?
>>728655асинхронные делегаты с коллбэками
>>728655и вдогонку, я не уверен, что io операции в тасках будут схуято выполняться последовательно
>>728628Уже три таких прочитал. Но нихуя не выходит. Сплошные исключения сыпятся.ts.ToString("%h hours %m minutes") - что тут не так?
>>728695похоже, у этой хуиты проблемы с пробелами. попробуй через string.Format("{0:%h}...", ts)
Решите пожалуйста, у нас начали преподавать с#, а я в программирование нуль и не понимаю ничего.
>>729121
>>729132выбора особо не остаётся, сама не могу разобраться
>>729133>не могу разобраться Не можешь разобраться с чем: C# или задачами?
>>729121В этих задачах не программировать нужно уметь, а математику знать. Программирования тут и на базовом уровне аля C# за 2 часа хватит.
>>729136Задачи понимаю, не знаю, как написать, весь код в одну систему сложить чтобы работала программа.
>>729147Сиськи с супом /pr/ и мы подумаем.
>>729147ну ты пробуй, авось что-то получится, а мы подправим, есишоно товарищ выше прав, черт возьми
обоссы меня господь
>>729188Так она не хочет думать, она хочет чтобы за неё подумали мы пока она пососет ашоту за гаражами. Типичная тня короче.
>>729206 >>729188Вы блять серьезно? Это же просто зеленый, который решил развести спермотоксикозников.
Ананасы, помогите с EventAggregator в Prism. Как выполнить событие в текущем потоке? Он на выбор даёт фоновый/отправителя/UI, а если я пытаюсь получить событие в другом потоке, то начинается какая-то необъяснимая хуйня, код начинает жить своей жизнью. У UI есть Invoke, а как у себя в классе такое сделать?
>>729206>>729220чи не похуй? типа я бросился решать это говно>>729238ты чтили вообще в каком-то третьем потоке находишься? какие-то макароны
Анон, нужно допилить прогу на шарпе для курсовой, но в программировании я не очень. Подскажи годный ресурс где можно заказать прогу.
>>729482Очевидный 2ch.rufl.ru, сообщества vk.com
>>729482Закажи у меня. Что сделать надо?
Есть нормальные видеокурсы по mvc5?
>>729640на pluralslight
Какой-то убогий стал шарпотред. Уровень дискуссии на нуле. Вы не ахуели тут? Даже ньюфагам через раз отвечаете. Захожу раз в месяц вас проверить и с каждым разом все унылее.
>>729482>>729574Але, братюнь. Скажи, что запилить надо? Я сам нюфаг, потренироваться охота.
>>729954> ньюфагам через раз отвечаетеНюфаги иду нахуй ты тоже
>>729954Не вижу твоего клоунского колпака. Зажог бы тред если так редко заходишь.Прост в начале треда надо задачки вбрасывать уровня спец-олимпиады, хоть обоссать будет что.
>>729979Сайт для генерации комиксов asp.net mvc.
А мне нравится шарп, антуанетты. Я писал на спектрумовском бейсике, асме Z80, Delphi, и потом перешел на шарп. Это охуенный язык, хотя есть и спорные вещи, но с моими задачами они не проявляются.Охуенные дженерики, охуенные атрибуты, охуенный LINQ, охуенные ламбада-выражения, охуенное отсутствие заголовочных файлов, охуенное отсутствие секции предварительных объявлений, охуенная возможность писать функции в произвольном порядке, охуенная студия с охуенной подсветкой и охуенной автоиндентацией, охуенная коммьюнити, охуенная библиотека в охуенном стиле охуенного ООП.Я пишу на шарпе уже 7 лет почти (пиздец как быстро время пролетело, даже на ебаном Delphi я писал всего 6 лет, а кажется будто чуть ли не вечность) и до сих пор тащусь от этого языка. Я его сам выбирал, сравнивал разные языки и шарп как был охуенным, так им и остается.
>>729954значца, сделал у нас лид девелопер "решение", позволяющее отвязаться от ссылки на EF в запускаемом веб-проекте путем добавления несложного уровня абстракции и, главное, полным отделением проекта DAL.EF от чего бы то ни было. при этом, дабы естественно, оно все работало, post-build ивентом библиотеки данного проекта вкупе с либами еф копируются в bin вебана вопрос зачем так, ответ был, как я указал, отсутствие ссылки на еф в главном проектена вложенный вопрос нахуя (ссылка есть не просит, дополнительного функционала и неудобств особо не приносит, просто будучи включенной), ответил вотшто: это во-первых круто, мол, отвязываться от конкретных источников данных. также во-вторых сильно уменьшает количество проблем если проект внезапно соскочит на другую орм или (!) на другую субд (не реляционную). ну а -третьих, мол, микрософт так советуют делать, все пошли и я пошелвозникает у меня вдогонку три вопроса к вам человекам:1 адекватный ли это подход (в целом, включая механизм внедрения библиотек)2 наличие целого слоя абстракции источника данных - это недостаточный способ отвязать приложения от всего начиная от механизма получения данных, заканчивая субд?3 разве это не пиздец, если ты вдруг начинаешь переориентировать проект на другой по механизму источник данных? во-первых переход хотя бы от ms к mysql уже создает проблем, не считая замену рсубд<->графы<->досубд4
>>730072шарп не был таким и охуенным, но он им заслуженно стал
>>730096а 4 не придумал, да
>>730099
>>730054Не, я слишком нюфаня для такого.
>>730151ну серьезно ж, дотнет до 3.5, нф до 5, веб-формы, мвс до 3, впф - это ж все лютый пиздец
>>730320> ef до 5 *
Господа, как лучше всего обновить ComboBox при выборе пункта из него? Использую WPF, склоняюсь к DropDown, но как из обработчика события изменить Items?
>>730488использует WPF, но не пользуется байндингом
>>730490Список получается от статического метода, я слишком нюфана чтобы уметь биндить такое.
>>730494view model влияет на view, model влияет на view model. не знаю насколько статический метод в твоем случае - разумный выбор, но раз уж так, то пускай будет так
>>730497заебись, чотко. только я пишу без использования mvvp тк у меня простенькое приложение и такая монструозность пока ни к чему.
>>730498ну тогдаcomponentName.EventName += (s,e) => otherComponentName.Items.Add/Remove/Clear
Как насчет сделать джаберовскую конфу этого треда?
>>730521ты разрешения спрашиваешь? делай
>>730524Я вношу предложение, и лучше делать ОПу этого треда, что бы без проблем в шапку добавлять.
>>730521>джаберовскую Как там в 2008-ом?
>>730570можно по фану в мирке еще скооперироваться. а там, глядишь, фидо поднимем
>>730525Нахуй пошел, вместе со своим конфочкамиOP
Шарпач, раньше создавал кастомную команду и биндил её таким образом:http://pastebin.com/EhBZK61TСколько не пытался, не получается прибиндить (MVVM).Подскажите, как прибиндить её, используя MVVM?
>>730749Command="{Binding local:HuiPizda}"
>>730802эту команду, помимо всего прочего, нужно всунуть во вью-модел класс, а экземпляр класса сделать DataContext окна (компонента)
>>730802>Command="{Binding local:HuiPizda}">>730804>нужно всунуть во вью-модел классRelayCommand?Если в Executed, то ошибка.Мозг уже кипит...Исходник прилагаю.http://rghost.net/7RmRClmsG
>>730867а по какому событию у тебя должна вызываться твоя команда? ты её повесил ниначто
>>731081соответственно и вешать студия предлагает её на DependencyObject
Может я сейчас платину задам, может меня отправят на хуй читать шапку, но имею один вопрос. Хочу вкатиться в ASP.NET, в 2016 вообще имеет смысл? Джуниоров вообще берут легко? С чего начинать если опыта в программировании практически нет?
>>731117Читаешь очередной такой высер и думаешь, то ли сразу скрыть, то ли по тролить?Пожалуй скрой.
>>731117стоит вкатываться в джаву. а отсюда вали к хуям
>>731144Кого ты скроешь без айдишника, болезненный?
>>731081>а по какому событию у тебя должна вызываться твоя команда? ты её повесил ниначтоВ смысле? Сочетание клавиш или что?>>731084>соответственно и вешать студия предлагает её на DependencyObjectНе понял. Можно ли поподробнее?
>>731269> В смысле? Сочетание клавиш или что?в какой момент развития вселенной необходимо выполнение команды?> Не понял. Можно ли поподробнее?ты говоришь такой своему приложению: вот у меня есть команда, на, короче, забайнди её и запускай когда надо, а по завершению на тебе колбэк. но проблема в том, что приложению непонятно, когда тебе там надо. ты обьявил её в Window.CommandBindings, а остальное тебя не ебёт. связывание происходит со вполне себе конкретной пропертей объекта, либо с триггером какого-либо объекта
>>729954Я раньше старался тут всем отвечать и помогать, но сам в итоге нашел работу, лол. Теперь времени почти нет.
>>731352но ведь двач - это единственные твои друзья
>>731292>связывание происходит со вполне себе конкретной пропертей объектаВ моём случае это свойсво TestCommand, нет?Вот только я не могу его привязать к Executed.С простым кликом не было бы проблем.
>>731426блять, какой пиздец
Сап, дотнетеры.Если так писать> foreach (var result in results.Results.Where(r => ...))Он ведь не будет при каждой итерации запускать выражение? Или нужно отдельную переменную?
>>731729Не будет
>>731729Не будет, подробнее читай у тролсена в разделе LINQ
> In other words, once a Task has a Status of “Running”, calling Cancel() on the CancellationTokenSource no longer has an effect on the actual Task, it is up to the Action within the Task to respond to the token’s message. Additionally, even though the Task has been “canceled”, it reports a status of “RanToCompletion” as if nothing unusual happened!Сколько нам открытий чудных он готовит!
>>731729Нет конечно.
>>729954Все должны отвечать ньюфагам кроме тебя. Какой-то дядя должен прийти и ответить.
>>730096У нас тоже самое говорят про "а что если перескачат", ни разу не перескакивали, манагер не разрешит переписывать доменную модель с нуля, это пустая трата человекочасов. В целом подход норм, но в большинстве случаев достаточно просто ninject сделать и все.
Почему даже для написания простого приложения на WPF требуется использовать MVVM? Мне нужно лишь простенькую форму использовать, зачем приваривать монструозные фреймворки типа Катель или Призм? Почему ипользование заоконного кода это признак дурного тона? У меня от все этой хероты острый приступ СЛОЖНААА.
>>731784Во-первых, для твоего хелловорлда от тебя никто ничего не требует.Во-вторых, пейсание без этих паттернов признак говнища только в проектах которые будут расти, ибо иначе получится лапша со вкусом земельки после тёплого летнего дождика. Опять же – не хочешь – пиши как хочешь, всем грубо говоря насрать.
>>731790Спасибо, держи снег 1ого мая.
Гуру тасков.> if(cancellationToken.IsCancellationRequested) cancellationToken.ThrowIfCancellationRequested();Это единственный легальный способ убивать таск? Везде внутри таска ифы пихать?
>>731806интернет лучшего варианта не предложил
>>731806А ты как хотел? Тред кикнуть что-ли?Нормальная практика, в Reactive Extensions тоже самое, только там токен встроен по умолчанию.А вообще, с жесткой отменой таски слишком много проблем, нужно правильно откатить изменения на каждой стадии.Проще дать ей закончить и проигнорировать результат.
>>731784На самом деле можно спокойно мешать MVVM и заоконный код. За окно смело толкай то, что никогда больше не тронешь. Городить костыли в ViewModel вместо одной строчки за окном - вполне себе говнокод.
>>731292>>731426>>731450На свежую голову поразбирался ещё.Привязку можно задать только в объекте DependencyObject.Поэтому Executed не может получить ICommand из ViewModel.Как тогда мне скормить ICommand в Executed?
- 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) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.На какой стул первым садится?
анон памаги. Нужен сетевой обработчик ака сниффер ака фильтр лайк впе про. нашел вот эту тему https://habrahabr.ru/post/259459/в конце темы есть пример коданемогу понять как у инжектора выбрать процесс целевой. И как настроить длл под фильтр пакетов вида 00 00 00 заменить на 00 00 01 к примеру. анон памаги.
>>731837андрюшу троелсена
>>731841Решили, что в 16 году будем советовать только албахари, а троелсена не будем.
>>731845вот у меня есть албахари 5.0 это справочник, забыл - посмотрел, сухая короткая теория. У Троелсена хоть какое никакое применение в обучении
>>731854читай албахари давай
>>731864НО... ок спасибо
>>731845Двачую>>731854Так тебе in a nutshell нужен
>>731883я про него и говорил
>>731836Я так понял у тебя там хоткеи? Тогда тебе нужен InputBindings.
>>731837Троелсен мне не понравился. Из него узнал по сути только ADO.NET. Всё остальное какая-то хуйня, очень хуевое изложение. Больше всего понравился John Skeet C# in depth.
Как заполнять листбокс, чтобы по клику получать много свойств этого элемента? Скажем у меня есть список словарей с ид, названием, датой и еще чем-то, как эти все значения передать в листбокс, чтобы в нем были только названия, но по клику я мог получить все эти остальные значения?
>>731986>Binding?
>>731991Все равно нихера не выходит с заполнением.Листбокс в хамл<ListBox x:Name="listBox" Margin="0" FontSize="64" ItemsSource="{Binding Computers, Mode=OneWay}" DisplayMemberPath="Name" MouseDoubleClick="listBox_MouseDoubleClick"/>http://pastebin.com/virZEfhR код класса.Что я не так сделал?
>>732003Пункты вообще не появляются или появляются без текста?
>>732018Разобрался уже, http://stackoverflow.com/questions/21128666/how-to-bind-observablecollection-with-listbox-in-wpf помогло.
>>731945>Я так понял у тебя там хоткеи?Да, хоткеи.>InputBindingsС его помощью приходится биндить команду минимум в двух местах.И в случае если источников команды много это будет не очень удобно.А по поводу этого:>Как тогда мне скормить ICommand в Executed?решения нету?
Таски... надо замыкать таски... я успешный человек я замыкаю таски
Пишу с калькулятора. Я хочу сделать так, чтобы весь await async код выполнялся в одном потоке, не в ui приложении. Со всеми плюшками и удобствами. Мне достаточно для этого реализовать синхрконтекст (как?) или ещё что-то нужно?
>>732255Ты имеешь в виду что у тебя будет одна очередь фоновая очередь на выполнения тасок?Если сможешь это сделать с помощью синх.контекста, отпиши потом как сделал.Я в свое время смог сделать что-то похожее только с SemaphoreSlim.У него есть метод "Task WaitAsync()", который удобно использовать в async/await.В итоге потоки там конечно разные, но не более чем один одновременно-работающий.
Помогите пожалуйста, уже заебался.Есть вот такой джсон. Цель - получить значение, там где стрелочка. (picrl#1)Использую Ньютоновский Json.NetДля проверки (пытаюсь достать значение success) использую такой код и получаю такой результат (picrl #2)Но когда пытаюсь использовать value[0] вместо value["success"], шлет нахуй, пишет ожидается имя элемента. Как мне получить доступ по индексу? Или узнать какое имя у N-го элемента, чтобы уже использовать имя?
>>732318Ти чиво, индексы в json'е у него
>>732321Ну если они в документации могут, то почему я не могу?
>>732322http://www.newtonsoft.com/json/help/html/QueryJson.htm
Вот тут лютая годнота для начинающих (особенно не шарящих в программировании)https://ulearn.azurewebsites.net/
>>732322В этом и проблема твоего жсона.Надо массив, а у тебя там просто объекты не в массиве. Скинь вообще тот жсон с пика.
>>732327http://steamcommunity.com/id/sum42/inventory/json/730/2
>>732322Там обращение к массиву, а тебя - не совсем
>>732318Что за хуйню я прочитал?Сформулируй задачу так, чтоб я понял. Ты берешь весь json и обзываешь его value. Потом ты берешь у этого jason корневой элемент success. И разумеется он берется. Но потом ты пишешь какую то хуйню.Что бы получить то, что sn любовно нарисовал стрелочкой, тебе нужно пройти по всем веткам.Вот как получить ее:value["rgDescription"]["цыферки"]["descriptions"][6]["value"] = ""
>>7323271. Вместо цыферок, я хочу использовать индекс, потому что нужно пробежаться по всем этим циферкам.2. Не [6], а ["6"]
>>732338Специально для тебя был изобретен foreach
>>732338> 2. Не [6], а ["6"]Все что в кавычках считается именем. Если ты впихнешь индекс в кавычки, то будет искать ветку с именем "6", которой там нет. Но .т.к. там просто массив, то нужно ставить именно [6] как индекс.
>>732339Так?Это не работает, если что, но я не могу понять почему. Тип элементов точно JToken, потому что если пытаюсь вывести в textBox без .ToString(), то пишет что нельзя JToken в string неявно
>>732346Cannot access child value on Newtonsoft.Json.Linq.JProperty.
>>732349А погуглив эту ошибку я нашел решение.Спасибо няши, помогли.
>>732346> Так?Нет, не так. foreach работает только для однотипных коллекций. У тебя в rgDescription условно разные именованные элементы. Сперва получи их набор через Vhildren. Потом уже можешь по ним ходить.> если пытаюсь вывести в textBox без .ToString(), то пишет что нельзя JToken в string неявноСамый охуенный способ ухнать тип переменной.
>>732271>Ты имеешь в виду что у тебя будет одна очередь фоновая очередь на выполнения тасок?Да, одна очередь на выполнение всего async кода.
>>732271То есть по умолчанию в не UI нет синхронизатион контекста. От чего весь async код отправляется в threadpool. А я хочу сделать синхконтекст как в UI потоке, чтобы все говно исполнялось через очередь.
>>724804А найти место куда точно попадает перед тем что тебе нужно, а дальше ф11?
>>732409Кстати читал "Нет никакого потока" https://habrahabr.ru/post/216659/async/await в C# такие прикольные, это просто коррутины которые вызываются последовательно.Будет ли это делаться через потоки или IO/прерывания это внутренняя реализация.Для своих тасок ты можешь написать кастомный TaskScheduler (если это не PCL).Но если будешь использовать внутри этих тасок вложенные async/await, то там уже меньше контроля.В все время наебался с PCL (общий код) для Xamarin (Android/iOS/WP) в итоге остановился на SemaphoreSlimЭто самое простое и нет зависимости IO это или какие-то рамдомные методы чужих библиотек.P.S.Если кто смог сделать по другому, буду рад услышать.
А если есть например код у меня без асинков всяких.Его можно юзать из асинк метода? Чтобы не блочило.
>>732543шо? не юзать await GovnoAsync() в async-помеченных методах?
>>732543А нафига тебе это вообще нужно?У меня были задачи:1) сделать загрузку картинок с кэшированием1.1) загрузки (во временные файлы) были в 3 потока1.2) модификация дискового кэша (добавление удаление записей) в 1 поток2) Работа с SQLite базой в 1 потоке, в независимости от того с какого потока она вызывается.При этом было нужно не держать явно потоки, а пользоваться всеми плюшками стейт-машины async/await
>>732353Ну и как исправил?
Ананасы, посоветуйте что-нибудь по архитектуре. Даже с MVVM код рано или поздно превращается в нечитаемое говно. Вот опять сижу и пытаюсь отрефакторить эту срань. Что посоветуете почитать такому аутисту?
>>732603Руководство Microsoft по проектированию архитектуры приложений
>>732338
>>732574>>732577Вот есть у меня обычный метод string MakeGovno()Есть async метод нажатия кнопки.Как мне в этом методе вызывать MakeGovno, чтобы не блокировало вызывающий поток? В данном примере это ui.
>>732625public async void ButtonEventHandler(...) { await Task.Run(() => MakeGovno());}
>>732623Пиздец, чому бы не десериализвать это в нормальные объекты и не ебаться со словарями?
>>732629или использовать ссылку на метод (если они оба в одном классе)public async void ButtonEventHandler(...) { await Task.Run(MakeGovno);}
>>732632Какими еще словарями? >десериализвать это в нормальные объектыНо тогда ведь придётся еще и сам класс-объект этот делать, а это нахуй надо ебаться с таким жсоном большим.
>>732640ну разве что если тебе из огромного джейсона нужно полтора проперти
>>732629А значение как получить из метода?
>>732645замыканием
>>7326401) В новой студии есть генератор классов из JSON "из коробки"2) http://json2csharp.com>>732645пикрилP.S. Иди уже какую-нибудь книжку по async/await почитай
>>732318В чём на первом пике открыт жсон?
Я знаю c++, могу в ангельский, но плохо. Смогу ли я понять что написано в The C# Player's Guide, второе издание (RB Whitaker) и CLR via C# (Jeffrey Richter)?
>>732682рихтер есть в переводе, для общего понимания достаточно
Шарпаны, есть задачки для убер новичков? Только не для циклов-хуиклов, а для объектов и методов. Даже не задачки, а сборник типовых решений что ли.
>>732688http://lmgtfy.com/?q=c%23+problems+for+beginners
>>732688https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=c%23%20koans
>>731854А Рихтер уже ненужен?
>>732688Я кидал выше >>728471
>>732706Олсо, добавьте это в следующую шапку плз
>>732706Спасибо братишка, сотен нефти тебе.
>>719840Я бы так сделалhttp://pastebin.com/jJkjkkS4
>>7327271) В чем прикол использования Equals (вместо ==)?2) Чем твои InvalidCastException лучше FormatException метода DateTime.Parse?3) Наверное (надо уточнить) через Select/SelectMany можно сделать это в функциольном/чейнинг стиле.
>>7327391) В string без разницы, там он переопределён. В других ссылочных типах производится проверка на то, указывают ли ссылки на один объект в куче2)Что-то DateTime.Parse мне ничего не бросило, а я просто получил хуйню в результате. Пикрил.3)Да, я тоже об этом подумал, но по моему помешает var item = new Item(); внутри цикла.
>>732727ОЧЕНЬ МАЛО РЕФЛЕКСИИhttps://dotnetfiddle.net/ocxFKo
>>732755Ну ладно, у тебя поинтереснее вариант.
Помогите ньюфажине. Упорядочил массив пузырьком, теперь хочу записать все элементы и повторяющиеся выделить цветом. for (int i = 0; i < array.Length; i++) if (array == array[i + 1]) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(array); } else { Console.WriteLine(array); Console.ResetColor(); }И естественно при такой проверке [i+1] выходит за пределы массива. Как по другому проверить? Или пердолить условие на "проверку проверки"?
>>732755>>732756Хотя и менее понятный (по крайней мере мне)
>>732758Основные 2 мысли которые я хотел донести: не надо if (fieldName == 'yoba') делать, класс у тебя уже есть, имена полей можно взять из него; (int|DateTime|yoba).Parse это конечно здорово и типизированно, но есть Convert.ChangeType
>>732757for (int i = 0; i < array.Length -1 ; i++)
>>732757http://pastebin.com/0yQrHwFq
>>732771>CountА надо было сгруппировать.
>>732773Не понял
>>732776http://www.tutorialspoint.com/compile_csharp_online.php?PID=0Bw_CjBb95KQMSU9xOHU4SUY5ODA
>>732770Ну он тогда последний элемент теряет.
>>732785Ещё один нюфаг.
>>732785>Ну он тогда последний элемент теряет. array[i + 1]
>>732318Что-то я не понял проблемыhttps://dotnetfiddle.net/ocxFKo
>>732801Спасибо, котик, но мы этот фидл уже постили, в json он не умеет.
>>732803Простите, котик обосрался.https://dotnetfiddle.net/9uHg9H
Кто-то устраивался на работу по си шарпу? Что спрашивают на собеседованиях? Надоело фрилансить за еду.
>В чем разница между интерфейсно-ориентированным, объектно-ориентированным и аспектно-ориентированным программированием?
>>733192Они ориентированы на разные концепции. oche mali yoba
>>732530http://pastebin.com/8Akyppdw
>>733197>В чем разницаНу ты совсем тугодум.
>>733182та добавьте вы уже это блять в шапку
>>733212Оу жесткий лок. Я правильно понимаю что поток будет заблокирован на время отсутвия заданий в очереди?
>>733182Три столпа ООП платина, reference-types vs value-types, GC, как реализовано множественное наследование, если веб-макакой - типы джоинов, путь запроса от клиента до базы и обратно. Возможно, настройка ииса, уметь зайти по рдп.
>>732581Не знаю, вдруг ты прочитаешь, но вот как мне и посоветовали, взял Children от rgDescriptions.
>>733251чота жиденькое собеседование получилось
>>733266Я такое на мидла проходил. Ну еще плюс простая задача.
>>733251Что-то изи какое-то. Хотя у меня на последнюю работу тоже как-то собеседовали так себе.Какие паттерны работы с базой знаешь, чем гет от поста отличается, что такое индекс бд и какие побочки от него могут быть.
>>733278Какой город?
Планирую понаехать из провиции в ДС2. Очкую проходить собеседования, не люблю краснеть когда задают вопросы, на которые я не знаю ответы.
>>733280> какие побочки от него могут быть. И какие же?
>>733284Замедлят вставку, базу в размере разнесёт из очевидных. + Надо следить за индексами: ребилды, дефрагментация, етц.
>>733282Отвечай что не знаешь и пусть задают следующий.
>>733299У меня ощущение будто я в своей провинции макака, а в мегаполисе все умные пиздец, я же ошибаюсь, да?
>>733280Ну это не все, что было. Просто самое интересное. >>733281Тула
>>733304Не узнаешь, пока не проверишь. Но на самом деле макаки везде есть.
>>733321> Не узнаешь, пока не проверишь. Но на самом деле макаки везде есть. Ну это правильно, тоже так думаю
А есть тут такие кто помимо шарпача знают еще один язык? Только не на уровне поиграться, естественно. Подумывю вкатиться в мобильную разработку на ведре. Хотелось бы на айось, но там анальный мак нужен или вмвар с кастылями.
>>733327> А есть тут такие кто помимо шарпача знают еще один язык? Я знаю.> Подумывю вкатиться в мобильную разработку на ведреВкатывайся в Xamarin.
>>733359Что за второй язык? Ты на нём зарабатываешь или используешь на той же работе(не js, я надеюсь)Зачем ксамарин? В нём профит если только под ios. В андроиде яву не так уж и сложно осилить.
ребзят, какие, если есть, есть механизмы поддержания целостности данных при наличии двух (и более) источников данных, скажем, рсубд для аутентификации, граф для контента? пыщьпыщь>>733280мне сделали предложение на основании собеседования (лол) из шести вопросов
Что паттернам лучше почитать?
>>733379http://rutracker.org/forum/viewtopic.php?t=4835979
>>733391Говорили что это слишком сложно для начала.
>>733398Тогда эта, ищи там жеhttp://shop.oreilly.com/product/mobile/9780596007126.do
>>733401>>733379тоже фриманов читал для начала. по ходу прочтения мне все больше казалось, что я читаю литературу для аутистов, ибо обьясняют задачи на уточках и пиццах. однако для понимания бОльшей части сложных паттернов это было неплохо
>>733453Все равно не поймёшь пока использовать не начнёшь, а для общего понимания можно и на уточках.
>>733249>Оу жесткий лок. Я правильно понимаю что поток будет заблокирован на время отсутвия заданий в очереди? Да.Бесконечный цикл который ждет пока в очередь что-то не попадет.Как альтернатива, можно проверять, есть ли в очереди элементы, и если нет, ждать, скажем 100 миллисекунд, и проверять снова.
Почаны, обесните когда используется репозиторий, а когда юнит оф верк?
>>733476между ними, вроде бы как, общега ничего и нетуhttps://habrahabr.ru/post/238737/Репозиторий представляет сущность как коллекцию в идеале IQueryableЮоВ дает возможность в определенный момент времени использовать один источник данных из нескольких местов на самом деле, UoW чутка сложнее
>>733372> Что за второй язык? Java / Kotlin> В андроиде яву не так уж и сложно осилить.Java НЕ нужна, из C# гораздо проще вкатится в Kotlin - меньше удивление будет.В Kotlin есть экстеншен-методами, норм. лямбдами и тд, а скоро и с async/await."Краткий обзор Kotlin и сравнение с C#" - https://habrahabr.ru/post/281759/На последем DotNext его рекомендовали https://www.youtube.com/watch?v=jDrCvq0yo7gРассказ о языке с отсылками к C# https://www.youtube.com/watch?v=DQqOCx2UJ10
>>733482Я всегда был за более распространенные технологии. Сейчас хайп вокруг котлин пройдет и все про него забудут. А если придется где-то подработать, то там по-любому будет Ява. Пока котлин не толкает гугол, он не нужен. Да и уж лучше бы гугол Свифт выбрал вместо Явы и был бы единый язык для мобильных платформ, но это мечты.
>>733482Да и подозреваю толкали его джетбрэйнз.
>>733249>Оу жесткий лок.>>733465>Как альтернатива, можно проверять, есть ли в очереди элементы, и если нет, ждать, скажем 100 миллисекунд, и проверять снова.Я вот не знаю что лучше. Семафор, или периодически усыплять/будить поток.Если север будет много простаивать, то семафор явно лучше.
>>733278>Я такое на мидла проходил>Три столпа ООП платина, reference-types vs value-types, GC, как реализовано множественное наследованиеЛол, серьезно? Это же вопросы для джуниора, мне кажется. Может у меня даже есть шанс устроиться в офис...>>733182-кун
Вкатился в С#Есть курсы от ITVDN-Нет никаких идей абсолютно, чего покодить? Могу в объектно ориентированное. Идей нет никаких. Где можно почитать про функционал и не ограничиваться говном всяким, типа калькулятооов. Хочу кодить сильно. ЧТО БЫ НАПИСАТЬ, АНОНЫ?-И что нужно знать для трудоустройства на должность С# прогера?
>>733877Я уже как пару недель пытаюсь написать плоттер/логгер на C#+WPF, чтобы он получал по сериалпорту, сохранял ее и отображал. Оче удобно для самоделок на AVR/STM32. Есть дохуя идей как его потом улучшить, начиная от прикручивания модбаса до создания на его основе центрального сервера с отдельным клиентом. И на каждом участке приходится осваивать что-то новое, постоянно искать инфу что и как лучше сделать. Так же поскроль тред, такой вопрос уже задавался минимум 2 раза. >>728399>>732688
>>733877> ЧТО БЫ НАПИСАТЬ, АНОНЫ?На тебе дурашка, роль
>>733877> Есть курсы от ITVDNГовно. Не понимаю, как это может помочь ньюфагам. Слишком много информации, ньюфагам и половины не надо. Еще хуже, если запомнят не ту половину, которая нужна для вкатывания.> ЧТО БЫ НАПИСАТЬ, АНОНЫ?Хоть что для себя, чего тебе не хватает. Сложность не важна. Я начинал при вкате писать десктоп-клиент для одного сайта и спустя столько лет до сих пор допиливаю по вечерам под пивас. Всё что я изучал, осваивалось на практике путём добавления фич в мою софтину.
>>734278Этим сайтом был Альбер Двачштейн?
>>734279Нет. Я тогда и на дваче не сидел. Поддвачнул бы соседний тред про падение на дно из-за программирования.
>>734278> > Есть курсы от ITVDN> Говно. Не понимаю, как это может помочь ньюфагам. Слишком много информации, ньюфагам и половины не надо. Еще хуже, если запомнят не ту половину, которая нужна для вкатывания.Схуяли говно? Смотрел их в дополнение к троэлсону. Как один источник не очень, конечно, но в дополнение норм.
Вопрос знающему программисту. Я не могу понять, каким образом генерирует псевдослучайные числа. Залез в stdlib.h, нашел описание функции srand и ничего не понял.программирую на vusual studio 2015 на C++, если это необходимо знать тебе
>>734338Отклеилась
>>732423>>724808Ну вот в том то и дело что найти это место в солюшене в 50 проектов не так уже просто, когда в стек трейсе никакой инфы нету.В предыдущем месте тоже будет одна хуйня с одним потоком, в котором один вызов мэинформ и все. Это совсем неинформативно.Еще вариант есть на скорость нажать брейк, чтобы словить именно тот момент что нужно, если например в грид некоторое время выводятся данные из бд. Это тоже хуйня какая-то, если повезет.
>>734342>.hа в этой хуйне разве не тупо названия функций прописываются. кресты же в .cpp файлах код хранят, или не?
>>734349Так. А где тогда я смогу найти алгоритм/формулу, по которой считаются псевдослучайные числа?
>>734349обычно да, таки только заголовки. но ничего не запрещает тебе запихать туда реализацию чего угодно. в случае с шаблонами так ее туда запихивать приходится, ну или дописывать #include "your.cpp"
>>734363то есть, я могу на крестах тупо в заголовочных файлах код хуярить? и всё работать будет?
>>734369Если ты работаешь в IDE (а не блокноте), то я не советую.Недавно смотрел трейнинг от JetBrains, они там раскалывали про CLion (C++ IDE).Из их доклада я понял что все IDE заточены под конкретное построение проектов. Типа что в h нет рабочего кода и по нему не надо каждый раз делать AST, а можно кэшировать.Если ты начнешь извращаться, то там все кэши поедут и при каждом изменение будет анализироваться весь проект. В итоге твоя IDE будет сильно тормозить на больших проектах.
>>734342http://www.cyberguru.ru/cpp/pseudo-number-generators-with-applied-crypto-page4.htmlНашел формулу-таки. Но не могу понять, как определяются нужные значения. Допустим, пикр, X0=? X1=41 .... и остальные пишет верно. Где достать цифры?
>>734348Тебе ж не надо по всем 50 проектам шароебиться, тебе нужно найти кнопку-хуепку которая вызывает твое сообщение и поставить в ней кругляш.
>>734426А для этого как раз и надо шароебиться по 50 проектам, если дебагом никак не отловить.
>>734454Ебанулся штоле, документашку почитай/спроси пидоров какой модуль отвечает за эту вьюху.
>>734476Документашки вменяемой нету, какой модуль у спрашивать стремно, еще нахуй пошлют(пошлют потому что скорее всего сами не знают)
>>734482Такие аутисты хуже червей-пидоров, вместо того чтобы быстро найти бажик и поправить они сидят и медленно их ищут, очень медленно. Ты работать устроился или аутировать?
>>734482если пошлют из-за подобного вопроса, знач ты устроился на какое-то дно. а раз так то ты сам чирвяк балотный и мы не будем памагать тибе
ПОСОНЫ ХУЛИ ОНО НЕ КОМПИЛИРУЕТ?ЧО ЕЙ БЛЯТЬ НЕ ТАК?https://dotnetfiddle.net/gs40Cl
>>734515>where T: a, bПредполагая что какой то класс может быть наследником и a и b, ох вейт, у нас же сишарп и компилятор за такую хуйню убивает нахуй.
>>734515Прост ты пидор. Уебывай с борды
>>734518вот щас ничего не понял, что эй не нравится?
>>734512>знач ты устроился на какое-то дно.Куда взяли, лол. Первая работа, без опыта>>734502Я просто думал может есть какая-то специальная штука в таких случаях, о которой я не знаю. Например как, посмотреть последние 50 действий, если в стектрейсе не видно...Я то в итоге нахожу баги, но с помощью обходных способов(поиск сообщение меседжбокса по всему солюшену или если повезет когда быстро брейк нажму в стектрейсе останется что-то полезное) которые не для всех случаев годятся
>>734526Приведи, пожалуйста, пример класса, который наследуется и от A и от B, чтобы его можно было передать в твой метод.>>734527>быстро брейк нажмуПроиграл с таких методов разработки. Но лол, хорошо что находишь, значит ты не бесполезен.
>>734515Нельзя конкретные типы пихать в ограничения.
>>734538define конкретные и неконкретные типы
>>734538што?
>>734537>Проиграл с таких методов разработки. Ну а что еще делать?Все тут своими делами занимаются, заебывать даже как-то неудобно
>>734537>Приведи, пожалуйста, пример класса, который наследуется и от A и от B, чтобы его можно было передать в твой метод.но нахуя?
>>734540>>734549Забыл, что можно, лол. Но только от одного, а не от двух.https://msdn.microsoft.com/en-us/library/d5x73970.aspxХз, может интерфейсов можно указывать несколько сразу.
>>734558и вообще множественное наследование нельзя вроде
>>734558Суть ограничения, тип Т должен наследоваться от A, множественного наследования не завезли и потому еще и тип B ограничениях приводит к еггор.
>>734557Когда человек приходит на проект, ожидаемо что он будет задавать вопросы, по хорошему, ему должны еще и рассказать что они за хуйню тут используют/понаписали, чтобы это человек не писал другую хуйню.>>734558>но нахуя?>тобы его можно было передать в твой методkolobok.jpg
>>734560и вообще этот хуй пишет что можно http://metanit.com/sharp/tutorial/3.12.php>При этом мы можем задать множество ограничений через запятую:class Bank<T> where T : Client, Account{}
>>734571Хм.. ошибка в туторе.По сути верно, но два класса нельзя. Можно класс и кучу интерфейсов.
>>734583https://dotnetfiddle.net/PtZBwDхорошо, а хули щас не работает?
>>734591b и a местами поменяй и научись ошибки компилятора читать
>>734591https://dotnetfiddle.net/0P4to0быстрофикс
>>734593там 2 интерфейса, ошибка 'T" является параметр типа, который недопустим в данном контексте.чо это значит?
>>734595лол, туплю пиздец, ушел пойду спать
Хорошо,если все равно выносить методы в интерфейс, тогда отпадает смысл в шаблонахвопрос нахуя они такие нужны?
>>734600IEnumerable<T> видел? Напиши пожалуйста интерфейс для T
Вот реально, в ногу не дают выстрелить.На плюсах достаточно написать "сделай так, я лучше тебя знаю" и все, компилятор не выебывается.
>>734409двачую. то, что можешь, не значит, что должен. надо делать как принято. все кресты, по сути, на этом принципе держатся.
Есть вопрос к тем, кто угорает по asp mvc, в частности - кто шарит в бандлах.Кароч, есть у меня SPA сайт на ангуларе. Выделил такие бандлы:main - тут у меня солянка из всяких jquery, angular и прочей сторонней еболеdirectives - тут ангуляровые директивыmodules - ангуляровые модулиservices - ангуляровые сервисыapp - собсно контроллеры.В чем жопа. Есть у меня скрипт app.js (главный модуль приложения), который валит все приложение, если его закинуть в мандл app. Работает, только, если его расположить в main. Причем, в таком случае, перестает работать на лисобраузере. И я не понимаю почему. К слову: все внешние скрипты лежат парами: обычный и .min.js вариант. В бандле прописываю обычный.Поясните, что я делаю не так?
>>734933зачем ты отделяешь скрипты по бандлам, если сиравно их используешь вкупе?
откуда можно почитать про оптимизацию работы приложения/отдельного куска BL для работы с большими объемами данных?
Помогите совладать с фоновой задачей в Windows Store приложении. Я вроде сделал всё правильно, а таск нихуя не работает и пишет в события винды ошибки"Activation of app <appname> failed with error: This app does not support the contract specified or is not installed. See the Microsoft-Windows-TWinUI/Operational log for additional information.".В Operational log написано:"The app <appname> is not registered for the Windows.BackgroundTasks contract or is not installed."Референс на проект с таском я добавил, declaration в манифесте есть(даже две штуки т.к. два разных таска регаю), метод для регистрации таска я писал глядя в MSDN т.е. всё должно быть ок.
Сап. Есть функция>public void Enqueue(T item) {>1 int new_tail = Interlocked.Increment (ref _tail);>2 _array[new_tail] = item;>3 Interlocked.Increment (ref _size);>}Функция вызывается одновременно из различных потоков.Внимание вопрос!Может ли случится так, что, один поток вначале исполнит код 1_1,1_2, и процессор переключится на другой поток, после чего, второй поток, исполнит сразу 2_1, 2_2, 2_3, процессор переключится на первый поток, и тот исполнит 1_3.
>>735649Может.
Тред тонет, нужен перекит.
>>735713Грусть пичаль.
Ононасы, поясните как этот код работает, в шарпе же нельзя наследоваться от самого себя? public abstract class AggregateRoot<TAggregate, TIdentity> : IAggregateRoot<TIdentity> where TAggregate : AggregateRoot<TAggregate, TIdentity> where TIdentity : IIdentity{...}
>>735972Так надо lock делать на этот участок кода. Ну это если тебе самому надо это навелосипедить, а если нет - нужно взять потокобезопасную коллекцию и не пердолиться с низкоуровневыми конструкциями.
>>736056CRTP
>>736062Это же для плюсов, там я знаю что такие и еще более крутые выкрутасы допустимы.
>>736064Так тут нет наследования от себя, ты просто указываешь constraints для type parameters
>>736065Мдэ, во навернули.
>>736081ничего необычного, как Guid:IComparable<Guid>, только завернутое в абстракцию
>>736060>Так надо lock делать на этот участок кода. Ну это если тебе самому надо это навелосипедить, а если нет - нужно взять потокобезопасную коллекцию и не пердолиться с низкоуровневыми конструкциями. Лок не подходит. Уж оче кретичен перфоманс.>нужно взять потокобезопасную коллекцию и не пердолиться с низкоуровневыми конструкциями. Говно собачье в шарпе эта коллекция. И она ниразу не низкоуровневая, лол.Она постоянно создает новые сегменты, то есть выделяет память, и при большом потоке сообщений просто пиздец в системе произойдет от нее.В принципе, лечится запихиванием использованных сегментов в потокобезопастный стек.Он кстати то-же то еще говно.И в целом получается оче громоздкое решение. Что тот же лок уже лучше будет работать.А так, я сделаю на коленки оче маленькую оптимизированную очередь.В принципе, разобрался что к чему и получилось.С тем ограничением, что макс размер очереди фиксирован размером внутреннего массива.
https://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.htmlhttps://2ch.hk/pr/res/736660.html
>>735293Разобрался. Я проебался и вместо Windows runtime компонента создал обычную библиотеку классов.