Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.Литература вторым постом1. Ресурсы:- https://metanit.com/sharp/- https://stackoverflow.com/questions/tagged/c%23- https://www.tutorialspoint.com/csharp/- https://professorweb.ru- https://habr.com/ru/hub/csharp/2. Онлайн-компиляторы:- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.- https://ideone.com/- https://www.tutorialspoint.com/compile_csharp_online.php- https://rextester.com/l/csharp_online_compiler3. WinForms или WPF?Шо то хуйня, шо то - все пацаны на электроне ебашат. Еще есть Avalonia, но пока она сырая. Но если уж хочешь гуй на шарпе, то читай:Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?Да, он совершенно прав. Даже микрософт постепенно переходит с шарпа на тайпскрипт. К сожалению, самые крутые языки никому не нужны. Неправда. C# кое-как развивается, недавно вышла седьмая версия шарпа, и уже активно разработывается восьмая. в ней pattern matching прям как в хацкеле будет! Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.5. Какую ИДЕ выбрать?Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополненийДля мака и никсов самый юзабельный вариант -Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )Rider - платная IDE от JetBrains со всем функционалом решарпера и кроссплатформенностю. Если ты богат и сидишь на линуксе/маке, то это отличная замена VS.Для vim/emacs можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.6. С# для мобильной разработкиЕсли нужны инструменты для разработке под мобилы, ставь сразу VS2017 и при установке выбирай все нужные компоненты.Больше информации тут - 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# 8.0: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕКод старой шапки: https://pastebin.com/cKKXYArsКод этой шапки: https/://pastebin.com/cKKXYArsПозапрошлый тред тонет здесь: https://2ch.hk/pr/res/1366885.htmlПрошлый тред тонет здесь: https://2ch.hk/pr/res/1378307.html
>>1406275 (OP)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 Asynchronous 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
>>1406275 (OP)В начале января стал посещать этот тред. Теперь я джун, на испытательном. Спасибо всем анонам что помогали мне, особенно тем, что создали гайд из оп поста. Всё благодаря вам.
>>1406279А знаешь почему он такой? Потому-что вы, пидоры 450 постов его не могли перекатить. Страдайте теперь.
А где можно задачки взять? Так получилось, что я веду С# для детей. Для базового материала я задач и сам напридумывал, но когда уже, допустим, ООП начинается, у меня фантазии не хватает. Где есть хороший задачник?
Как лучше?if(condition){..DoSmthg();..return true;}else{..return false;}илиif(condition){..DoSmthg();..return true;}return false;
>>1406315>но когда уже, допустим, ООП начинается, у меня фантазии не хватаетДом - человек, будка - собака, ошейник - кредиты.
>>1406325condition ? dosomthing() : false;dosomthing должен возвращать булевое значение. Если нельзя менять тип возвращаемого значения, то:condition ? true && "" == dosomthing().toString() : false;
>>1406511win10 накати, отруби все свистелки и перделки, получится интерфейс как у win2000 но работать будет быстро и стабильно.
>>1406537>Celeron 4 ram>win10 накати, будет быстро и стабильноЛучше крысиного яду накати, будешь здоровым и долго жить.
>>1406538У меня P4 1.6 3.4 гига оперативки. Поставил вин10, брат жив, работает, прогать можно. Компилируется по 3-4 минуты правда. Но что поделать. А вообще иди ка ты нахуй, сам спросил, ответ получил, ещё выёбывается сидит. Покупай тогда i5 и 16 гиг оперы, раз ты такой мудак.
>>1406488>condition ? true && "" == dosomthing().toString() : false;понимаешь же, что это пиздец не очень?
>>1406488>>1406575>condition ? true && "" == dosomthing().toString() : false;Я боюсь людей которые так пишут. Без шуток и сарказма, я жду от таких людей что они сразу после такого написания кода повернутся к коллеге, выколют ему глаз, растегнут ширинку штанов и будут ебать его прямо в глазницу. Но это будет адекватнее поступок, чем этот блядский код.
В JS можно было бы написать condition ? true && dosomthing() : false; Но блядский C# не умеет приводить к булевому типу, поэтому приходиться делать данный work around.
>>1406472Почему никто не лайкает мой пост? В отличие от этих >>1406330 >>1406488 >>1406593 у меня нет магических чисел (да-да, мои маленькие сеньоры девелоперы, true и false тоже приравнены к магическим числам).
>>1406601C# не может (из коробки) приводить примитивные и ссылочные типы к булевому значению, а JS может.
>>1406593какое-то сильное колдунствонасколько я знаю джаваскрипт это выражение вернет dosomething() если выполнится condition и полностью эквивалентно condition ? dosomething() : false
>>1406608DoSomething - функция.Ты пишешь:if (result) DoSomething;Тебе не хватает () после DoSomething, поэтому твой код не скомпилируется.
>>1406611Я там тоже неправильно написал, в JS нужно писать:condition ? Boolean(dosomthing()) : falseТогда выполнится dosomthing и его результат будет приведет к булевому типу. При этом если в dosomthing не определено возвращаемое значение, то нужно писать !Boolean(dosomthing()) если хочешь получить true
>>1406615Это не придирка, а факт. Непонятно зачем ты этот скриншот высрал. Что ж ты не написал dosomthing, а написал dosomthing(), раз это придирка? Придирка это когда тебе говорят, что ты ошибся, потому что написал x == y, а не y == x, а в твоём случае это грубая ошибка.
Как правильно реализовать диспоз? У меня есть класс, который содержит в себе класс, который реализует IDisposable. Достаточно ли мне в своем классе сделать такpublic void Dispose() => disposableObj.Dispose();?
>>1406615вообще преимущество отдается раннему выходу из метода.вот в таком говне:var result = {};#region Boilerplate...#endregionreturn resultкак только появляется необходимость в ифе, сразу такое чудо разрастается до несуппортабельной простыни. и, кроме как тыкнуть вилку в печень автору, ничего не хочется
>>1406604Проблема магических чисел возникает когда ты не знаешь что это за тру и фолс. Но когда ты видишь return true;, ты понимаешь, что этот тру является результатом выполнения функции.
Сап двач. Ньюфаг выходит на связь.Сем отличается метод от функции? Только ПОЖАЛУЙСТА, без ёьнутых примеров которые неюзабельны на практике. И я в курсе как это всё работает. Но я так и не понял какую задачу решает МЕТОД. Если есть добрый анон няшка, я бы послушал его обьяснения. Потому-что для меня это пока примерно одно и тоже с незначительными различиями.
>>1406677Согласно общепринятой терминологии в шарпе есть только методы. В других языках есть функции, которые возвращают какой-либо результат (return aa), и есть процедуры которые ничего не возвращают (Console.Write(aa);)
>>1406677В разных языках разные понятия. В ФП, например, функция это то, что делает преобразования входных данных в выходные и ничего более.
Сап, сеньёры. Есть объект Type какого-то класса. Надо из него получить свойство. Сложность в том, что свойство МОЖЕТ находиться в родительском, по отношению к просматриваемому классу, классе. В BindingFlags нет флага для того, чтобы проверять И унаследованные типы.
Русскому айти сообществу не хватает быть более спокойнее и адекватнее. А то чот не так написал и тебя сразу засирают
>>1406704да, но type.GetProperty("%name%") не получает свойство, если оно реализовано в родительском классе
>>1406683Вакабамарк выебла ньюфага ИТТ. Абу, убери уже вакабамарк, всё равно все форматируют ббкодами.
>>1406708Самое обидное, когда через полгода всему научился, всё тщательно перепроверяешь, но стоит написать FooBar как сразу вскрикивают "А, это ты ОБАСРАЛСЯ в треде полгода назад! ПАЦАНЫ, НЕ СЛУШАЕТЕ ЕГО СОВЕТОВ! ОН ОБОСРАН!"
>>1406713>>1406715Разобрался, можешь тогда заодно подсказать как такое намутить https://dotnetfiddle.net/h7Sx9j ?
>>1406728https://dotnetfiddle.net/QbBFayCanWrite: falseесли я правильно помню, это костылем ток лечится. но каким, тоже не помню. вообще, рефлексия - это такое себе удовольствие
>>1406737вдогонку: если private поменять на protected, будет такое:[System.MethodAccessException: Attempt by method 'Oooo.Program.Main()' to access method 'Oooo.Base.set_Some(Int32)' failed.]очень вероятно, что это политики выполнения кода в фиддле. потому, что протектед ну точно обходился рефлексией. попробуй на своей пеке запустить кодэ
>>1406728Когда не знаешь как сделать, пизди код со стековерфлоуhttps://dotnetfiddle.net/pKBetaможет если разобраться можно и проще, но нахуй
Можно ли через сокеты передать данные без изменения их типа? Или надо использовать апкаст после получения их на сервере?
Шарпач, в списке литературы для ньюфагов указан The C# Player's Guide, вторая редакция - на торрентах нашел третью, лучше ее тогда читать?
>>1406275 (OP)>ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ1. Перестать вводить в заблуждение людей и написать, что на сисярпе пишут только бекенды для богатых папенек. 2. Ты подписываешь автоматом себя на шиндоус.3. Сисярп никому в этом мире не нужен, все уже давно работает на гошке, жсе, скале, даже на обоссанной жабе.4. Про мобилки вообще молчу.5. Ах и да, D365 API просто отвратительное. Тоже самое можно сказать и про SharePoint и так далее.6. SharePoint лагает. 30 секунд открывается вкладка.
Подскажите пожалуйста, маюсь с такой проблемой - делаю систему для заказов авто (чисто сам для себя), и наткнулся на такую проблему - не могу никак допереть как сохранить состояние машины, а именно того, что она заказана на определённую дату?Вот как у меня происходит взаимодействие в приложении:1) Пользователь авторизируется в систему;2) Пользователь заходит в меню заказов;3) Выбирает дату заказа автомобиля и дату возврата в автопарк, марку авто;Проблема в следующем, пользователей же несколько может быть. Как сделать так, чтобы если пользователь выбрал дату заказа авто, когда она уже заказана была другим человеком - выводилось сообщение что машина недоступна (проблема не с выводом сообщения, а в реализации проверки доступности) + Нужно учесть, что машина должна быть доступна для заказа в другие дни, когда не заказана.Причём если с товаром ясно, что его нет на складах, то всё - дело с концом. С заказом машин тут ещё с датами работать надо, как правильно запрос к БД написать, подскажите пожалуйстаЯ создал три сущности:client:{ client_Id; name; login; password;}car:{ car_Id mark; price}order:{ order_Id; orderDate; returnDate; client_Id; car_Id;}Сущность машины менял, до этого ещё булевая колонка была, которая проверяла занята ли машина, но тогда получалось, что действовала глобально - тобишь, если isFree = false, то машина занята до тех пор, пока не вернётся. А это накладывает запрет на заказ этой же машины на другую дату.Как правильно запрос написать? Или дело не в запросе а в архитектуре самой системы, нужно ли что-то поменять?Посоветуйте пожалуйста литературу/разобранную задачу, где в примерах есть эдакие системы-"букинги", с заказами машин/товаров/услуг, где ещё присутствует и учитывается такой элемент как дата.
7. Скобки вырвиглазны, а названия методов просто отвратительны, начиная с кемел кейса.8. Если и сидеть на сисярпе, то тогда в полностью отданное рабство. На другие языки просто не сможешь смотреть, с непривычки.
>>1407009>в архитектуре самой системы, нужно ли что-то поменять?Нужно подумать, и добавить соответствующие поля.А лучше бы ты бросал это дело. Земля тебе пухом.
>>14070081. го имеет самую высокую стату по зарплате. джява, к слову, редко когда опускается ниже2. как там в 2к10м?3. понятно4. понятно5.5.1 зачем ты используешь SP, 365? зачем ты винишь в этом дотнет?5.2 зачем ты долбоеб?6. --> 5.7. --> 5.28. сознательно сидеть на одном ЯП и винить его в том, что ты не можешь ничему научиться --> 5.2
>>1407011А можно поподробнее пожалуйста (прошу прощения за наглость)!У меня просто мозг уже "зациклился"...
>>1407013>поподробнее пожалуйстаКороче, у тебя в БД должна быть таблица с машинами, индексируемая по полю ID и таблица заказов, индексируемая по полю ID, в ней для каждого заказа имеется поле CAR_ID с айдишником машины из таблицы машин, очевидно.Когда твой клиент логинится в систему и хочет сделать заказ, он открывает каталог и система делает в БД запрос, которым выбирает только те записи из таблицы машин, ID которых нет в таблице заказов на текущий период дат. То есть, если orderDate < now < returnDate, то только тогда car_Id из этой записи НЕ выводим в каталог.
>>1407037Огромная благодарность Вам!Спасибо, очень странно, что сам не допёр, видимо плохо соображать начал.Ещё раз - спасибо!
>>1406275 (OP)>ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕУбрать из неё мутанита или хотя бы написать, что материал не рекомендован для вкатывальщиков и адекватных людей, которые хотят научиться C#.
>>1407009>Я создал три сущности:Как бы, типичный пример падавана, который учился у мутанита. Вроде что-то пишет, но ничего не понимает и в голове не структурированные знания, а каша сваренная из верхушек, которую изложил долбоеб ака мутанит.
>>1407009ня я лично вкатывальщик во фронтэнд и ненавижу бд, но я бы лично сделал всего два класса - клиент и машина, а у машины соответственно помимо цвета, цены и марки был бы массив заказов с датами и при заказе можно было бы чекать этот массив инстанса машины и смотреть какие даты свободны
ШаперыШрамеры, как там ваши ШарпыШрамы, до сих пор себя изрезаете и чем глубже у вас анальные шрамы, тем громче вы об этом воете всем окружающим?Думаю давно очевидно, что Мелкософт скоро будет никому не нужен и те, кто изучал Шрамы останутся с жизненными шрамами не нужности и опущенности.
>>1407223как ты создашь связь между машиной и заказами в том же монгодб если не сделаешь заказы субдокументом машины, я не понимаю
>>1407254постой, двач образовательный жеправильно ли я понимаю что с твоей точки зрения нереляционные бд нарушают принципы солид?
>>1407138>у машины соответственно помимо цвета, цены и марки был бы массив заказов с датами и при заказе можно было бы чекать этот массив инстанса машины и смотреть какие даты свободныИтого у тебя за 10 лет получается 3650 КРАСНЫХ BMW машин. Молодец. Нахуя эта информация и как ты будешь её использовать - по прежнему не ясно.
>>1407282солид это не совсем про базочкидля реляционных есть "нормальные формы". для нереляционных ничего не знаю подобного, денормализация там - это вполне себе дефолтная тема
>>1407290нани это массив текущих/будущих заказов, чтобы нашёл машину и проверил когда свободна, зачем там хранить архив
Аноны, насколько реально устроиться на удаленку или в своем городе джуниору, преимущественно геймдев направленности?Есть желание изучать и .NET, и Unity, и в моделировать в Blender'е потихоньку для себя. Так вот, насколько перспективно изучать школьнику этот стек технологий для трудоустройства до 18?
>>1407343Школьнику для начала надо научиться читать правила и следовать им, может тогда школьник перестанет заходить на сайты для 18+ аудитории.
>>1405095Ощем, я был не прав. было развеселое, прикольное собеседование. результатов не знаю. было практически все что я знаю, и половина про то что я знаю. но не сильно практиковал: многопоточность, исключения в многопоточности, замыкания, expression и работа с linq на уровне выражений, оптимизация запросов sql. как-то так
>>1407343шансы 1 из 20. хз как ща, но в мое время джунам даже на письма не отвечали. ТП не считали своей обязанностью ответить всем подряд: вы нам не подходите.на удаленке все еще жестче. эта штука сама посебе требует самодисциплины. как правило. от ребята до 18 да и после 18, те кто джун, требовать самодисциплины - глупое дело.
Есть клиентская форма, на которой заполняется несколько текстбоксов. Как передать данные в БД на сервере?
>>1407650Поконкретнее можн? Мне нельзя подключаться напрямую к серверное бд, т.к. у клиента права жестко ограничены только добавлением записей.
>>1407654Что в твоём понимании "подключаться напрямую к серверной бд"? Пользователь вводит данные, нажимает кнопку, которая отправляет данные на сервер при помощи http запроса, обычно это POST, обычно данные сериализуют в формат json, либо выполняют бинарную сериализацию, отправка идёт на определенный адрес, например https://server.org/db/addData. Но ты можешь их GETом отправлять, можешь PUTом, также как и адрес может быть вообще одним для любого вида запросов, а кто тут клиент/сотрудник/админ решается при помощи заголовков запроса. На сервере данные запроса обрабатываются и добавляются в базу данных, либо отбрасываются как не прошедшие проверку.
>>1407817Это тоже самое, что после создания объекта, проверять создан он или нет:MyClass x = new MyClass();x?.method();Какой в этом смысл?
>>1407818Не то же самое. Dispose() ничего не знает о том, как disposableObj был использован. Тот вполне мог быть присвоен null в каком-то из методов:void DoThings(){disposableObj = null;}void Dispose(){disposableObj.Dispose(); // Тут вылетит NRE, если DoThings() был вызвал во время работы с объектом}
>>1407817ситуативная херня. если вложенный IDisposable помечен как readonly, а конструктор писал не школяр и проверяет зависимость на налл, нахер тут этот ? облокотился
>>1407827Но так уж получается, что композиция, о которой ты говоришь, зависит от такого, как обращаться с объектом, который будет задиспожн.
>>1407822Он не знает, знает программист, и если у тебя реализован объект при котором создается диспозабл объект, то очевидно, что пока существует этот объект, будет существовать и диспозабл объект, поэтому смысла в проверке на null нет.
Сап, pr. Есть класса. У него есть нное количество private полей. Класс также реализует getEnumerator тот что для foreach. На каждой итерации, цикла, классобъектвозвращает объект из какого-то из полей. Так вот, можно ли вычислить ПОЛЕ из которого стащили объект?
>>1407654На прямую к бд никто и не общается. Сделай апи, которое будет фильтровать запросы и дергать базу, и общайся через него.
>>1408087Эмм, а я думал так было раньше, до того, как майкрософт изобрели LINQ и теперь можно обращаться к БД не снимая свитер.Проясните, плз.
>>1408172Поподробнее плиз. Прост я с БД работал ещё в 2005 году, тогда да, разделялось. А сейчас вот учу шарп и слушаю охуительные истории про LINQ от МСДН.
>>1408217тебе предлагают:клиент <-[ ]-> сервер <-[ ]-> бдгде каждый из компонент разделен физическиты говоришь о сборке, которую нужно подключить на стороне сервера (в твоем случае), которая будет за тебя генерить SQL и материализовывать сущности в .NET-овские классы:клиент <-[ ]-> (сервер: LINQ ->) <-[ ]-> бд
>>1408235мс тебе предлагает просто абстрактно получить доступ к любой (условно) базе средствами LINQты говоришь, что из клиента стучать к БД низятебе предлагают запилить сервер, с которым будет общаться клиент, который будет стучать в базутам можешь обмазаться LINQ, EF, Dapper, любым другим говном
Имеется mvc приложение абстрактного интернет-магазина. Существует условный продукт, у которого указана цена. В сборке присутствует класс, который принимает курс валюты (в моей случае доллар), по логике, он должен взаимодействовать с сущностью продукта и при выборе валюты, конвертировать цену.ВОПРОСКак реализовать?
Сап программач. Возникли трудности с шифрованием aes256. Суть в чем: я создал класс в котором реализован алгоритм Диффи-Хеллмана, работает исправно, у обоих собеседников совпадают итоговые ключи, проблема одна - итоговый ключ содержит непостоянное количество цифр (ключ состоит целиком из цифр), от 36 до 39, но количество этих цифр на результат работы самого шифрования AES не влияет. При любом количестве цифр в ключе, шифрование происходит через раз, периодически ругаясь для длину ключа "Указанный ключ имеет недопустимый размер для этого алгоритма"Шо делать? Я уверен процентов на 90%, что проблема заключена в итоговом ключе который генерируется алгоритмом Диффи-Хеллмана, можно ли его каким либо образом привести к нормальному виду, чтобы алгоритм шифрования исправно шифровал текст этим ключом? были мысли про md5 хеширование, но я чет нихуя не понял
>>1408479алсо, только что глянул метод Aes.GenerateKey(), генерирует он хуйню идентичную моему алгоритму диффи-хеллмана. У меня нет мыслей. Мб можно как то сгенерировать 100% рабочий ключ по кодовому слову, где в качестве кодового слова будет использоваться сгенерированный моим алгоритмом ключ? Аноны, спасайте
Какую либу испольовать для написания вебсоскет сервера? Нужно получать данные с криптобирж, обрабатывать и раздавать клиентам, короче как свечки, только рисовать график. Бтв не против заплатить за разработку, можем даже скопроперироваться, и потом трейдить/ботить вместе.
>>1408487Все это уже реализовано. Что ты там собрался получать с криптобирж, лол? Уже есть подобные агрегаторы. Займись делом!
>>1408481>Мб можно как то сгенерировать 100% рабочий ключ по кодовому словулолшто? что ты там генерить собрался?у тебя ключ должен иметь определенную длину, а не просто рофлонабор говна какого-то
>>1408521ну так и как мне сделать генерацию ключей чтобы они были не рофлонабором говна? Aes.GenerateKey() мне не подходит, так как обмен ключами производится по незащищенному каналу, т.е. через алгоритм Диффи-Хеллмана
>>1408557Я же написал, обмен ключами происходит через алгоритм Диффи-Хеллмана. В кратце: передается публичный ключ по открытому каналу, производятся математические операции, клиенты обмениваются промежуточными данными, снова их обрабатывают и таким образом высчитывается закрытый ключ. Товарищ майор, который прослушивает трафик при этом никаким образом не может воссоздать этот закрытый ключ, т.к. у него не хватает некоторых данных, которые генерируются локально у каждого клиента и не передаются по этому каналу
>>1408564так, теперь все стало на свои местатебе же говорят:>Указанный ключ имеет недопустимый размер для этого алгоритмаесли ты сам себе рассчитываешь ключанский, так догони его до нужного размера, который угомонит AES. нулями дополни в конце (или в начале), или кусок соли вставь, пускай даже передаваемой открыто
>>1408568Вот тут вылазит еще одна хуйнюшка о которой я писал в первом посте. Этот закрытый ключ ключ типа BigInteger у меня может иметь длину в 36,37,38,39 символов, при этом ключи этих размеров одинаково рандомно подходят для шифрования. В 50% случаев алгоритм шифрования работает для ключа любой из этих длин, в другой половине случаев выбивает ту ошибку.Следовательно - я долбаеб и длина ключа считается не количеством цыфарак в ключе? И если я долбаеб, каким образом мне узнать длину сгенерированного ключа и в случае малой длины дописать его до необходимого размера, а в случае если длина больше необходимой - урезать?
>>1408572в исходниках или документации (хотя я не уверен, криптография не мой профиль)там простая формула, я просто тупо решарпером смотрел место, откуда такая ошибка возвращалась
>>1408579>>1408591Кажется я нашел элегантный способ решения моей проблемы - если вдруг кто то столкнется с подобной - в великом и могучем гугле вбейте "деривация ключей"
Нет нихуя, такого нет, я же блядь сам его сделал и сам же на нем торгую ежедневно в плюс по одной эфирке подбираю крохи со стола . Короче сложно болядь ваш сервер, впизду. Буду копить на кодера нормального.
>>1408639В любом случае слишком сложно для меня, нормальное неразваливающееся говно сделать не получится.
>>1407953>Может, есть какой-то другой способ решить ее?Есть конечно. Я больше скажу, уже всё решено костылями, но для общего развития полезно и о таком узнать.>>1407874>универсальным способом нетЖальЯ ебал, думаю, что сообщения не отправляются, а мне двач бан выписал
Ещё немного вопросов про рефлЕксию. На этот раз более обстрактные. Так вот, кто-нибудь сталкивался c reflection.emit? Если да, то насколько это полезно и чего вообще такого забугорного можно намутить?
Крч, посоны, я ебан, который нихуя не умеет.Сейчас учусь на похуиста программиста.Что можно нубу сделать на шарпе, чтобы въехать и чтобы поэтапно, не перескакивая.
>>14088581. Хеллоуворлд в консольке.2. Хеллоуворлд в окне.3. Хеллоуволдл в окне по нажатию кнопки.4. Окно с кнопкой и чекбоксом. При отмеченном текстбоксе выводится хеллоуворлд, когда нажимаешь кнопку, при убранном нет.5. Оконное приложение с кнопкой, чекбоксом и списком. В списке выбираешь фразу и по нажатию кнопки выводится другое окно с этой фразой.6. Хранение записей в БД и загрузка их в список.7. Хранение записей на сервере в сети и получение их в список.8. Кроссплатформенное окно, которое одинаково выглядит в винде и линуксе.9. То же, что и 8, но ещё и одинаково подтягивающее данные из п. 6 и 7.
>>1408780Динамическая кодогенерация же, вытворять говно, аналогичное reflection, но не со скоростью черепахи, а со сравнимой с обычными вызовами.Ежели со скрипом осиливаешь рефлексию, то не лезь туда, оно не про C#, оно глубже - нужно IL знать и прочую поднаготную рантайма. Если сильно хочется - можешь копать в сторону Expression.Compile()
Только что прочитал, что результируемый байт код JVM будет разным, если стейтменты на одной строке в сорс коде и в разных. В C# есть такая же хуйня?
читаю джона скита.ммммкуда бы свичнуться с этого славного многообразия подводных камней? на собесах заебали, сижу с дымящейся жопой, учу то что не учил раньше
>>1409075ох ебать говнищехуею с таких долбоебов, которые: а) придумывают это; б) спрашивают подобное на собесах
>>1409075while(true)Я бы за такое увольнял с работы. А меня за такое хуесосил ещё преподаватель аж лет 8 назад.
Господа, есть годные туторы по Xamarin? Все что нахожу - какое-то протухшее говно без MVVM и прочих современных плюх.А вообще интересует конкретный вопрос, как взять фотки из галереи и пихнуть их в какую-нибудь коллекцию? Где не искал везде решения только о том как открыть выбор фотографий из галереи, а это совсем не то.
>>1408917Принципы работы CLR, Паттерны MVC и MVVM, ADO.Net(EF и\или Dapper), в зависимости от того что делать собираешься учишь нужный специализированный под что-то конкретное фреймворк типо ASP.NET для веба и пр..
>>1407008Лул, недавно знакомый устроился работать на шарпе. Угораю с ебланов у которых нибамбит от собственного ничтожества и они во всем винят язык.
дык... "раньше".прикол в том, что раньше я думал что Троелсена и 70-483 мне хватит на любое собеседование, а оказывается нет. я такое 1 раз за посление 3 года такое видел. 1 раз на 1 проекте. на всех остальных такого небыло.
>>1407198Хм... В EF чтобы создать связь один ко многим или многие ко многим в Code First ты буквально задаешь как виртуальное свойство класса коллекцию или объект той модели с которой связь, это нарушение SOLID? С DB First автоматически сгенереный код тебе такие же модели выдаст. Тоже нарушение SOLID?Если ему нужна коллекция заказов с которыми связанна машина как свойство класса "машина" - то что в этом плохого и где тут нарушение SOLID? Связь один ко многим ну я предполагаю, тут либо у заказа делать как свойство машину, либо у машины список заказов, нарушения SOLID-а тут нет.
>>1409196примеры высосанные из пальца под собес, хули ты хотелв качестве примера можно было ебануть использование Task или каких-нибудь делегатов, но не вот эту пердотню
>>1406275 (OP)Возможно ли как-то засунуть условия для using перед namespace,или try-catch, чтобы сначала проверить есть ли DLL-ка, а потом её юзать,иначе дефолтный using или вообще нифига...Если да, то как это правильнее всего реализовывается?
>>1409564https://stackoverflow.com/questions/44956194/check-if-assembly-exists-by-name-before-loading-it?rq=1Может что-то типа того?
>>1409584Или в msbuild<PropertyGroup> <DefineConstants Condition="Exists('my.dll') ">$(DefineConstants);DLLEXISTS</DefineConstants></PropertyGroup>И потом в блоке using черед директивы препроцессора#if DLLEXISTS using Tvoyahuynya;#endif
>>1409577А где об этом по хардкору погрызть, а то для меня это просто буквы какие-то?>>1409584А попроще, никак нельзя?>>1409588Дело в том, что dll-ки лежат в папке packages, это dll-ки из nupkg-пакетов,а при компиляции всё это копируются в bin/Releases, которую можно таскать с флэхи на флэху.В <PropertyGroup> если указать пути к изначальным dll-кам - они уже не будут соответстовать путям вновь создающихся,ну и конструкция:#if#else#endifчё-то не пашет внутри самого кода, после using'ов этих.Поэтому надо бы сделать так, чтобы проверялось наличие DLL-ок в папке с программой,и если они есть - подключались всякие BouncyCastle, log4net и так далее.Иначе, если DLL-ок нет, то не загружать методы И КЛАССЫ и даже неймспейсы,которые их используют а просто юзать System.Security.Cryptography и Console.WriteLine, например.Короче, надо чтоб софтина, при компиляции - ошибки не била, если DLL-ок нет,и чтоб, по дефолту, она компилировалось в минимально-возможной рабочей конфигурации.
Rider удобнее студии в миллиард раз + студентоте можно получить бесплатную лицензию на все продукты компании из ДС2.
>>1409949Пиздец, манагер jetAss проснулся с перепоя и постит хуйню...Да твой убогий сруйдер не годится ни на что кроме хеллоувордов и упражнений к учебникам по с# писать так как ни шаблонов для проектов промышленного программирования нихуя не имеет ни поддержки всяких xaml и други форматов из winforms/wpf и т.п.
>>1409958В ДоДо все пользуются райдером. Студия просто неспособна загрузить решение с двумя сотнями проектов.
>>1410013студия отлично открывала солюшн на 230+ проектов. естественно, билдится все это говно вечность, но причем тут ideэто та дода, на собесе которой нужно написать мини-ессе о своем опыте разработки? лул, охуенная контора, надо брать пример с ебланов
>>1409949>Rider удобнее студии в миллиард разНет.>>1409958>так как ни шаблоновhttps://blog.jetbrains.com/dotnet/2017/12/21/project-templates-rider-2017-3/>ни поддержки всяких xamlhttps://blog.jetbrains.com/dotnet/2018/03/29/xaml-preview-tool-window-wpf-rider/>В ДоДо все пользуются райдером.Все прыгают с утеса, ну и ты прыгай. Ну, а хули?
>>1410013>ДоДо>Две сотни проектовНе устаю проигрывать с этой секты и их>У нас сложная предметная область, пиццы бывают половинками...
>>1406275 (OP)Кому делать нечего - прицепите-ка сюда: https://github.com/username1565/f5-steganographyавторесайз как-то. Будем в JPEG'aх стеганографироваться!Авторесайз изначальной пикчи...Ну, чтобы когда входной файл был большой, изначальный JPEG становился побольше,чтобы затем, у него увеличивалась capacity, и файл мог быть запакован туда.Вижу JPEG сохраняется с Image, а Image можно ресайзнуть.Только там два using'a, блядь, и код какой-то мудрёный.Алсо, не помешала бы запаковка/распаковка байтовых массивов, а то там Stream сохраняется в файл. Если получится сделать авторесайз, и прицепить байтовые массивы,то можно будет f5-jpeg-steganography - встроить в наноборду: https://github.com/username1565/nanoboard/issues/4И развешивать по бордам жипеги. Лол.
Как можно засунуть в переменные (желательно в List) результат выполнений SQL-запроса?Про sqlCmd.ExecuteScalar()[.ToString()] - знаю, а вот как быть если возвращается несколько значений (одной колонки)?Подскажите пожалуйста!
Вопрос про NetworkStream. На MSDN написано>Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. As long as there is one unique thread for the write operations and one unique thread for the read operations, there will be no cross-interference between read and write threads and no synchronization is required.Я правильно понял, что я могу одновременно писать и читать из разных потоков, но если я буду одновременно писать (или читать) с двух потоков, то всё пойдет по пизде?
>>1410470можно параллельно читать и писать с двух уникальных потоков без синхронизации. все, что больше, требует управления
>>1410172Compress(...) перенеси в конструктор, там же и ресайз напиши когда все данные не влезут. Иначе нужно будет весь код переделывать. Большая часть данных в конструкторе инициализируется и так просто изменить не получится.
Sup /pr. Пишу пошаговую онлайн игру попутно изучая прелести сетевого программирования. Использую TCP клиент и шлю через него различные клаcсы унаследованные от MessageBase. Как лучше отслеживать отключение игрока? Пока есть такие варианты:для каждого игрока использовать два tcpclient - один для обмена игровой инфой другой, чтобы посылать "пинги" каждые несколько секунд. Другой вариант тоже самое, но второй udp клиент который шлет каждую секунду сообщение и если не было сообщений n секунд констатировать отвал. Третий вариант - реализовывать все в одном tcp клиенте, но тут хз как все это организовать.
Сап, ананасы. Начал вкатываться в шарпы по первому учебнику из шапки. 19 параграфов понимал, на 20 охуел и сделал бекфлип, практически списав все решение из учебника, ибо ниасилил написание программы, имея по сути нулевую практику. Посему задаю вопрос: где можно посмотреть практические задачки разного уровня сложности?
>>1410750>где можно посмотреть практические задачки разного уровня сложности?На работе/в опенсорсе/на врилансе
>>1410771Да но только когда пытаешься прочесть из него. То есть если у меня будет например 5 минут на ход, то если не опрашивать клиента жив ли, то второй игрок может впустую играть до 10 минут.
На C# есть удалёнка что бы можно было вкатиться без пиздежа по скайпу\телефону чисто по текстовому, лол?
>>1410980суперредко. но бывает, офк>>1410912опять, тут любой вариант одинаково плох, если ты своё поделие педалить пытаешься. если у тебя есть централизованная точка, отправляй в неё пинги. если нет, то отправляй пинги между игроками
анон, я осознал что я тупой: я не могу в квик сорт, я не понял мерж сорт, я хз что делать со всей это алгоритмической парашей... с первого раза.скажи - это нормально, для человека, который первый раз видит эти алгоритмы в виде текста, стратегии, псевдокода и даже готового решения И НЕ МОЖЕТ блять вот сука тупо взять и написать самому аналогичное дерьмо? мне блять сложно даже понять, что за херота там происходит. это блять нормально?
>>1410971Дядь, а тебе зачем, собственно? Работа? Хобби? Если тебе нужно разобраться в программировании/языке, то пиздуй читать книжки/проходить онлайн курсы. Если есть понимание, что такое ООП, классы/методы/лямбды, то можешь смело искать себе работу/проект/что-там-тебе надо. Как показывает практика реальные проекты почти всегда состоят из говнокода, в котором хуй разберешься и твоя единственная задача это свести сраный бизнес к сраному говнокоду и понять какие две строчки тебе надо дописать в вашем сраном тырпрайзе. И никаких тебе космолетов и нейросетей
>>1411073>Дядь, а тебе зачем, собственно? Работа? Хобби?Пока что хобби скорее, если нормально пойдет - сделаю работой.>Если тебе нужно разобраться в программировании/языке, то пиздуй читать книжки/проходить онлайн курсы.Ну я читаю первый учебник из шапки. Проблема в том, что я как бы понимаю материал и даже усваиваю, но практика очень нужна. Хоть какие-нибудь простецкие задачки на реализацию тех же классов, причем разной сложности, а то я учебник закончу, а применить знания не смогу.
>>1411083>Хоть какие-нибудь простецкие задачки на реализацию тех же классов, причем разной сложностиВот в этом фундаментальное отличие Программистов от кодомакак. Программисты не задаются подобными вопросами "дайте мне задачек". У них пытливый ум, который моментально придумывает, как и где применить полученные знания "о, вот тут я могу к системе подключаться и получать модель материнки и проца", о, а вот эта штука неплохо зайдёт для моего мини-органайзера, теперь я наконец знаю, как его сделать" и т.п.Ну а кодомакаки - простые ремесленники. Даёшь ему задачу и он копипастит говнокод из туториалов.Без обид, анон. Ничего личного. Займись чем-нибудь другим. Искусство Программирования Машины - не твоё.
>>1411083>Хоть какие-нибудь простецкие задачки на реализацию тех же классов, причем разной сложности, а то я учебник закончу, а применить знания не смогу.Ну вот, например:https://ulearn.meТам дохера видосов и практик по ним, видосы в целом можешь скипать, если уже знаешь. Там именно что простецкие задачи и практики на пару часов подумать. Ну а вообще, это все вата и лучше взять и какую-нибудь хуету запилить
>>1411089>Без обид, анон.90% обезьян в энтерпрайзах, гордо называющие себя программистами, только и умеют, что кнопки по стаковерфлоу нажимать и ничего, живут
>>1411003та же проблема. самое обидное, что я могу справляться с всякими там задачами на сетевое взаимодействие, работу с БД, .net core, angular, а вот алгоритмы хоть убей в голову не лезут. и в основном именно алгоритмические навыки смотрят на собеседованиях
>>1411099О, мой дорогой анон, это же элементарно.Ангуляры, бд и прочая шелуха, это сиюминутные навыки, которые ты поднимешь за некоторое время. Алгоритмы же показывают умешь ли ты думать в целом, а это гораздо более ценный скилл, в отличие от очередной технологии, которая помрет через пару лет.
>>1411111в энтерпрайзе думать не положено. мне чому то кажется, что там наоборот важнее как можно быстрее разобраться в чем то, чтобы быстрее заказчику выкатить. разумеется, при этом желательно стремиться говнокодить по минимуму, но вот на бумаге уметь поразрядную сортировку писать для этого, мне кажется, не является необходимым.
>>1409115https://coursehunters.net/course/polnoe-rukovodstvo-dlya-xamarin-razrabotchika-ios-i-androidВот годный курс, минимум воды.
>>1411116>поразрядную сортировкуНи разу такого не видел, кстати.Может не в те места ходил.В основном спрашивают простейшую дичь, типа элементарных рядов или минимальную пространственную геометрию.Понятно, что сами алгоритмы никому нахер не упали, но если анон не может разобраться в сортировках, то это хороший сигнал на дауна
>>1410991> суперредко. но бывает, офкхмм, а как тогда люди на аутсорсе/апворках сидят? Я думал там как раз фишка в том, что на английском только читать\писать надо. Если базарить умеешь, то нах удаленка, сваливать надо.
>>1411165так аутсорс - это не удаленка) просто ты нанимаешься в контору, которую нанимает продуктовая компанияв апворках не знаю как сейчас, но раньше практически гарантированно был либо периодический созвон, либо интервью по скайпу, либо еще какая-то дичь. чисто на переписках мне повезло только на один проект попасть
>>1409650Мне кажется, у тебя подход изначально неправильный. Все твои проблемы разруливаются инверсией и инъекцией зависимостей и любым ioc-контейнером, который умеет в конфиги (тот же Autofac, например).
>>1411090Нуу, когда ты что-то знаешь и умеешь, применение новым знаниям всяко проще найти, чем когда ты мало знаешь и нихуя не умеешь. Вот я и прошу задачки, чтобы хоть что-то уметь.>>1411090Спасибо, анонче, от души.
Как в параметры приложений Wpf добавить таблицу? Есть небольшая табличка (75x4 или около того). Хочу хранить ее вместе с другими параметрами, но чертов интерфейс не дает возможность добавить какую нибудь коллекцию (хочу String[,]). Думал написать свой класс что бы описать ее, но как добавлять свои типы туда тоже не понял.
>>1411275https://stackoverflow.com/questions/13036743/custom-type-in-application-settingsя не проверял, если что. мопед не мой
Пытаюсь подключить учебную базу из MySQL в VS 2017. На ютабе решается установкой других версий коннектов.Но у меня проблема не решается, двач помоги.
>>1411573альтернативы?есишо, мне пiхуй, проще развернуть какой-то энв для мимолетного пердолинга, чем пытаться устанавливать что-то и ловить кросс-платформенные конфликты
Здорово почаны, вкатывальщик из пятерочки в треде. Помогите определиться, насколько реально вкатиться в бек на шарпе, без вышки, есть подозрение, шансов нет, без технического бекграунда, и дорога только в макаки. Пугает что язык корпоративный и олдовому нерду без корочек, будут не рады.
>>1411658ну нет, блять. нинасколько не реально.у меня в конторе ща на первой линии поддержки сидит чувак под сорокет, без вышки. годится только закрывать типовые заявки. копнёшь чуть глубже - или знаний совсем нет, или начинает вещать такую хуйню, что уши вянут.чудес не бывает!
>>1411658Всем, ну почти, похуй на корочкиИ на возраст тожеВозраст это риск, но не болееЕсли докажешь что ты компетентен/обучаем, то похуй вообще
>>1410352Нахуй мне какую-то хуету открывать если и так очевидно что там хуйня? У этих довенов даже решарпер постоянно глючит во всех местах, это при том что это относитеьлно небольшая приблуда, а ты предлагаешь на всю их самопальную ИДЕ перекатиться. Стоит ли говорит, что ты дегенерат-школьник никогда не работвший в промышленноми проектами иначе бы такой хуйни не предлагал? Половины функционала из промышленной разработки у райдера тупо нет, с дизайнерами вообще швах. Даже в студии проблем хватает, а тут блять изначально тупая поделка ни и кому она нужна если речь идет о серьёзной разработке а не поиграться дома вечерком?
>>1412079И какая же у тебя промышленная разработка, если функционала не то, что Rider, а студии тебе не хватает?
>>1412128ну хотя бы на словах идею донести надо пробоватьа если ты сам себе не можешь объяснить что к чему, то пытаться в собес тоже занятие сомнительное
>>1412105У райдера winforms дизайнера нет, нет дизайнеров отчетов ms ReportViewer.В студии функционал норм, косяков много, например нугет пакеты через жопу работают, в xamarin косяк на косяке.
>>1412145мне аж как-то стремно защищать руйдер, но приведенные тобой преимущества охуительно конкурентные в 2к19м лол
>>1412148Двачую этого хипстера. Rider'у далеко до всего функционала студии со всем накопившемся легаси, но бэкенды на коре писать — самое то.
>>1411017есть книга по подготовке лдя 70-483. читаешь... хорошо так читаешь. потом открываешь дампы и чекаешь правильные/неправильные вопросы/ответы. если правильных ответов меньше 70% - читаешь еще, гуглишь. пока не будет набираться как минимум 70%по книге можно подготовить 70% правильных ответов. остальные 30 - только в платных дампах, причем зубрением, т.е. нах ненадо
короче, начал готовить алгоритмы по хардкору. теперь каждый день решаю минимум 1 задачу с литкода либо в шарпе либо в JSе. намедни узнал о стандартных вопросах на собеседовании. можете накидать таких? пример:- найти наибольшую последовательность неповторяющихся букв в строе "аакуаыываииагг"- поиск анаграмы - медиана- полиндром- двусвязные/односвязные списки я все это решал. первый раз юзал стэк и хэшсет из хэшсетов ща ебусь с- найти кратчайшее растояние из А в Б на поле. причем я перепутал это дерьмо с кратчайшим расстоянием в графах. они вроде как похожие и вроде как про одно и тоже, но первая мне кажется полегче, а эти ебучие графы - это ебаный стыд. у меня опять перед глазами фейлы в школьной информатике, на курсах по информатике, флешбеки из вьетнама и ужасы на улице вязов. СУУУУКА. ебучий алгоритм из википедии имеет ИМЯ! Друзяка решил пилить алгоритм собственно ручно, а я даже хз как это реализовать, не то что придумать :\
Кто-нибудь юзал F#? Это нормально, что чтобы сделать static class, мне нужно классу дать атрибуты abstract и sealed? Так и должно быть или я просто не туда пихаю static?
>>1412230есть входящая строка, состоящая из открывающихся и закрывающихся скобок: ( [ { < и т.д.проверить, что эта последовательность корректная:([) - херня([{}]) - ok((()())) - ok[(]) - херняну и так далее
>>1412249ну это изиперебираем все чары в строке- если левая скобка - стек.пуш- если права скобка - стек поп, проверка-- соединить открывающуюся скобку со второй-- найти такую пру в хэшмапе-- true? continue, false? return falseколлекция допустимых пар - это хэш мап с ключем в виде открывающихся скобок, а значением: либо пара. либо закрывающая скобка.
>>1412148Так это только вершина айсберга, еще миллион мелочей которые даже не вспомнить с ходу, но как только начнешь кодить будешь с ними ебаццо. Сам подумай, с одной стороны продукт с 20 летней историей от софтверного гиганта с огромной командой разработки, с другой совковоая контора из 3.5 чела которая к тому же пишет на уебанской ДЖЕЗВЕ.
>>1412148И да, при чем тут легаси? Тот же xamarin хуй на райдере заюзаешь (ебаться в командной строке не предлагать).
>>1412138ну у меня типа проблема в том, что я понимаю алгоритм и могу даже написать его сидя дома в уютненькой IDE, но времени у меня на это уйдет больше, чем у чистокровного математика
>>1412304адекватный собеседующий не будет сидеть сорок минут втыкать как ты не можешь из себя выдавить два слова, а начнет: либо наводить на ответ, либо сразу переведет разговор. причем, в интересах же кандидата, вне зависимости от степени прошаренности в вопросе, начинать осуждать решение, даже с самим собой (опять таки, в случае адекватности проводящих собес). если тебя не конпелятор зовут писать или какой-то йобасаенс, в математике контора тоже не нуждается
Что ошибка может значить? Внешне никак не проявляется, только в отладке, приложение запускается и работает, производительность вроде обычная. Появилась после перехода на Entity Framework. Потоки я специально не прописывал нигде. Xamarin, если это важно.ньюфаг
>>1412371Нагрузка на поток высокая. Это появляется один раз при старте, наверное, просто старт тяжелый, т.к. у меня нагрузки то нет считай, на весь код из циклов - один foreach, который два элемента обрабатывает.Это было еще до перехода на EF.
>>1412128Знаю примерно миллиард людей, которые не решали алгоритмы на собесах и проходили их, как писал анонас выше, кроме узких областей матан не нужен. Алгоритмы никогда не будут лишними и показывают насколько чел задрочен или соображает, но ключевым критерием редко бывают.Но при этом просто на похуе отъезжать тоже не стоит и понимать чем двусвязный список от стека отличается и когда надо использовать словарь надо понимать
>>1412659ну короч, когда ты встречаешь слово, значение которого не знаешь, нужно использовать словарь)
>>1413028>как реализовать 5 пункт function Form1.OnButton1Pressed(Sender: TObject);vartext: string;begintext := List1.Lines[List1.Selected];ShowMessage(text);end;
>>1408639А нахуя ему именно сокеты то? Для дёрганья клиентов с сервера - можно Signalr прикрутить. Это вообще несложно должно быть. Другое дело - как и насколько он это всё масштабировать собрался, объёмы этих ваших бирж в копеечку обойдутся даже если не через жопу писать.
>>1413090можно все, что угодно, но сокетами проще (я думаю) ) плюс кроссплатформенноа вообще, откуда мне знать?
>>1412659Для начала тебе нужно понять, что такое временная сложность алгоритма. А потом посмотреть сюда:http://c-sharp-snippets.blogspot.com/2010/03/runtime-complexity-of-net-generic.htmlВ зависимости от того, какие операции ты будешь над коллекцией совершать полезно выбирать разные структуры, естественно. Чо то я хуйню какую-то объясняю, иди книжки читай короче.
Подскажите о боги C#, хоткей в VS для создания переменой и объявления ее типа на основе результата выполнения метода.В IntelJ Idea, на Java, я писал так:someMetod(); нажимал Ctrl+Alt+v и получал:SomeClassName variableName = someMetod();т.е. IntelJ Idea создает за меня имя переменной и укз1ывает тип для нее. Хочу так же в VS. Кто знает как?
>>1406278Добрый день анон. Писал какие нибудь свои "пет проекты" перед рассылкой резюме? Интересно узнать какие?
>>1413881Написал сайтик для института с блэкждеком, расписанием, оценками и этим вот всем на ASP core2 и SQL сервере
ЕБАННЫЙ БЛЯДЬ ENTITY FRAMEWORK НА XAMARINЕ, СУКА, ХУЯ ОН С ЕБАННЫМ ЛИНКЕРОМ НЕСОВМЕСТИМ, ЕБАТЬ ЕГО В РОТ. ПИЗДЕЦ, БЛЯДЬ, Я ЧЁ, ДОЛЖЕН КАЖДУЮ СУКА БИБЛИОТЕКУ ЕГО ПЕРЕБИРАТЬ, ЧТОБЫ ПОНЯТЬ, КАКУЮ ЛИНКЕР ВЫРЕЗАЕТ??!?!?!??!
>>1414154>Хуяришь такой 9000 библиотек, не особо заморачиваясь нахуй они вообще нужны и используешь ли ты их>Линкер идёт по пизде>Так бля, падажжи ёбанаЯ проиграл
>>1414164https://github.com/aspnet/EntityFrameworkCore/issues/10963Это, как раз таки, проблема фреймворка.
Сап, у меня есть три проекта в солюшене A B C, С - запускаемый, B и C зависят от A. Можно ли сделать так, что бы когда я жму F5 (ctrl + F5) проект B тоже перестраивался?
Друзья, недавно вкатился в программисты из другой сферы.При этом, ранее проходил курсы JavaRush, но пошёл-таки разработчиком на C#. Отсюда вопрос, какие курсы повышения квалификации выбрать? Меня заваливают спамом GeekBrains от Mail.ru, но я слышал негатив.Что выбрать? Как повышать квалификацию, чтобы быстрее стать хорошим миддлом?
>>1414202>JavaRush, но пошёл-таки разработчиком на C#. Что тебя подтолкнуло к этому? Проще работу найти?
Почему меня студия нахуй шлет, когда я делаю такprivate async T Foo<T>(T task, int num) where T: Task>The return type of an async method must be void, Task or Task<T>
>>1414204Меньше порог вхождения, как мне показалось.На Java я один раз на собеседовании рассказал всё от принципов ООП до того, что под капотом у Hibernate (я к тому моменту написал программу на Spring). Не взяли. С шарпом вышло куда проще.
Вопрос по WPFОкно, в нём листбокс (пик 1), окно по PreviewKeyDown добавляет итемы в листбокс, каждый раз выделяя новый элемент и скролля вниз.На пике 2 всё норм.На пике 3 (выделил изменение) уже всё совсем не норм - не выделяет и не скроллирует.А на пике 4 опять норм.Почему так?
>>1414207компилятор в данном случае требует четкого определения границ async-методов. конечно, в твоем случае компилер и так должен гарантировать, что T будет как минимум Task-ом, но тем не менее, много смысла от твоей сигнатуры не видно. т.е. ты не поломаешься, если обьявишь вот так:private async Task Foo<T>(T task, int num) where T: Task
>>1414342твой листбокс ведет себя правильно во втором случае. по факту ты запихиваешь каждый раз одно и то же строковое значение, которую рантайм интерполирует и не дает тебе создать кучу дублирующих литералов. поэтому на SelectedItem = stroka, лб прошаривает весь список элементов, пока не найдет искомый (который, внезапно, и первый, и последний, и вообще все остальные) и выделяет тебе первый найденный
>>1414349Я делал метод для выполнения таски с таймаутом и хотел сделать общий генерик метод для Task и Task<T>, но пришлось делать два метода идентичные на 99,9%.
>>1414349>>1414389updну или один метод для Task и потом приводить к нужной генерик таске в вызывающем методе
>>1414389все последствия отсутствия типа Unit в языкеособенно печально было в реальном проекте все делить на "нечто возвращающее значение" и "нечто не возвращающее значение"можно сделать финт ушами
>>1414389>пришлось делать два метода идентичные на 99,9%.Чем отличается Task от Task<T>?Я к тому, что метод для Task мог бы быть приблизительно таким:yourType Method() {var defaultTask = new Task<defaultType>;return defaultTask.Method(); }
>>1414439Ничего не понял. Я делал метод, который в случае, если таска выполняется дольше положенного выкидывал бы TimeoutException, вот как у этого анона >>1414395, только он хитро обернул не генерик таску в генерик, а у меня было два отдельных метода для генерик таски и не.
>>1414515Если ты про разработку на линуксе, то есть IDE Rider от JetBrains и продвинутый текстовый редактор VS Code от MS. Если про разработку под линукс, то как уже написали есть кроссплатформенныый net core.
Хм, я что-то почитывал и задался вопросом, а как вообще не отставать от новшеств? Вот ты пишешь себе на nunit, а тут бах и оказывается есть xunit. Да, его не пользовали в проекте, но всё же, упускать не хочется. Это сугубо пример, но суть я думаю ясна. Буду признателен за идеи.
>>1414688читаешь новостную хуйнюшоркаешься по всяким реддитам и прочей еботесмотришь/посещаешь конфочкивпрочем, все как всегда. если ты про практику, то, очевидно, устанавливать и пилить что-то простенькое для понимания возможностей
>>1414688кодерам хорошо, обычным офисным крысам куда хуже в мелких конторках. вот сидишь ты и в ус не дуешь и внезапно узнаешь что надо было сдавать какой-нибудь новый отчет и ты уже просрочил его сдачу...
>>1414750ок, но ведь просто подписаться на ютубчик макфрософта не совсем работает. Или работает? Интересно, а есть на просторах необъятного инета агрегатор новостей по данной теме?
>>1414996ютубчик майкрософта постит дрянь какую-то. можешь подписаться на свитер, правда это ограничивает тебя только релизами от непосредственно майкрософта, который, очевидно, не единственный законодатель мод в itаггрегаторы новостей - это гугл, яндекс, бинг и прочая ебала, в которой есть вкладка "Новости" )вообще сейчас тысячи источников информации, включая подпивасные конфочки в телеграми и группы во вконташке из 5-ти человек. охуеваешь следить за всем, если сознательно хочешь быть в курсе всего
Кумовским способом устроился в фирму, в которой сразу влился в ASP.NET WebForms проект. Это мое первое место работы. Так-то учил только С#, немного SQL, HTML. Работаю уже год. Проект развивается, работы на ближайшие лет 10 до хрена и перспективы роста зп тоже имеются. Но это вымирающий WebForms, а мне почти 30. И вот думаю, переучиться на MVC, теряя кучу времени или выучить в совершенстве синицу в руках? Все равно будет сложно найти работу без опыта именно в MVC, наш проект хотя бы долгосрочный.
>>1415117Не переживай, меняются фреймворки(потом могут закинуть на ксамарин или что-то типа Замарина или WCF), но твой опыт написаний бизнес-логики останется. И на другие проекты идут часто дабы с нуля выучить что-то новое, но зная арихтектуру .NET.
Здрасьте, чёт заинтересовался юнити, решил какую-нибудь простенькую игру в нём написать, а там сишарп, сам я крестоблядь, есть какой-то brief course по перекату в шарписты с плюсов? Или различия незначительны и я в целом сам разберусь по ходу дела?
Привет всем парни, такая хуета короче, 1.5года не писал на шарпе и вообще не прогал, был sql админом баз данных, сейчас сократили, надо возвращаться, начал читать, вспоминать все, и понял что не могу, прямо мутит и выворачивает от всего этого, и мозг не хочет себе вдалбливать знания, и чуть ли не физически выворачивает от взгляда на код. Что делать, как замотивировать себя и заставить все учить? (Для новичков кстати рекомендую видеокурс ITVDN от Шевчука, вроде вполне норм для начала объясняет, достаточно подробно и разжевано, можно на рутрекере найти полный курс).
>>1415784так-то можно и .net core хоронить потому, что будет .net 5в mvc его будет ждать практически все то, что есть и в коре, правда, к названиям классов/методов привыкать сильно не стОит
>>1415785давненько уже не слежу за развитием .net, если честно. что там про .net 5 говорят? какие киллер фичи заявлены?
Феликсы, поясните пожалуйста новичку про геттеры, я все равно не отдупляю. Я знаю, что геттеры и сеттеры - это синтаксический сахар, и компилятор все равно делает из них обычные методы доступа к переменным. Так вот, если у меня есть класс Abu, в нем есть два паблик геттера: Height {get;set;} и Weight {get;set;}, то мне надо ниже вручную создавать две закрытые переменные с ростом и весом, или компилятор поймет, что их делать надо?
>>1415803Когда ты пишешь Huj{get; set;} - это называется автосвойство. Компилятор сам создаст приватное поле для хранения значения. Когда ты пишешь Pizda {get {...}; set{...}}, то это обычное свойство и тебя надо самому делать переменную (или не делать если значение высчитывается или берется откуда-то).
>>1415803public int Height {get; set;} равносильно private int height; public Height {get { return value; }set { height = value }}по сути компилятор за тебя создает вспомогательное приватное поле.Источник:https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-propertiesWhen you declare a property as shown in the following example, the compiler creates a private, anonymous backing field that can only be accessed through the property's get and set accessors.
Товарищи, помогите пожалуйста!Есть инфа как в SQLite замутить реляционные отношения между таблицами? OneToMany и OneToOne, и ManyToMany - отсутствуют. Делаю приложение на Xamarin'е (Android native) и только сейчас понял в какую жопу попал.https://bitbucket.org/twincoders/sqlite-net-extensions/src/master/Нашёл вот такую ссыль ^^^, но я не очень понимаю как это использовать и внедрить в проект и readme.md у меня не открывается почему-то. Помогите пожалуйста!
>>1415891https://bitbucket.org/twincoders/sqlite-net-extensions/raw/8febda909abc74b62330b92e5480830925116ed7/readme.md
Как запустить чужой exeшник в своей программе, так чтобы можно было свободно коллировать чужие функции?
>>1406275 (OP)Сап Шарпач, щас вкатываюсь в ASP.Net Core. Может кто норм книжек посоветовать чтобы IoC и DI разжовывались хоть немного. А то у меня на этапе внедрения AutoFac Требуют такой стек в проект все встало.
>>1416384Наверно не совсем так меня поняли. Я бы хотел про ASP. NET в целом (ну там особенности, логика работы все в таком духе просто постоянно мониторить MS Docs немного некомфортно) и как пишутся слабосвязные приложения на нем в частности. Я например уже пару дней немогу вдуплиться как внедрить DI для контроллеров
>>1416418с первых версий кора Autofac работал почти из-под коробки. тебе даже сами факи пишут быстрогайд: https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html
>>1416434обычно это решается осознанием того, что интернет тебе расскажет много интересного, главное научиться спрашивать корректно
>>1416815>А нахуя ты передаешь форму параметром, прости? Отцы так делали в дельфях, в золотые годы асечки и квипа.
Ньюфаг в треде.Как можно аккуратно ловить все эксепшены, чтобы чтобы можно было что-то сделать и только после этого завершить приложение?
Есть статичные Dictionary который я использую для дебага.Ключ это текст дебага, а значение это различная доп. инфа.При запуске программы почему-то иногда выскакивает такое исключение, ключ и значения на нулл проверяются, так же в дебаге видно что они не нулл. При том исключение не стабильно, может за 10 запусков не разу не вылезти, а может 1-2 раза, но после уже не будет выскакивать, в чем прикол?
>>1417373ты код дикшнаря что-ли привел сюда? нахуя, спрашивается. покажи поделие, в котором ты используешь словарь
>>1416425Да, но. Когда я вызываю чужой Main он отбирает у меня управление тредом и я не могу коллировать
>>1417373>Dictionary который я использую для дебагапиздец>Ключ это текст дебага, а значение это различная доп. инфа.пиздец
>>1417373Нахуй этот колхоз? Ты к нам из похапе пришел чтоле со своими var_dump'ами?Используй брейкпойнты.
>>1417535так вопрос был про то, как ловить "все эксепшены", а не как отлавливать исключения в принципе
>>1417382Там нечего показывать, статичный Dictionary который используется в DebugWindow, в котором статичный метод делает Debug[msg] = AdvancedInformation();>>1417443У меня программа работает с большими потоками данных которые очень быстро меняются (каждые 10мс), ну и конечно она не хранит все данные в себе, грубо говоря данные получаются и пропускаются через разные системы оставляя только необходимый мне результат, все это еще многопоточное и отловить какую-то логическую ошибку обычными средствами анриал.А хранить данные для анализа уж тем более, за 1 минуту там данных выйдет под десяток гигов, поэтому когда что-то нужно я подобным образом дамплю необходимые мне данные и уже смотрю их своими средствами.>>1417483Один брекпоинт занимает около 3-5 секунд для сбора данных об объектах, плюс многие значения затем отваливаются из-за таймаута. Это еще не считая того что многие объекты во время дебага показывают актуальные значения свойств, а не те что были на момент когда мне нужно дебажить.Ну и многопоточность создает проблемы, из-за нее при дебаге программа ведет себя слегка иначе.
>>1417629Какой-то вид садизма? Ты хочешь чтоб программа работала и чувствовала как ты дергаешь её за функции?
Будет ли работать подписка на событие следующим образом:В конструкторе абстрактного класса я подписываю абстрактный метод этого класса на внешние событие. В дочернем классе я переопределяю этот метод. Будет ли в этом случаи срабатывать функции при событии у объектов дочерних классов? Если нет, то как это правильно сделать?
>>1417824Почему то у меня на событие функция подписывается два раза подряд. В итоге при событии одна и таже функция срабатывает дважды. Почему так происходит? Код такой.
Блядь, как в c# проверить, если у функции реализация? Походу ебучий конструктор вызывается два раза: один раз для абстрактного класса и один раз для класса наследника, при этом дважды подписываясь на одно и тоже событие. Можно ли избежать этого, не вводя при этом статические счётчики созданных объектов?
Аноны, возможно ли как-то в .NET Core приложении используемые библиотеки включать в итоговую сборку (т.е. копирование использующихся dll-ок в папку Debug)?На данный момент я эту процедуру делаю при помощи редактирования файла .csproj (как на пикриле - для каждой dll-ки свой Reference), но это ОЧЕНЬ заёбывает. Без этих записей в итоговой папке оказывается только моя программа без библиотек, что мне не нужно, ибо заливаю на удаленный сервер, на котором они заранее не установлены.Можно ли это автоматизировать через Visual Studio или каких-нибудь пары строк?Скорее всего я просто еблан. Простите же за мою тупость, аноны.
>>1418187dllки откуда берешь? Если из какой-то одной папки, то можно просто <Reference Include="dependencies\*.dll"> прописать.
>>1418192Сейчас решил ради теста добавить одну библиотеку, и внезапно в свойствах сборки появилось "Копировать локально". До этого не видел, поиграюсь с этим немного, надеюсь, оно и есть.>>1418194С этим тоже потестирую, благодарю за совет.
Где найти работу за доллары? Для апворка я видимо слишком тупой, меня там рыночек решает. Пробовал так же на всяких старт ап сайтах и для ремоут работы искать - тоже по нулям. Челики даже на собеседования не зовут. ИРЛ без проблем дают 100+, я из миллионника, но в офис ебал ходить, сейчас на удалёнке работаю. Как эти 100к превратить хотя бы в чистые 2к$?
>>1418473>дващ я успешный тяночки говорят что я 100к из 10, но сами на хуй не прыгают а ходить на свиданки мне западло>ты пиздишь где-то, сдаетсяДействительно, где?
>>1418473Офисная зарплата платится в среднем по городу. На ремоуте сейчас мне платят столько же, сколько в местных офисах дают.>>1418523Я ходил на "свиданки". Спамил на апворке, ещё в других местах, пару раз даже до тестовых доходило. Никуда не взяли. Нихуя я не успешный, выходит. У этих уёбков ещё и за всякие 3-4к$ там такой ебучий список требований, за которые десятку должны платить в буржуйских краях.
Аноны. Абсолютно нихуя не знаю ни один ЯП, но знаком с программированием на уровне скретча. HTML не знаю. Можно вкатиться в си шарп и на асп сайты делать?
Добрый вечер, аноны. Прошу совета насчёт выбора хостинга для .NET Core приложения. Цель - взаимодействие через API всяких сайтцев (боты, хуе мое) или своих же приложений; возможно установка ASP.NET; прочее, что нужно делать круглосуточно, но нет возможности делать это на своём ПК, ибо жалко платить деньги за электроэнергию.Пробовал Heroku, но наткнулся на подводный камень в виде вайпа файлов при каждом git push-е в репозиторий (необходимо хранить некоторые данные в xml файлах, что из-за их хитровыебанной системы сделать невозможно) + рестарт каждые 24 с лишним часа. На другие бесплатные сервисы не особо надеюсь.Какой хостингер посоветуете взять нуфажику, чтобы не особо дорого и без навороченных свистелок и перделок? Заранее спасибо.
>>1418974Лучше мы будем тебя называть гей-кун.>>1419012Любой бери. Потом уже в зависимости от потребностей выберешь наиболее подходящий. У меня арендован ВПС за 100р/мес на лине, для баловства хватает (5гб ssd 500мб рам анлим Трафика), конечно чему-то серьезному на таком будет грустно, но раз ты не знаешь что тебе надо попробуй такое.
>>1419043invs.ruПравда у меня там не получилось настроить ubuntu + nginx, но их готовый образ CentOS + Apache работает норм. Но это мое неумение готовить линуксы. P.S. Если решишь ставить CentOs, то ей 500мб оперативы мало для обновления пакетов, надо включать файл подкачки - гугл в попмощь
>>1419053Спасибо за рекламу совет, приглянусь и к этому сайту тоже.Если не похуй: на своём сейчас поставил убунту 16-ую, но пришлось немного потрахаться с установкой dotnet SDK, ибо выебывался на отсутствие оного. Тестирую сейчас - пока все работает стабильно.
>>1406275 (OP)Почему везде символы всего девушки? Задолбали дрочеры вонючие без самоуважения.Ссать на вас телки хотели.Как сделать программу, что искала бы все zip архивы на наличие файлов с определенным расширениес. Далее анзипповала бы эти ЗИП файлы самостоятельно в указанную папку, и сортировала бы файлыв по типам. Типа jpg в папку jpg, PNG в PNG и тд.Может ли это ваша системное программирование, или это хуйня собачая, которая не способна решить даже такую тривиальную задачу. Ну конечно, анзипить наверное это уже год надо код писать...
>>1419085Интересный вопрос, так как сделать этот анзиппинг? Знания парадигм программирования думаю здесь будет недостаточно
>>1419088Ну программирование это вообще такая вещь что смешны те кто гоовоят что нужно знать алгебру и всё само получится. Ну вот иди своей алгеброй сделай мне анзиппер.Тут нужны реальная умения. Причем их чето слишком много должно быть
>>1419085https://docs.microsoft.com/ru-ru/dotnet/api/system.io.compression?view=netframework-4.8За тебя всё давно сделали, ничтожество.
>>14181871. Юзай Nuget.2. Когда заливают на удалённый - билдят приложение в Release, а ещё лучше используй Publish.
>>1419129Ебать ты тупой. Не можешь просмотреть пару классов их методы, нахуй ты вобоще полез кодить?>>1419130А зачем тебе винапи? Опять ще для тебя мудака уже сделать удобный высокоуровневый класс Dirrectory.
>>1406488Кекнул с говноеда. За такой код надо не то что демотивировать премией, а в жеппу ебать прям перед всем коллективом.
>>1419210Всмысле зачем? Делаю на веб разработкте для которой ты слишком тупой приличные деньги. А твою парашу никто знать не обязан
Сап шарпач, помогите дегенерату, в жизни не работал с потоками и шарпом, необходимо сделать клиент-серверное приложение, с парочкой функций, работать необходимо с битрикс24, сейчас необходимо сделать регистрацию пользователей без использования rest api, данные нужно отправлять пост запросом из textbox-ов. Нашел класс webrequest для установки соединения с сервером, но все еще не понимаю как вытаскивать данные из текстбоксов и перенаправлять их в пост запрос а потом уже на сервер.Посоветуйте что почитать или же укажите на простенькие примеры взаимодействия все этого.
>>1419460>как вытаскивать данные из текстбоксовvar dannye = textbox.text;Или шо ты ещо хочешь вытаскивать?>и перенаправлять их в пост запрос а потом уже на серверvar error = server.post(dannye);Или шо ты хош янипони?
Марио-кун на связи.Голова работает, котелок нагрелся. Советуйте лучшую книгу по шарпу для дебила. Пожалуйста.
Срочно шок новость как сделать бесплатно без смс поиск PNG файлов в во всех ЗИП архивах в папке.Типа1) Найти все ЗИП архивы2) Из всех найденных архивов найти те, что имеют в себе jpg/pngфайлы3. Создать папку в заданной директории для каждого найденного типа фоток 4. Экстрактить туда соответствующие файлы.
Есть программа на C# которая реализует плагин систему через динамическую загрузку сборок как защитить сборку от тупого пиратства через распространение длл файла?Сама программа не предлагает никаких способов защиты для плагинов, но я сделал пару плагинов которые явно интересуют людей и хочу хоть что-то получит за свои труды, но судя по опыту прошлых создателей плагинов если никак не защищать, то находится умник который выкладывает плагин в паблик или начинает вовсе его перепродавать в X раз дешевле, что сводит на нет все желание делится тем что сделал.Я понимаю что от хороших крякеров защитить прогу на C# практически нереально, но какие есть способы защиты от тех кто хочет легкой наживы за счет чужих трудов?
>>1419677С вас пять тыщ. Directory.GetFiles(@"c:\test\", ".zip").ToList().ForEach(s => { var z = Ionic.Zip.ZipFile.Read(s); z?.ExtractSelectedEntries(".png", "", @"c:\test\png\", ExtractExistingFileAction.OverwriteSilently); z?.ExtractSelectedEntries("*.jpg", "", @"c:\test\jpg\"); });>>1419710Напиши простую проверку по ключу или сертификату. Вынеси её и часть функционального кода в зашифрованный код виртуальной машины, которую сам же и напишешь. В результате чего без ключа дллка не будет работать, а проверка ключа и полезный код будут генерироваться при запуске приложения. В таком случае кулхацкеры не смогут так легко обойди проверку ключа, вырезав этот код. Сверху можно ещё обфускатор накатать, езфускатор какой.
>>1419722>в зашифрованный код виртуальной машины, которую сам же и напишешьНе совсем понимаю как это, никогда такого не делал подобное, есть где посмотреть пример?>ещё обфускатор накатать, езфускатор какой.С этим я думаю будет сложно, так как в плагине используется АПИ из основной программы и это скорее всего поломает плагин.
>>1419724>Не совсем понимаю как этоЧерез System.Reflection.Emit и ILGenerator. Можно Sgil'ом заменить https://github.com/kevin-montrose/Sigil> скорее всего поломает плагинОно даже на юнити работает.https://www.gapotchenko.com/eazfuscator.netДенег мне потом занесёте. Один за клиента, другой за тулзу.>есть где посмотреть пример?Это довольно комплексный вопрос. Пару примеров скину, остальное сам погуглишь.http://www.java2s.com/Tutorial/CSharp/0400__Reflection/CodeGeneratorandILGenerator.htmhttps://csharp.programmingpedia.net/en/tutorial/667/ilgeneratorВ еазфускаторе уже встроенная вм есть. Можешь скачать триал и посмотреть в какой говнокод твой модуль превратиться.https://www.gapotchenko.com/eazfuscator.net/features/virtualization
Здравия вам, уважаемые.Короче я инженер, у нас заменили САПР, и вместо макросов и аддонов на шарпе, все теперь надо переписывать на VBA.Поискал я инфу и вроде как VBA это VB6. Почему это важно? А потому, что VBA встроен и изучать его в свое свободное время не получится, в то время как VB6 можно установить отдельно. Хотя и надо поплясать с бубенцом, ИБО ЭТО СРАНОЕ ГОВНО МАМОНТА И VB6 ГОВНО МАМОТНА НАХРЕНА ОНИ ЭТО СУЮТ В 21 ВЕКЕ ХОССПАДЕ ЗА ЧТО МНЕ ЭТО VBA мне реально незнаком, модули какие-то и все такое.Собственно я слегка запутался. Так как времени в обрез, хотелось бы уточнить у вас - стоит ли начинать с VB.NET как наиболее близкому хотя бы синтактически, или все-таки нырнуть в VB6? Спасибо.
>>1420258Сейчас наоборот хоронят vba и переходят на шарп. Странно, что у вас наоборот По теме ничего не могу сказать, так, перданул с дивана
>>1420259>хоронят VBAОб том же и речь, дорогой.Шарп самое то был. Но на новой программе обещают .net integration через хз сколько лет.Я подавлен.
>>1419677Блять вот реально, ты не можешь сделать такие простейшие действия. Нахуя ты вообще тогда нужен в разработке? За тебя всё должны сделать аноны?
>>1420306>нахуя ты помог этому долбоебу?пикрелейтед>>1420394>Что это за хуйня?У тебя пустой массив xy, ты его без размера создал { }.
Помогите новичку, пытаюсь отправить данные из формы на сервер в пхп скрипт который уже заносит данные в бд, но ничего не происходит и тут я не могу понять либо я неправильно принимаю, либо отправляю
>>1420432php скрипт ничего и не возвращает, я просто не понимаю правильно ли я вообще отправляю ему данные, ибо по другому не знаю как
>>1420515Есть код в нескольких папках и двух-трех десятках файлов.Везде для чисел с плавающей точкой используется double.Хочу, чтобы на этапе компиляции я мог в одном месте переключаться между double и float (нужно разобраться в скорости вычислений float'а и получаемых погрешностях в сравнении с double). Как это сделать?Найти и заменить - тупое решение (и не работающее, т.к. нельзя просто написать float x = 0.5, будет ошибка).Можно было бы написать что-то вроде:Using FLOAT = Double;//Using FLOAT = Single; И везде при инициализации писать костыль вроде: FLOAT x = (FLOAT)0.5;Но Using приходится писать в каждом файле, что тоже коряво.Есть ли в шарпе для этого нормальный способ, например, как в C++, где это решается единожды написанным #define.
>>14065773 часа лежал в ванной скролил двачи и пролежни отмывал и только с твоего поста проиграл с подливой...И да, соглашусь. Код того анона нужно в рамку и у фейк ресепшена повесить. Кто смог пройти мимо - сливать. Остальных откачивать нашатырём и показывать настоящий путь в офис.
>>1420369>Компилировалось это говно секунд 5. Это, бля, нормально? Ебать, чет реально у вас компляция тут пиздец долгая после clang++ и cpython.
>>1420504В пункте, умирает ли шарпик, можно вырезать к хуям все про ТС и вписать про .NET 5, Blazor и что шарпик живёт и процветает
>>1420469>php скрипт ничего и не возвращаетТы ничего и не отправил, а отправляет как раз таки request.GetResponse();И параметры можно написать как = $"name={textBox1.Text}&akjsfhbkh...";
Заебали превращать сишарп в сахарную говнину. Код на пике считается валидным. Из-за этого подобные конструкции стали использовать там, где их быть блять не должно.
>>1420920Нет, "_" на пике считается просто дискард вариеблом. ей ничего не присваивается, у неё нет значения и она нигде не выделятся (стэк, регистры и т.п.).Вот если бы её раньше объявили "int _;", то была бы обычная переменная с именем "_".>>1420904>И что он при этом делает?Там - ничего. А вот в какомнить "if (Int32.TryParse("sosay", out _)){}" уже есть польза.
>>1420995А, падажжи, она в тело {} попадает как _ ?то есть можно задать функцию условие, которое выбрасывает булевый результат и любого другого типа переменную? То есть, чтобы:if (boolfunc(out myvar)) { cosnole.write(myvar); }
>>1420995В том то и дело, что никуда. Если тебе только важно узнать инта это или нет (т.е. трайпас возвращает труху или фальсу) и похрен на какое там значение. То _ позволяет сэкономить объявление локальной переменной, которую мы использовать не будем: int inta = 0; ... (..., out inta);Заменяется на: ... (..., out _);И уже самим трайпарсом значение никуда не присвоится, т.к. на out стоит дискард.Дискарды в первую очередь для туплов создавались.https://docs.microsoft.com/ru-ru/dotnet/csharp/discards
>>1421008Нет, out указывает лишь что переменная передаётся по ссылке. Но out не требует инициализации переменной, т.е. можно было просто объявить её: "int inta;", а уже метод обязан инициализировать, присвоив какое-то значение.Этим out и отличается от ref, который требует инициализации до передачи: "int inta = 0;". И от in, которые вообще запрещает изменять переданную переменную, т.е. ридонли.>out является уже объявлением переменной?В версии языка 7 можно объявить переменную сразу в аргументе, но для этого нужно указать её тип. Т.е. для объявления нужно было бы написать:... (..., out int inta);
>>1421019Я к чему спрашиваю. Я искал язык в котором возможно сделать такое:ЕСЛИ бинарнаяфункция(результат) тофункцияработысрезультатом(результат)ИНАЧЕфункцияобработкиотказа(результат)
>>1421031Такое? if (int.TryParse("123", out int z)) Console.WriteLine("True: " + z); else Console.WriteLine("False " + z);> True: 123 if (int.TryParse("asd", out int z)) Console.WriteLine("True: " + z); else Console.WriteLine("False " + z);> False: 0
Я новичок.В формах есть элемент, который позволит обратиться к файлу для дальнейших манипуляций с ним?
>>1421196я про 300кк/нсНе лезь дебил в формы они тебя сожрут! Серьезно, займись сначала основами. Элемент, блять, к файлу обратиться, пиздец. Если ты хочешь окно выбора файла, то есть OpenFileDialog, если нет, то научись задавать конкретные вопросы.
>>1421248Какими основами? Я научился основам С++ и уже работал в формах. Теперь пытаюсь научиться работать с файлами, но это пиздос.
>>1421298Научиться с ними работать.Я думал OpenFileDialog это кнопка которая проводник откроет, а ее даже на форме не разместить.
>>1421300>это кнопка которая проводник откроетнет такой кнопки в формах. Тебе в любом случае обычный button на форме размещать придется и создавать свой обработчик события для это кнопки.
>>1421294>Я научился основам С++ и уже работал в формах.Не пизди. Вот бы щас сишник-плюсовик не умел интуитивно разобраться в шарпе. Пасаны, не кормите тролля!
>>1421339>нет такой кнопки в формахНу, справедливости ради, наверняка там есть что-то наподобие файлтекстбокс с кнопочкой открытия файл-диалога, но не суть.
>>1421537>наверняка там есть что-то наподобиев таком случае использовать User Control или Custom Control, но опять таки говорю, что тогда придется всё равно писать свой собственный обработчик для этого Control`а
>>1421537Ты хочешь чтоб в стандартной либе был контрол на любой чих? Ебу дал? У тебя есть текстбокс, кнопка и опенфайлдиалог возьми да собери что тебе надо. Ну или если тупенький, то можешь поискать готовое в каких нибудь девекспрессах и прочем, за монеты разумеется.
>>1421570>Ты хочешь чтоб в стандартной либе был контрол на любой чих? Ебу дал?В дельфи было. Я щас сходил проверил, да, в винформс такого нет. А в дельфи, в стандартном VCL были компоненты FileTexbox, DateTimeTexbox и т.п. Представляющие собой текстбоксы с кнопачкой справа, вызывающей диалог или комбоокно соответственное.Получается, по сравнению с 90-2000 это шаг назад.
>>1421534Но я правда работал. Только там были не сложные приложения с кнопочками и текстбоксами/боксами с картинкой. А тут файлы и я жиденько.
>>1421665> и я жиденькоХуй тебя знает, как тебе помочь? Я бы на твоём месте написал в гугле "c# открыть файл" и получил бы вот эту ссылкуhttps://docs.microsoft.com/ru-ru/dotnet/api/system.io.file.open?view=netframework-4.8И прочитал бы и ознакомился с примером в ней и сделал бы так же.Но ты пришёл ныть на двач.
Котаны-джуны, кто собеседования проходил. Дали тестовое задание написать прогу с аргументами командной строки. Решается в 50 строк, ибо совсем изи, но это без комментариев и проверки инпута.На что вообще смотрят обычно на таких заданиях? Расписывать всё пиздец как подробно, каждой запятой коммент нарисовать или как?
>>1421758Нет, будем надеяться, что ты не дашь потомство, а сивафля хоть немного приблизится к полиморфизму высоких порядков.
А нахуя половине числовых типов приписываются u и s, а остальным нет? Что, бля, за непостоянство? почему не uint, sint, slong, ulong и т.д?
>>1421810Потому что ты еблан. int (например) без приписки, имеет диапазон от -15куча цифр до +15куча цифр. sint - имеет диапазон от -30куча цифр до -1. uint - имеет диапазон от 0 до 30куча цифр. А байт, который ты, наверное, вспомнил, когда срал этим постом при byte - от 0 до 255. при sbyte - от -256 до -1
Я правильно понял, о чём здесь написано?Несмотря на каком языке мы пишем код, всё переходит в одинаковый язык IL? я так понимаю, тогда и на разных языках, должно быть везде одни и те же действия вызываться
>>1421795Переменную как назвал, логические пробели, всякие конвеншини. Даже можна ли на класс написать юнит тест.
Сап. Сложно ли перекатиться с framework на core? Какие, самые явные отличия на уровне стандартной библиотеки?
>>1421830>sint - имеет диапазон от -30куча цифр до -1. uint - имеет диапазон от 0 до 30куча цифр.>А байт, который ты, наверное, вспомнил, когда срал этим постом при byte - от 0 до 255. при sbyte - от -256 до -1Нет?И как это отвечает на мой вопрос о непостоянности наименований?
>>1422005Потому что short long - 8 >> 2 = 4 байта, то есть обычный int. На самом деле long потому и лонг, что в два раза длинее обычного int
>>1421810Так 's' только у байта. Так уж сложилось, что у байта особый путь™ и он чаще имеет смысл в беззнаковой форме, поэтому его злой брат близнец это signed-byte. У остальных числовых типов основная форма знаковая ибо, как правило, они используются для математики, поэтому их антагонисты - это беззнаковые типы, как например unsigned long. Ну и есть еще недочисловой тип char, который вообще не имеет смысла с отрицательным значением, поэтому у него пары нет совсем.
Вот этого я вообще не понял.Потому что сборки собирают CIL инструкции, а не инструкции для конкретной платформы, код CIL должен составляться на лету перед использованием. Что это вообще должно значить? Дальше, я так понимаю, объясняется, что для составления кода на лету используется JIT.
>>1422047>CIL должен составляться на лету перед использованием.CIL должен быть скомпилирован [в машинные инструкции] на лету.>>1422047>Что это вообще должно значить? Процессор понятия не имеет не о каком IL коде, ему нужны ассемблерные комманды, JIT как раз и занимается тем, что переводит IL в инструкции проца на котором работает.
>>1406275 (OP)Пацаны памагите.Нужно:Смерджить файлы до тех пор, пока они в сумме не будут 15 минут.Входные данные: путь к wav файлуВыходные: 15минутый файлПсевдокод:GET filepath to music.wavFULLDURATION = getduration (music.wav)WHILE FULLDURATION <=15 MINUT DO { music.wav + music.wav; FULLDURATION = getduration(music.wav) + getduration(music.wav) }END DOCreate 15min.wavIF (getduration(15min.wav) >15) THENLenghtOtrezat = getduration(15min.wav) - 15 CutFromEnd (15min.wav, LenghtOtrezat )END IFCreate Create 15min1.wav_____________________________Нашёл библиоткеку NAudio для работы со звукомПомогите пожалуйства
>>1422254Погуглил немношк. Лютая хрень, но теоретически пригодится, если надо срочно оптимизировать существующий проект, а переписывать в неуправляемый код целиком дорого, а подключать неуправляемые либы запрещено на уровне менеджмента проекта. Так?
>>1422263> Нашёл библиоткеку NAudio для работы со звукомТак поди можно просто какой-нибудь ffmpeg для такой задачи обернуть.
Посоны, че реально гуй фреймворков нормыльных нету? WPF немножк мертвый, Формы - без студии не компильнуть, + вообще не кросс, GTK# - тормозной пиздец, биндинги для Qt кривые.
>>1422285Если ты имеешь ввиду кроссплатформу, то да, реально нету. Выше по треду я искал, мне там даже какую-то хуйню советовали. Можешь ознакомиться.
уважаемые святые C# ,боги у меня дилема у меня почемуто не работает прога сейчас скину фрагмент помогите пожалуйстаhttps://pastebin.com/KMGWtXqa
Немного ламерский вопрос, на которых я хотел бы получить ответЕсли вдруг все перейдут на новую ОС, не от Майкрософт и винда будет загниваться, то C# тоже уже мало кому будет нужен?
>>1422289Если бы разрабы лазаруса запилили порт ЛЦЛ на сишарп и добавили сишарп в Лазарус - моему счастью не было бы предела. ибо ваистену ЛЦЛ бьёт рекорды кроссплатформенности: пишешь прогу под линуксом в среде ГТК, компилишь под винду в нэйтив вин32/64 и она работает! И выглядит идентично! Сука, это волшебство нахуй.
Если я отправляю с клиента на сервер 1000 сообщений по 1000 байт, а сервер прочитал только одно (всё это через TcpClient), то что происходит с остальными? Они ждут отправки на стороне клиента? В каком-то буфере на сервере? Есть ли ограничение на размер этого буфера? Что если этот буффер переполнится? Отвечайте быстро и четко!
>>1422492Есть ограничения на стороне клиента и на стороне сервера. Твоя 1000 не будет отправляться на сервер, а будет вставать в очередь и отправляться в зависимости от ограничений на количество одновременных соединений. Если сервер не в состоянии обработать сразу 1000 сообщений, то они будут выстраиваться в очередь на хосте, там уже будет либо обработка этих сообщений по мере освобождения нагруженности сервера, либо они все проигнорятся а тебе прилетит ответ с ошибкой 502 или 408.
>>1422754есть буферы на уровне оси, есть буферы в сетевых устройствах. все, что не влезает в этот буфер, тупо дропается
>>1422754TCP это транспортный слой, а http это слой приложения. Оба являются протоколами, т. е. используя http ты гарантируешь то, что тебя поймут серверы которые ожидают соответствующих сообщений приходящих из транспортного слоя (т. е. по TCP). Работают на прямую с TCP только в случае если тебе нужно работать с протоколом который известен только тебе и серверу. Если ты будешь посылать неизвестные сообщения используя TCP, то целевой сервер тебя просто не поймёт и проигнорирует.
>>1422757Net'овский TcpClient бросит исключение или будет ждать пока освободится буфер или дропнет данные?>>1422760Опять же мне интересна реализация в дотнете, там я могу слать сообщения в одну сторону без ответа, как оно там на транспортном уровне меня пока не интересует.
>>1422769.NETовский клиент ничего больше, чем обертка над слушателем порта. он даже не узнает, что там какие-то пакеты дропнулись. ему тупо об этом никто не скажетда и вообще, исключениями бросаться в такой ситуации грешно. у тебя и так инфраструктура разрывается от наплыва данных, а ты еще и дорогущими эксепшнами плюешьсяименно поэтому в распределенных хайлоадах разговоров про сеть больше, чем про реальный код. потому, что хуй пойми что там творится: пакеты пришли/не пришли, пакеты пришли, но как-то не так, пакеты даже не отправились чи хуй пойми что происходит
>>1422950Двач, такой двач: спошные помидоры 300к/с.>даже не узнает, что там какие-то пакеты дропнулись>пакеты пришли/не пришли, пакеты пришли, но как-то не так, пакеты даже не отправились чи хуй пойми что происходитТебе не кажется, что это как-то не вяжется с идеей TCP?В общем проверил сам, клиент отправляет 2,5Мб и дальше ждет, пока сервер не прочитает, потом шлет дальше.
>>1422950>>1423053И еще есть проперти с таймаутами (по дефолту бесконечность), по истечении которого выбросится IOException, несмотря на дороговизну, разрыв инфраструктуры и хайлоад.
>>1423058>>1423053Тебе так сразу и сказали. Хз почему ты продолжал спрашивать и долбиться головой об стену.
>>1423053кекты, как отправитель, понятное дело, получаешь инфу о том, что с данными произошло. но, если ты ось, а у входного устройства уже переполняется буфер и ему еще везут сообщения, ты никак не узнаешь, что там еще пару террабайт ждет обработки. в общем-то об этом я и писал
Антоны, есть задание про виндовс формы.Нужно инициализировать новую форму в методе, создать там всякие элементы и добавить методы.Не могу понять, как добавить новые методы в уже экземпляр класса? Через методы расширения или отражение?
Антоны, расскажите, откуда result, я не понимаю, как это происходит, ведь вот этот вот task => Console.WriteLine("The sum is: " + task.Result) это же по сути сишарп сам создает метод, как туда попадает предыдущий токенTask<Int32> t = Task.Run(() => Sum(CancellationToken.None, 10000));Task cwt = t.ContinueWith(task => Console.WriteLine("The sum is: " + task.Result));
>>1423556t.ContinueWith выполняется по завершении t и в качестве одного из параметров принимает делегат Action <Task, Object> т. е. в делегат передается сам t, который уже выполнился, следовательно из которого можно получить t.Result, что у тебя и делается в методе task => Console.WriteLine("The sum is: " + task.Result");
>>1423563Что это? В общем. Заходишь сюда:https://docs.microsoft.com/en-us/dotnet/?view=netframework-4.8Вбиваешь в поиск интересующий метод (в твоём случае это ContinueWith) и смотришь его перегрузки, там всё описано и даже примеры есть.
>>1423525Ты неправильно понимаешь задание. Тебе надо создать класс формы с элементами и методами. И только затем тебе надо создать во внешнем методе создание экземпляра этой твоей формы. Это классика, это знать надо! (мне из-за этой хуйни не перезвонили когда-то в 2006м году)
Как быстро развиваться программисту? Устроился работать в марте, работаю с ограниченным CRM-фреймворком. Пока работать интересно, но нужно думать о будущем. Читаю Рихтера, изучаю ASP.NET. Что ещё посоветуте? Цель следующей весной зарабатывать как минимум 100 в месяц.https://www.youtube.com/watch?time_continue=1&v=J9Q3i5w6-Ug
Привет, шарпач!Решил вот камбэкнуть и поковырять шарп на досуге, уже работаю фронтенд макакой, но немного заебало и захотелось чего-то новогоПосоветуйте каких-то ресурсов с задачками или идей для небольших петпроджектов, чтобы пощупать всю экосистему в целом.
>>1423703Ну раз делаешь фронт, сделай бэк на шарпе.>чтобы пощупать всю экосистему в целом.и двух жизней не хватит. Выбирай направление, которое интересно и там щупай мэйстрим фреймфорки\либы\етк.
>>1423613по мне так Core сильно отличается от обычного ASP. Поэтому стоит скорей всего сразу с Core начать. Уже 3.0 скоро на подходе.
>>1423609Быстро выгоришь.Если цель именно такая, как ты пишешь, то лучше изучай способы ведения переговоров и составления резюме.
>>1423747принципы одни и те жеAPI разноеесли знаешь ASP MVC, за пять секунд схватишь, чем из себя является ASP Core. если знаешь Core, переезжать обратно на MVC/WebAPI будет, как минимум, непривычно
>>1423969Так в какой последовательности лучше изучать? С твоих слов понял, что лучше начать со старой версии
>>1424007ну все ситуативно. у тебя вряд ли будет возможность ближайшее время щупать Asp Core 3 ближайшее время. почитай про MVC 5, но практикуйся в параллели на коре. можно наоборот, если у тебя будет хоть немножко гарантии, что Core ты сможешь юзать активно, а не для себя по вечерам
>>1424007Если бы я был ньюфагом в 2к19 и передо мной стояла такая задача, я бы изучал основы информатики и сетей в псевдокоде с блоксхемами, а из языков учил только тот, за который платят.
>>1424016Двачую. Языки вообще по большей части условность. Знание нюансов реализаций, особенно когда баги выдают за фичи, типа приведения типов в жаваскрипте, не дает особенных преимуществ. Тем более, что выход за рамки стандартных парадигм в отдельных языках не так уж часто случается. Еще реже - дает какие-либо практические преимущества перед стандартным кодом.
>>1424016Прочитал Грокаем алгоритмы и сейчас почитываю Алгоритмы для начинающих от Луридаса.Не знаю, насколько я хуевый кандидат. Около двух лет неспешно ковырял разные языки, но делал только мелкие утилитки для себя, да лабы студентам на author24Потом приперло писать диплом. Я выбрал c# и wpf, и это первый "серьёзный" проект. Думаю, надо было изучать asp.net и сделать кроссплатформенное приложениеСмотря в прошлое, кажется, что это все можно было освоить за месяц, если хуи не пинать. Смотрю на хабре, как студенты свои компиляторы ебашат и руки опускаются
>>1424047такая же хуйня былано я не забил, просто пытался проходить собеседования уже похуй где и на что. в итоге получил свой оффер, хоть осознавал/осознаю, что, если бы не хуепинание, к моменту когда меня приглашали джуном, мог бы претендовать на уверенного мидла. смертельного нет нихера, но обидно чутка )
>>1424047Ох епта. Я писал диплом на шарпе + винформс и параллельно жалел, что научник не дал на асп нете делать. Щито пилишь?
>>1424051Что ты знал на момент получения оффера? Если еще расскажешь какие очобные проекты пилил в то время, вообще замечательно будет.
>>1424297>Это разве не равнозначноНет. Одно проперти, другое филд. А у свойств и полей разное поведение. Попробуй поле объяви в интерфейсе или свойство по out передай. Свойства можно дебажить, ставя бряки на сеттер/геттер. Их можно биндить как источник данных. Не говоря о том, что светить полями наружу нехорошо. А вообще прочитай про разницу между полями и свойствами.
>>1424270основы языка (v4-) на уровне джуна, .NET 4/3.5, ASP.NET MVC 4 (онли лол), EF model/database first, SQL на уровне джойнов, че-то по DI и паттерны на уровне "знаю, что такие есть, но вопросы чуть сложнее ставят в тупик"по проектам ничего особенного, разные рофло-курсовые да и утилитки для себя/работы на тот момент. я тогда самовкатывался в веб, поэтому какое-то поделие было сделано на MVC (я назвал на собеседовании это говно "внутренней информационной системой", по ходу кого-то впечатлило)
>>1406275 (OP)Здраствуйте!Почему один и тот же быдлокод прекрасно запускается на одном компе, но вываливается в OutOfRange !на этапе компиляции! на другом?На обоих компах vs2015. На одном 64х десятка, на другом 32х 7ка. В этом может быть проблема?
Хочу сделать отображение чисел которые я занес в массив. Какой элемент в визуале для этого использовать? Скажите пожалуйста название или гайд на его использование. List box или listview?Зеленый не бейте
>>1424651Мне лень запускать студию, я не помню, когда-то давно в дельфи, они оба были для отображения. Что вообще ты подразумеваешь под работой с элементом? Ввод данных? Выбор элемента?
>>1424653И там и там доступен. Но листвью это более сложный компонент для вывода данных в несколько столбцов или в виде перемещаемых элементом, кароч - окно проводника щиндовс - это листвью.
Я сейчас поплавлюсь нахуй.Пожалуйста, подскажите что нужно дописать чтобы я вводил число в окно 1 и оно заносилось в список. И смогу ли я его потом сортировать после этого?
>>1424760>>1424755А вообще, для академических целей тебе Label простой подойдёт. У тебя всё равно все функции программы будут кнопками выполняться. Вот и выводи результаты в Label.
>>1424765Зачем? У меня задание на создание и сортировку массива. У меня нету проблем с ним, но решил усложнить задачу и вывести массив его красиво графически без соснольки. И вот с этим проблема.
>>1424735Не слушай чуханов с их листбоксами. Чтобы всё работало тебе нужно привязать контекст датагрида к массиву. Далее при изменения массива, у тебя всё будет обновляться автоматически, как в представлении формы, так и внутри кода.
>>1424795> хочешь выводить массив графически?> возьми датагрид и нахуярь стены субэдэшного бойлерплейтаХарош троллить.
>>1424846это ж автогенеренный код, не тебе же писать тыщи строк копипастычисто с позиции нахуяривания это лучший вариантдолбоебы с датагридами - долбоебы
Народ, как можно конвертировать html табличку в массив byte с сохранением символов на кирилице? я Пользовался методами из nuget'ов например CoreHtmlToImage и получалась такая хрень
>>1424853в дополнение сразу скажу, что сама табличка после построения в браузере отображается нормально, все символы в нужной кодировке. но мне ее надо потом преобразовать в картинку (для контроля), а ее в base64 строчку
Чуваки, хотел бота на хероку закинуть, оказывается .net приложения нельзя на хостинг закинуть? Только через microsoft azure?
>>1424869Ну так и выбирай хоста, который поддерживает .net. Если тебе нужен asp net, ищи хостинг asp net их много. Если просто net, то бери vps на винде, еще можешь переписать на нет коре и взять впс на лине, они дешевле. А еще я слышал, что на хероку можно запустить asp net, если поебаться с докером, но это не точно.
Сап, шарпач, нужна твоя помощь, пытаюсь запилить справочник номеров с экспортом в ворд. Сначала запилил вывод в текстбокс, там выводит все отлично, теперь пытаюсь этот цикл поместить в ворд, но выходит лишь как на 1 пике, но нужно, чтобы вышло как на 2. Как это сделать?
Анон, у меня будет генерироваться много объектов, допустим 1к в минуту. У каждого должен быть уникальный идентификатор, сами объекты живут 5-10 минут. На сколько надежно будет генерировать ид стандартным рандомом? Хватит инта или лонга, или генерировать гуид? Следить за уникальностью в одном месте не могу, потому что объекты могут генерироваться на удаленных компах.
>>1424947Грубо говоря, есть запрос и ответ. Так как ответы могут прилетать в случайном порядке или не придти совсем, то я решил сделать айди в запросе, и айди запроса в ответе, чтобы потом сопоставить их. Есть идеи лучше буду рад.
>>1424954поздравляю, ты описал CorellationId в общих чертахGUID - решение 99.95% таких задач. конечно, от коллизий нельзя быть полностью защищенным, можно пытаться генерировать идентификатор распределенно по правилу {id-хоста}-{id-подгруппы}-{прогнозируемое-локальное-значение}
Извините, что не отвечал — купил новый телефон, и, соответственно, дашчан со всеми постами остался на старом >>1424051А какой город? Наверное, Москва. В моё мухосрани .NET вакансий ровно джве, причём одна из междугородной компании, которая, как я понял, высвечивается по всей РоссииТвой пост меня приободрил. Спасибо, анон. Сейчас ещё месяц-другой будет, подготовлюсь к собеседованиям >>1424268У меня не было жёстких рамок касательно проекта. Делал лабораторные для студентов. Предыдущие программы были написаны ровно двадцать лет назад, и нужно было их обновить, добавив новый функционал. В общем, ничего сложного — специальность у меня связана со связью, и дипломная комиссия просто не знала, какие вопросы мне задавать. Так что защитился на отлично, даже не почувствовав хардкора. Сейчас переделываю эти лабораторные, чтобы было красиво — связь объектов через интерфейсы, тестирование, все дела. На защиту шел с говнокодом, который в спешке дописывал в последние недели. Переделываю с целью выложить на гитхаб, и потом показывать как портфолио
>>1424979я с Украшки. переезжал в местное ДС4 (наверное лол). был еще оффер чуть раньше с города попроще, но я его задоджил без объяснимых причин (о чем не жалею, в общем-то)
>>1424981А какой год? Посмотрел вакансии за 2012 — достаточно было прочитать одну книжку и можно было идти на собеседование. Все же сейчас рынок насытился. Похоже, повторяется ситуация с юристами Рад, что у тебя все получилось. На ебаное.ит были посты про чёрные списки в Украине, там совсем ад и Израиль
>>1424984Львовну да, я за пол-года, что проходил собесы, наблюдал эволюцию требований от "догадываться как выглядит клавиатура" до "знать и уметь в шаблоны проектирования, MVC, SignalR, WPF и прочие баззворды". на джуна лол. ну, пришлось подстраиваться, а что поделать
Анон, поясни человеку, пришедшему из Джавы: есть старый .NET Framework для CLR и есть мульти-платформенный .NET Core.Во что лучше углубиться, если интересует повышение квалификации?
>>1425137>А то выглядит разорвано.И как бы оно тогда там выглядело?https://github.com/dotnet/roslyn/blob/master/src/VisualStudio/CSharp/Impl/CSharpPackage.cs#L26>Можно Нельзя
>>1425052допустим у тебя главная ветка - masterсоздай условно ветку master2 и слей master в master2 используя squash. master удаликонечно не идеальное решение, но у тебя все твои коммиты "склеятся" в один последний (тот, который master --> master2)если в чем то ошибаюсь, напишите плез
>>1412221Тоесть по книге я смогу сдать на минималку? О книге вкрсе половину прочитал, остальное сложнее. Очень мало новго узнаю. Нашел бесплатние дамп нотам вопросов маловато только. Но некторие идут очень просто.
Есть в шарпе какой-то внятный аналог data/case-классов из котла/скалки? Чтобы в одну строку определять класс, который не содержит методов а только хранит данные? Очень удобная фича в жавамирке была, хочу такую в шарпе.
>>1425638Хотя если такой класс нужен локально, то возможно неким аналогом может стать тульпа кортеж или анонимный класс:var a = (5, "ss"); //Tuple<int, string>var b = new {Huj = 21, Pizda = "hairy" };
>>1425638>жавамиркеВ сисярп мирке тоже есть:https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/recordshttps://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/discriminated-unionshttps://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/active-patterns
Как вытащить дробные числа из SQLite ? GetFloat() выбрасывает исключение InvalidCast. Через индексатор обрезает дробную часть. Тип данных в БДшке REAL(3,4). Выручайте ребят.
Сап, двач. Объясни по буквам. Есть интерфейс. Где-то там в далеке в этом же пространстве имён, для него есть метод расширения. Также есть класс, который реализует интерфейс. У этого класса есть метод с такой же смгнатурой. Если, мы создадим объект этого класса, приведём его к интерфейсу, и вызовем у интерфейса метод расширения: будет вызван метод расширения или метод в классе?
>>1426173>выбрасывает исключение InvalidCastВ нём должно быть написано, что и к чему ты пытаешься кастовать.Я не телепат, поэтому только вангую, что REAL вытягивается как DOUBLE
>>1426175Конечно метод расширения. Интерфейсный тип ничего не знает про методы класса, которые его реализуют. И не забывай, что методы расширения это всего лишь сахар, который преобразуется в вызов метода статического класса на этапе компиляции.
>>1426187>>1426173Индексатор возращает Double. Методы GetXXX вызывют внутренее исключение в System.Data.SQLite.SQLiteDataReader.VerifyType(Int32 i, DbType typ) Исключение не выводит ни чего интересного. Пишет что приведение типов недопустимое, кидает пару мертвых ссылок на msdn.
>>1426224https://docs.microsoft.com/ru-ru/sql/t-sql/data-types/float-and-real-transact-sql?view=sql-server-2017
Обьясните мне, пожалуйста, как работает ContinueWhenAll, я не могу раздуплить, для чего там два массива нужно.
>>1425982>Сисярп>Кидает ссылку на фшарпВидишь ли бро я бы и рад но мне ещё деньги зарабатывать надо>>1425652Догадки или были анонсы?
>>1426434Там не нужно два массива, там нужен один массив тасков, результат выполнения которых будет передаваться в виде массива выполненных тасков в Action делегат который ты указываешь в качестве второго параметра. Т. е. ты передаешь массив тасков, после чего в делегате работаешь с этим же массивом тасков, но только уже выполненных.
>>1425991>Ну да, ведь F# от C# отличается только одной буквой в названии.Как был поставлен вопрос, так и был дан ответ.>data/case-классов из котла/скалки>Очень удобная фича в жавамирке былаА если еще и вытащить мозг из жопы, то окажется, что F# идеально подходит для быстрого прототипирования слоя предметной области как изолированная среда - код описывает только правила бизнеса, а не ебёт тебе мозги как передать данные по сокету или еще какой хуйни, которую можно отловить на стадии компиляции или банально встроена в возможности языка. К тому же, никто не запрещает совмещать C# и F# так же легко, как сделано это в жабамире.Дополнительно, CIL шире, чем возможности C#. Т.е. новые фичи или копи-паста из F#/VB не реализовываются так же кастрировано, как сделано это в жабе. Например, жабагенерики.
>>1426503Зависит от поставленной задачи. Чаще всего это смесь нескольких языков, которые не обязательно будут из .NET мира. Часто наблюдал и вовсе, казалось бы, симбиоз .NET и Java миров в одном проекте. Тяжело объяснять что-либо тому, кто не понимает, что язык - это лишь инструмент.А реальность такая, что бизнесу глубоко насрать на каком языке будет реализована поставленная задача. Чаще всего должно быть сделано быстро, качественно и понятно, чтобы смогла поддерживать код даже тупая макака после тебя. Нет? Так это твои проблемы, бизнес просто найдет другого исполнителя.>>1426458>Видишь ли бро я бы и рад но мне ещё деньги зарабатывать надоС такой философией можно смело валить в js мирок и не вылазить от туда. Будешь востребованным, вот только работать будешь за гроши и ощущать свою ежедневную умственную деградацию.
>>1426529>Чаще всего это смесь нескольких языков, которые не обязательно будут из .NET мира.И сколько тебе времени потребовалось на то чтобы освоить несколько языков на уровне, который позволяет тебе использовать их при выполнении "боевых" задач?
>>1426533>И сколько тебе времени потребовалосьБольшинство языков, с которыми я имел дело, основываются на каких-то общих принципах. Т.е. после некоторого опыта все сводится к банальному заучиванию синтаксических конструкций языка, на что тратится довольно мало времени. Нет необходимости заново изучать наследование или что такое эндоморфизм. А задача сводится к переиспользованию уже наработанной кодовой базы и компоновки с существующей системой.Типовая задача не требует времени на изучение вообще, так как твоя команда руководствуется уже накопленным опытом.Нетипичная задача же требует спайк, на основе которого уже и будет приниматься дальнейшее решение. Время варьируется от дня до недели.И стоит еще понимать, что сейчас много чего сводится больше к знаниям технологий разработки, а не языков, развитие которых тоже не стоит на месте. Но к технологиям такой подход тоже применим.
>>1426579Почему тогда все так не любят фуллстеков, говоря, что они никогда не достигнут уровня человека, который концентрируется на чём-то одном?
>>1426595Я этого не знаю. Наверное, одни хотят сэкономить деньги, повесив "гордую" лычку фуллстек, другие - не поспевают за развитием одновременно и фронта, и бека.
>>1426529Тебе поздним вечером заняться нечем кроме утрирования?На шарпе много работы, интересной и разной, плюс сам язык в последних версиях все больше берет от лучших ЯПовНа фшарпе 2 вакансии на планету Земля.Нравится пилить петпрожекты на полумертвом языке - милости прошу, но мой вопрос был про сирешетку.
Так какие вещи оборачивать в try-catch? 99% туториалов рассказывают, как это делать, но где и зачем - полный молчок. Пока только выяснил, что оборачиваются методы работы с БД с фоллбеком транкзакции в случае ошибки. Оборачивать все паблик методы сервисов?Если что, то пишу WPF приложение на MVVM с разделением прожектов на гуй, домен и бизнес леер.
>>1426927Вообще по бест практисах, если делаешь код которий возвращает статус например ищешь юзера в бизнес логике то статус может бить: найден, не найден, ограничен доступ. То в случаее не найден можно кидать свой appException, которий идет в кетч и обрабативется. А есть более низкоуравнение ексепшини, на пример проверка на null в начале метода, то здесть ексепшин для разработчиков, мол проебался.
>>1426927условно говоря, все, что может его плюнутьконечно, это не значит, что нужно каждый вызов метода try/catch-ить, но обычно оборачивается монолитный кусок бизнес-логики или операции, которая на своем уровне считается атомарнойвообще, никто этого тебе и не расскажет, нет такого однозначного правила - что оборачивать, что нет; где плеваться исключением, где возвращать статус-объект. единственное, что можешь точно понимать, это если код критичен к исключениям и выброс его может завалить тебе приложение (а это, даже в нештатной ситуации допускать нельзя), офк трай-кэтчишь
Антоны, как можно через шарп подключиться к другому процессу и читать оттуда данные?Например, мне из игры нужно текст вывести, как это можно сделать?
>>1426927Там где результат выполнения кода не зависит от твоего приложения и заранее не известен. Чаще всего это сетевые запросы - обрабатывать каждую ошибку очень муторно, поэтому легче обернуть весь запрос в try catch и на эксепшен не связанный с потерью интернет соединения, делать несколько ретраев, после чего уже останавливать работу приложения и писать в лог. Если результат известен, но ты обернул код в трай-кетч, то ты даун, потому что такие блоки очень ресурсозатратны .
Ебаный рот этого дотнета. Почему в 2014 году никто не догадался встроить в него парсер json? Я в итоге вынужден добавлять в проект всякую вишню, лишь бы парсить хуйню типа {"success":true}. А я бы просто хочу и с жсон работать, и не иметь лишних dll в папке с собранной программой. Разве я многого прошу?
>>1427475https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.serialization.json.datacontractjsonserializer?view=netframework-4.8
>>1427603О, найс, спасибо. У этой штуки тоже есть недостаток, надо в класс десериализовывать, абстрактный JObject/JArray как-то повеселей
>>1427670Ты все прекрасно описал, именно так и нужно. Наверное, придётся свой парсер запилить, заодно поупражняюсь
Как в wpf убрать эту ебучую белую рамку у выпадающего списка MenuItem? Только шаблон править и больше никак? И если мне надо только убить эту рамку, а остальное оставить как было, то мне грубо говоря надо скопировать весь стандартный шаблон и в нем убрать границу или можно просто переопределить параметр, который за границу эту отвечает, а то что-то я не нагугли по этому вопросу ничего или просто я долбоеб?
>>1427732ну написать style-ресурс, применяемый к типу MenuItem, где рамка делается прозрачнойтебе не нужно весь UI для контрола переписывать
>>1427747Так в том то и дело, что через стили не получается, типо через стиль можно у MenuItem убрать границы, а эту белая залупа у выпадающего списка.
>>1427766ну я не хнаю наизусть всю иерархию контролов. посмотри через TreeView и проперти, где такая белая хрень. на нее стиль и лепи
>>1428181Не знаю, там где я читал про это было написано мало. Тебе скорее нужны книги не по сисярпу, а по реверс инженерингу.
Решил почитать про/пописать процедурную генерацию, пока делал в одном классе всё было ок, когда решил сделать базовый хранящий карту и методы для отрисовки, а заполнение под подклассам раскидать, с наследованием как-то накосячил, но никак не могу понять что не так.https://pastebin.com/36HVrP89
>>1428181>Я вообще не понимаю, как работатьНу смотри:В компьютере используются полупроводниковые ячейки памяти, которые могут либо пропускать ток (значение 1) либо блокировать (значение 0). Чтобы компьютер мог компьютить, ученые придумали вот что: они разделили последовательности единиц и нулей на управляющие (команды) и информационные (данные). И тут появляются процессоры. У процессоров есть регистры, в которые учёный может записывать управляющие команды, после чего процессор начинает преобразовывать данные и это назвали программами! Это было опизденительно круто! Лучше чем секс! Тысячи ученых в тот день навечно обросли свитером и бородой! Некоторые стали геями.Началась стремительная гонка между гиками - за изобретения универсального языка программирования.
>>1428417У тебя все рандомы с одним сидом созданы - разница во времени несущественна. Используй статик рандом для генерации сидов.И свойства нормально реализуй.
сап шарпач. помоги разобраться свежему вонаби-шарпистуhttps://pastebin.com/rEAMmPFbпочему выводит 1, а не 4?
>>1428524Потому что инструкция a = a + F() выполняется слева направо, компилятор вначале видит a и подставляет текущее значение 0, после этого он видит F(), выполняет функцию и подставляет значение из нее, в результате выходит a = 0 + 1. Если заменить порядок на a = F() + a, тогда будет так, как ты ожидаешь.
>>1428663Происходит две вещи:1. Функция объявлена как возвращающая перечисляемый инт, что позволяет указывать её как множество в foreach.2. Внутри функции использовано ключевое слово yield, позволяющее отложить выполнение функции до следующего её вызова.Оператор foreach вызывает функцию, чтобы получить первую итерацию i и получает 0, в значение i, которое выводится в консоль, затем он повторно обращается к функции, но так как по факту перечисление в ней не реализовано, происходит конец цикла, однако второй вызов функции позволяет ей завершиться и вывести "1".Вы мне перезвоните?
>>1428687>но так как по факту перечисление в ней не реализовано, происходит конец циклаЭм, точнее так, поскольку функция возвращает значение только один раз, то цикл завершается. Поскольку отсутствие возвращаемого значения трактуется шарпом, как конец перечисления.
Как открыть magnet ссылку из консольного .NET Core приложения?Пробую:Process.Start("magnet:?xt=urn:btih:9d74bef981a83a9675dcc3103e717b75ceae89f8&dn=%2B%2B%2B%20ABP-878%20%E5%A4%A9%E7%84%B6%E6%88%90%E5%88%86%E7%94%B1%E6%9D%A5%20%E6%B0%B8%E7%80%AC%E3%81%BF%E3%81%AA%E3%82%82%E6%B1%81%20120%EF%BC%85%2059%20%E5%85%A8%E8%BA%AB%E3%81%8B%E3%82%89%E6%B1%97%E3%81%8C%E5%99%B4%E3%81%8D%E5%87%BA%E3%81%99%E3%83%8F%E3%83%BC%E3%83%89%E3%82%BB%E3%83%83%E3%82%AF%E3%82%B9&tr=http%3A%2F%2Fsukebei.tracker.wf%3A8888%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce");Получаю исключение про то, что указанный файл не найден.
вот я пишу код в вижуал студио, потом делаю билд солюшен, потом генерирую ЕХЕ с помощью dotnet publish.как мне посмотреть именно IL-код?
>>1428713Поставь UseShellExecute = true, для десктопа оно false по дефолту. Или через cmd запускай.>>1428724dnSpy
Блять, скачал книгу Троелсона - ебать , это я чё то недогоняю или как ? Любой код в его книге сложнее Привет мир у меня обязательно не работает блять, хотя я буквально ctrlc-ctrlv делаю. Есть книга которая всё ещё попроще описывает, ибо очко уже горит от практически каждого неработающего кода?
>>1428889С# 6.0 and Net Framework 4.6. Редакцию вроде 2016 года. Или есть более свежие? Хочу другую попробовать, а именноC# Players Guide. Откуда её скачать на русском?
https://pastebin.com/cVhMwpNTпиздец какой-то. какого хуя?Извините. Я хотел сказать "Ну почему так, Господи?"
У меня есть два проекта в солюшене консольное, либа и винфоромс. Консольный запускает форму через процесс.старт. Оба пользуют либу. Я могу как-то дебажить методы либы вызываемые из форм?
>>1429014>Ну почему так, Господи?Читай спеку, сын мой. Если коротко, то вызывается наиболее специфичный метод.
>>1429056Удваиваю вопрос. Самом стало интересно. Раньше, у дидов, в иде запускался дебаг либы, затем во втором экземпляре иде запускался дебаг приложения, исключения либы валились в экземпляр 1, исключения приложения в экземпляр 2. Причём, при исключениях в экземпляре 1 экземпляр 2 нельзя было трогать, даже мышкой по нему водить, ибо он вис наглухо.
>>1428852Есть Шилдт, они примерно одного уровня, но Шилдт для совсем нулевых получше заходит, после него уже Троелсена попробуй. Если в добавок еще и тупой, то попробуй mycsharp.ru, каких-то знаний там там не плучишь, но по-быстрому освоить что куда писать в самый раз.Сам так делал.
>>1429051мое изучение шарпа пока длится менее 10 часов. почему вызываются методы не те, которые объявлены как оверрайд? Возьмем вариант без класса С - https://pastebin.com/fr34nfQ2.Я рассуждаю так. У нас есть виртуальный метод F в классе А. Слово virtual нужно для реализации оверрайда данного метода.Мы наследует B от А и используем ключевое слово override, чтобы вместо наследуемого из А виртуального метода вызывался определенный в B метод с аналогичным именем и вектором параметров. Соответственно я ожидаю, что именно он и будет вызван. Тем более мы делаем вызов с интовым параметром. Так почему же вызывается не-override метод?почему компилится в это IL_000d: call instance void Problems.Program/B::F(object)и почему эта строка в IL-коде соответствует не-оверрайд методы?
>>1429056>>1429068Нашел такие два решения:1. Debug -> Attach to process и там цеплять форму. Вариант не очень, ибо надо это делать каждый раз.2. Вместо запуска через процесс.старт настроить multiple startup projects в Set sturtup project указав та что дебажить. Уже лучше.Продолжаю искать варианты..
>>1429085>>1429093В двух словах не получится (самое короткое и правильное это параграф 7.5.3 спеки). Но во первых не путай override и overload, я думал превый пос про оверлоад, а тут оказывается про оверрйад. Давай ты четко задашь вопрос с минимумом мтодов/классов а я попробую ответить.
>>1429093Опередили. Ты перепутал оверлоад с оверрайдом и не указал оверлоад. Следовательно, без оверлоада метод с совпадающим именем удаляется из интерфейса.
>>1410724Я опоздал наверное, но можно организовать какой-нибудь пинг или проверку потока пакетов с игрока. Они прекращаются - соединение оборвалось - всё, он оффлайн.
Есть очень часто вызываемый метод который принимает массив в результате анализа должен создать новый массив и затем используя его вызывать другой метод.Встал вопрос производительности, на какой стул лучше сесть?1) Оставить тупо new List<MyStruct>() которые в результате каждого вызова аллоцирует новый массив в памяти.2) Вынести List<MyStruct>() за пределы метода и каждый раз делать .Clear() вначале метода. (Архитектура позволяет, так как этот метод должен и будет работать только в однопоточном коде)3) Пробегать коллекцию перед анализом лишний раз чтобы узнать необходимый размер и затем делать stackalloc MyStruct[size] Что по вашему будет давать большую производительность?size проанализированного массива обычно от 1 до 30-50 элементов, в 90% случаев меньше 10 элементов.
>>1429111http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-334.pdfэта спека? их прост чёт много.
>>1429121>size проанализированного массива обычно от 1 до 30-50 элементов, в 90% случаев меньше 10 элементов.Разницы не будет. Делай так как тебе удобно.
>>1429121Преждевременная оптимизация - корень всех зол. Если ты уже определил, что проблема в данном месте, то первое, что стоит сделать это проанализировать алгоритм и используемые структуры данных, если косяк в них, то исправив/улучшив можно увеличить производительность в разы. Ну и последний вариант это байтоебство, тут можно выжимать наносекунды,но если вызовов миллионы в секунду это сложится в некоторый буст.
>>1429121Вместо List используй OrderedDictionary если нужен доступ по индексу, либо Dictionery если доступ по индексу не нужен. У List сложность O(n), а у OrderedDictionary/Dictionary O(1).
>>1429271А как же зло аллокации?Метод 20-30к раз в секунду вызываться будет и получается каждый раз лезть в кучу и нагружать GC затем.Может быть в работе самого метода разницы не будет, но вот в общем то должно быть.>>1429280Сейчас же выдали Span и Memory, почему бы не использовать их для временных данных вместо того чтобы создавать массивы в куче, тупо объявлять их на стеке?>>1429301Плохая идея.Добавление в любой Ordered это сверх дорогая операция, а к листу и так по индексу 1 сложность, ведь это же тупо доступ в массив.
>>1429374>Добавление в любой Ordered это сверх дорогая операция, а к листу и так по индексу 1 сложность, ведь это же тупо доступ в массив.Больше манямирка, пожалуйста.
>>1429385Потому что Data это гет проперти, которое каждый раз возвращает енумератор нового листа. while (a.Data.MoveNext()) //каждую итерацию создается новый лист
>>1429386> а к листу и так по индексу 1 сложность, ведь это же тупо доступ в массив.>Тебе про добавление говорятНайс манявры.
>>1429382Добавление в лист по индексу действительно имеет сложность N.Но я говорил про доступ, он 1 как и обычно add 1.В моей задаче нужен индекс для получения, а не добавления.Но любая Ordered коллекция по определению дороже обычной.