Программирование


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
601 47 127

C#/Сишарп/.NET Тред #20 /csharp/ Аноним 16/06/20 Втр 09:09:56 17244251
1592287795815.png (331Кб, 1044x1122)
1044x1122
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии. Также не забываем напоминать залетным Жаба-петухам о их месте возле параши, которая уже давно навечно забилась легаси-дерьмом и ждёт неминуемой смерти Жабы.

Литература вторым постом

1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/

2. Онлайн-компиляторы:
- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
- http://ideone.com/
- http://csharppad.com/
- http://www.tutorialspoint.com/compile_csharp_online.php
- http://rextester.com/l/csharp_online_compiler

3. WinForms или WPF?
Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее. Оба будут поддерживаться в .NET Core, поэтому не стоит беспокоиться о будущем, если шлёпаете формочки.

4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?
Неправда. C# довольно активно развивается, недавно вышла третья версия .NET Core фреймворка и восьмая версия языка. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.

5. Какую ИДЕ выбрать?
Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Для мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).
Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.

6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, смотри сюда - https://docs.microsoft.com/ru-ru/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?view=vs-2019.
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials

7. Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL

8. Расширения для студии
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/ru-ru/dotnet/csharp/whats-new/csharp-8

Код этой шапки: https://pastebin.com/YJFQKsNm

Прошлый тред тонет здесь: >>1665540 (OP)
Аноним 16/06/20 Втр 09:10:37 17244282
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 7.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином. Уже появилось издание для 8.0, однако в интернетах пока его нет.
- C# 7.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- Pro C# 7: With .NET and .NET Core (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

10. Более хардкорный материал
- CLR via C# (Jeffrey Richter) - это классика, это знать надо.
- C# in Depth (Jon Skeet) - написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
- Writing High Performance .NET Code (Ben Watson) - охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, чтобы вам перезвонили.


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 и анализ дампов памяти в windbg

15. Литература не по шарпу, но так или иначе связанная с языком
C# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под Unity
Introduction 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), SOLID

18. Я не умею читать, что посмотреть?
- 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
Аноним 16/06/20 Втр 11:10:14 17244913
Благословляю тред
шарпошиз
Аноним 16/06/20 Втр 11:12:56 17244924
>>1724425 (OP)
>Также не забываем напоминать залетным Жаба-петухам о их месте возле параши, которая уже давно навечно забилась легаси-дерьмом и ждёт неминуемой смерти Жабы.
Уберите из шапки.
Аноним 16/06/20 Втр 11:16:29 17244945
>>1723695 →
>>1724005 →
Бампаю вопрос. Нихуя не понимаю, где рефлексия используется. Чес слово. На пальцах - у меня хоститься ASP.NET Core 3.0 бэкенд (назовем его Main) в виде Web Api для моей GUI на React свестелки-перделки. Задача бэка - оперировать данными полученных с фронта (обычный мать его КРУД). На кой хуй, вопрос - мне рефлексия. Предлоложим, что у меня должен быть 24/7 аптайм в моем Main (бэке) и у меня нет доступа к исходнику своей же бэк-side апликухи (окей), в этом случае исходя из поста >>1724005 → я создаю отдельный солюшен, рефлекшу свой Main, прикручиваю функционал, которого нет на Main и ... Что блять дальше? Хостить его на другом порте, чи шо? И как я буду манипулировать сотней Reference в мой "Костыль" из Main? И как Main вообще будет знать о таком "Костыле". Нипонимаю, нихуя.
Реальный юзкейс для Reflection, который я нашел - это InteliSense и disassembler.
Поясните, христа ради, кто в теме.
Аноним 16/06/20 Втр 11:17:41 17244956
>>1724492
хорошо, что заметил. Что за долбоеб создавал тред?
Аноним 16/06/20 Втр 11:22:01 17245047
>>1724495
Двачую C# и Java - братья на век.
Аноним 16/06/20 Втр 11:28:43 17245088
Аноним 16/06/20 Втр 11:47:12 17245239
Аноним 16/06/20 Втр 12:10:11 172453610
>>1724508
Ну если время проебать хочешь и создать видимость того, что ты какие-то навыки и знания приобретаешь, то оба ресурса справятся с этой задачей одинаково хорошо. Если хочешь навыков и знаний, то тут только книги из шапки. Рекомендую начинать с Троелсена.
Аноним 16/06/20 Втр 12:24:00 172455711
>>1724494
>Вопрос - зочем? Ладно, если какой то крупный интерпрайз 24/7 крутиться в продакшене и к нему нет доступа
При чем тут продакшн и доступ к нему? Возьми программу типа браузера, ты можешь написать к нему расширение. Чтобы это расширение работало, браузеру нужно использовать рефлексию и изучать код твоего расширения, встраивая его функционал в рантайме. Т. е. при помощи рефлексии ты делаешь свою программу расширяемой.
>К примеру?
Любой фреймворк, от WPF до ASP.NET, все они используют рефлексию, дописывая большую часть кода за тебя.
Если используешь Атрибуты, значит тоже используешь рефлексию, например при создании типа в который у тебя будет парситься JSON, ты добавляешь свойству атрибут JsonConverter(typeof(DetailsBodyConverter)) и таким образом библиотека понимает, что ей нужно достать из метаданных этот JSON конвертер и использовать его при парсинге.
>3. Почему не перекомпелировать?
К какому пункту это относится? Если к последнему, то я написал, что возможности заново компилировать код может и не быть, например если ты проебал исходники на какой-нибудь старый модуль, который нужно изменить.

> На кой хуй, вопрос - мне рефлексия.
Тебе уже всё в том посте описал. Ты какое-то дерьмо непонятное придумал и спрашиваешь зачем тебе рефлексия, так, будто её нужно применять везде, независимо от приложения и его назначения.
Аноним 16/06/20 Втр 12:36:35 172456312
>>1724557
>браузеру нужно использовать рефлексию и изучать код твоего расширения
хороший пример
>Если используешь Атрибуты, значит тоже используешь рефлексию
разве это не обычная библиотека?
Спасибо за ответы, впринципе прояснил - это как на WebApi делать эндпоинты для модулей, расширяющих функционал приложения. Поэтому я и спрашивал за то, как основной модуль узнает о всех новых - аналог метода со входящими параметрами.
Аноним 16/06/20 Втр 13:08:40 172458913
>>1724515 →
Вы с нуля проекты пердолите? Если да, то я смотрел спичи (часовые) на релизах - там были чуваки, которые толкали за архитектуру. Были ли мне полезны эти знания - нет. Делал себе заметки, пересмотрел даже, в голове остались 1-2 фичи, остальное - как смысло в унитаз
Аноним 16/06/20 Втр 16:17:46 172479914
Есть годная литература по ASP NET Core?
Аноним 16/06/20 Втр 16:28:45 172481515
>>1724799
мне сегодня контора объявила, что передумала меня на курсы шарпа отправлять.
знак свыше! пойду питон дальше учить
Аноним 16/06/20 Втр 16:32:58 172482216
>>1724815
Это тебе знак искать другую контору. На тебе поставили крест.
Аноним 16/06/20 Втр 16:37:12 172482917
Вы так говорите "джава", будто она тоже для клепания формочек для шинды.
Аноним 16/06/20 Втр 16:42:52 172483718
Аноним 16/06/20 Втр 17:02:07 172487519
>>1724815
>>1724822
не факт, скорее всего просто проекты прикрыли на решетках. Я уже писал в прошлом треде - у нас так отдел распустили. Так что или прыгнешь на другой стул или пойдешь по ветру
Аноним 16/06/20 Втр 17:17:33 172490120
>>1724563
>разве это не обычная библиотека?
Что "это"? Если ты попробуешь создать свой атрибут, то поймешь, что без рефлексии он будет бесполезен, потому что понять, что у класса есть какой-то атрибут, можно только при помощи рефлексии.
Аноним 16/06/20 Втр 17:19:08 172490421
>>1724829
>тоже
У неё одно предназначение - ковырять многолетнее легаси, которое написали индусы за 2$/день.
Аноним 16/06/20 Втр 17:23:36 172491222
>>1724904
А то в остальных не-хипстерских языках не так.
Аноним 16/06/20 Втр 18:36:00 172500323
>>1724536
В чем разница между книгой и этими сайтами? В книгах только воды побольше
Аноним 16/06/20 Втр 18:56:41 172502924
>>1725003
>воды

Почему? Потому что тебе лень мозгами шевелить и хочется верить в чудо вида "вот щяс прачитаю мутанита и стану сишарпирам даа... вооот...."? У сайтов вообще нет никакого практического применения. Если тебе нужно краткое изложение и освежить память, то для этого есть исчерпывающая документация. Научить они ничему не могут. Вот и выходит, что их применение это подкрепление маняфантазий лентяев вроде тебя.
Аноним 16/06/20 Втр 19:13:12 172505525
А у меня вопрос немного касающийся шарпа сбоку. Смотрите, есть клиент на Angular, очивидно я хочу логинить/регистрировать пользователя. Так вот, как мне передавать данные от пользователя? Ну, т.е. я понимаю, что не в открытом виде. Но какой механизм обычно используется? Скажем, если я на стороне клиента зашифрую информацию о нем с помощью SHA256, то как мне расшифровать это на стороне сервера это дело? А потом же надо заново зашифровать чтобы в БД сохранить, что в данном случае используют умные дядьки в качестве соли?
Как же плохо, когда на твоей специальности не было криптографии и вообще вам просто говорили: не еби мозг и бери готовое решение.
Аноним 16/06/20 Втр 19:15:15 172505926
>>1725055
Бери ASP.NET и не еби мозги, тебе всё правильно говорили. В любом случае, если ты не придёшь к уже готовому решению, то сделаешь только хуже.
Аноним 16/06/20 Втр 19:19:19 172506527
>>1725059
Я не могу пользоваться готовыми решениями, если сам к ним не пришел. Такой вот я мудак.
Аноним 16/06/20 Втр 19:25:41 172507528
>>1725065
Ну тогда бери готовое решение и смотри как сделано в нём. Ты ведь не настолько тупой, чтобы думать, что тебе сейчас в одном посте распишут путь по которому ты придёшь к готовому решению, верно?
Аноним 16/06/20 Втр 20:09:44 172513429
ребят объясните как читается эта запись и что почитать об этом?

IEnumerable<TResult> GetProductsWithStock<TResult>(Func<Product, TResult> selector);
Аноним 16/06/20 Втр 20:20:21 172514530
>>1725134
ЯПеречеслитель< для типа ТэРесалт> ДайПродуктыСоСтока <для типа ТэРесалт>(Функция< для типов Продукт, ТэРесалты> выборщик)

А если серьезно, это женерик, на вход функции подается делегат функции, результатом которого будет TResult.

Скажем для инта это будет значить
IEnumerable<int> GetProductsWithStock<int>(Func<Product, int> selector); что ты хочешь получить перечислитель типа int, для этого ты передаешь ссылку на функцию, для типа Product результатом которой будет int.

ХЗ понятнее ли тебе стало.
Чтобы понимать это проще, нужно про женерки почитать и, соответственно, делегаты.
Аноним 16/06/20 Втр 21:23:51 172518831
.png (63Кб, 1444x864)
1444x864
>>1725134
Да, вот тебе простой пример.
Так конечно делать неправильно, но может быть суть яснее станет.На деле женерики почти никогда не нужны и использовать их следует только если ты знаешь что именно сейчас оно и надо.
Да, про интерфейсы ничего не сказал, но суть, интерфейс это как-бы контракт между программистам, который гарантирует, что у объекта который имплементирует интерфейм будет какой-то набор методов -> указывая что в функцию передадут объект "ЯДрочлио" ты можешь не париться и более-менее быть уверен что у объекта будет метод "Дрочить" с определенной сигнатурой и ты можешь его использовать, а если все обвалится это проблемы того кто имплементировал интерфейс, а не твои.

долбоеб второкурсник
Аноним 17/06/20 Срд 07:24:48 172572732
Посоны, кто на питоне пишет в Visual Studio, объясните, почему при открытие отдельного файла, вне проекта, окно Class View пустое, как заставить среду, чтобы она парсила файл в любом случае, хоть в отдельном файле, хоть в проекте?
Аноним 17/06/20 Срд 09:28:31 172580633
>>1725188
>долбоеб
только в этом ты прав
Аноним 17/06/20 Срд 10:01:15 172582934
>>1725727
На питоне же неудобно пиздец писать в студии, автокомплит через жопу работает.
Аноним 17/06/20 Срд 10:28:04 172584135
>>1725829

Я не хочу себе другую иде заводить для питона. Мне он на время нужен.
Аноним 17/06/20 Срд 13:26:19 172600436
C# - это легаси, надо мигрировать на vala с с-апи, это будущее.
Аноним 17/06/20 Срд 18:43:16 172633637
Аноним 17/06/20 Срд 18:45:30 172634038
>>1726004
Зачем, если давно уже стандарт делать гуй в браузере? Я сейчас не про электрон.
Аноним 17/06/20 Срд 21:36:22 172647339
>>1725806
Окей. Поясни. Давай, мне даже интересно.
По твоему женерки нужно во все дырки пихать? А может быть интерфейс это не обычное указание того что ты хочешь обьек, который имеет функцию с такой сигнатурой?
Аноним 17/06/20 Срд 21:43:11 172648640
Немного покодил на шарпе. Много сахарка, но все же родные кресты мне ближе. А еще со строками какая то херота, зачем было делать string и stringbuilder?
Аноним 17/06/20 Срд 21:48:44 172649441
>>1726486
Потому что во многих языках дрочат на иммутабельность, и строки здесь неизменяемые. И принято, если нужно сконкатенировать несколько строк, юзать билдер.
Аноним 17/06/20 Срд 21:50:23 172649542
Посоветуйте какую-нибудь книгу по SQL. Кушать хочется, а без него на работу не берут.
Аноним 17/06/20 Срд 22:25:27 172653643
Ребята, только начал изучать шарп, сделал задание по созданию класса X содержащего массив из элементов другого класса Y и несколько методов. Сейчас второе задание:
Customize X class using various types of statements and parameters.
Может кто кто конкретнее объяснить что нужно сделать(с примером небольшим?)
Аноним 17/06/20 Срд 22:35:24 172655044
>>1726536
Попробуй параметров в конструктор нахуярить, чтобы когда экземпляр своего класса создаешь поля задавались корректными значениями.
Аноним 17/06/20 Срд 22:45:45 172656145
>>1726473
>Давай, мне даже интересно.
хуй привстал даже? Долбоеб второкурсник, который не знает за боксинг/анбоксинг? Или не знает за систему контроля типов? И ковариантность наверное не нужна? Прийдешь на галерку (если прийдешь, в чем я сомневаюсь по предыдущему посту) тебе там пояснят как нужно типы создавать. И попробуй такое на собесе пиздануть, что дженерики не нужны, не успеешь перднуть, как полетишь пинком под зад
>>1726486
>string и stringbuilder
system.string - статическая
system.text.stringbuilder - динамическая
Дрочилам по быстродействию и расчету байтов - инструмент оптимизации. Кресты лучше, бросай эту хуйню
>>1726494
>во многих языках дрочат на иммутабельность
ФП петух в треде, я спокоен
>>1726495
>книгу по SQL
u gonna be kidding me
>>1726536
>Customize X class using various types of statements and parameters.
как ты тогда учишь, если после первого задания ты бежишь на борду спрашивать что и как? Если хочешь начать осваивать ЯП первый совет тебе - научись находить решения самостоятельно
Аноним 17/06/20 Срд 22:53:59 172656446
>>1726561
Снобствующий долбоеб называет кого-то петухом. Спешите видеть.
Аноним 17/06/20 Срд 23:13:00 172657147
>>1726561
> ФП петух в треде, я спокоен
Чини детектор, я лютый сторонник мутабельности и вообще императивщины.
Аноним 18/06/20 Чтв 06:42:10 172669348
Code.jpg (439Кб, 1890x1025)
1890x1025
Что я не так делаю? Почему это не похоже на урок по сишарпу? Где using system и прочее говно?
Аноним 18/06/20 Чтв 06:49:41 172669549
>>1726693
>Почему это не похоже на урок по сишарпу?
Потому что это С++.
Аноним 18/06/20 Чтв 06:56:36 172669850
>>1726695
Как заставить это сделать консольное приложение по c#?
Аноним 18/06/20 Чтв 09:35:31 172674751
>>1726698
>Как заставить это сделать консольное приложение по c#?
Переписать на c#
Аноним 18/06/20 Чтв 20:08:13 172756052
Помните я спрашивал про поиск пустых и жаловался на то что память жрет. Вы еще тогда посоветовали что-то типа:
var freeID = _db.Users.Select(x=>x.ID+1).Except(_db.Users.Select(x=>x.ID)).OrderBy(x).First();
Так вот, я два дня мучался с таким вот способом, но EF упорно кидает ошибку The binary operator is not defined. Вот блин, что не так-то я делаю? Почему если я делаю это же но предварительно в лист запихнув ID все работает нормально(но жрет кучу памяти). Вернее я понимаю, это какая-то срань с IQueryable(наверное), наверное надо Where использовать, но блин. Аааааа. Я горю от своей тупости. Нахуй я в эту залупу полез-то? Да и вообще, имхо было бы проще реально написать просто SQL запрос, но типа же это не тру вей для .net'чика, но блядь, 2 дня проебать пытаясь эту срань сделать, когда мог бы за минуту написать нативный запрос. Пиздос нахуй
Аноним 19/06/20 Птн 12:50:32 172796853
>>1727560
Че за база? Я проверял на SQLite все работало. Подключи логгер и посмотри что за запросы улетают в базу. Мне, например, еф генерировал cross apply. хотя sqlite его не поддерживает.
А еще IQueryable не могет (но это не точно) в Equals, надо через == писать.
Аноним 19/06/20 Птн 20:37:04 172836354
>>1727968
> Че за база?
PostgreSQL.
Подключу, но уже в понедельник.
Аноним 19/06/20 Птн 21:26:25 172839855
Аноним 20/06/20 Суб 01:13:38 172861956
A89bwlA6.png (54Кб, 512x512)
512x512
>>1724425 (OP)
Привет скажите пожалуйста куда нажать если я прям совсем дурачок клинический(0 опыта в программировании) но очень хочу научиться сишарпу, ну или на крайний случай направьте куда то еще, спасибо!
ну не надо писать там про всякое на сонную артерию себе нажми или на кнопку выключения компьютера не надо я правда интересуюсь
Аноним 20/06/20 Суб 01:26:39 172862357
>>1728619
Начни с установки Visual Studio 2019.

https://www.youtube.com/watch?v=ZO7KXU2GNqA

Там же есть видосы для совсем новичков, кроме того на рутрекере видеокурсы лежат. Вникай, гугли, читай, не ленись писать код и все комментируй для себя, как понимаешь. В последствии все это может тебе пригодиться.
Аноним 20/06/20 Суб 01:31:02 172862858
>>1728623
Понял, спасибо. А сишарп вообще нормальная отправная точка? Или это прыжок выше головы? Не нужно какой-нибудь питон учить сначала? Или опыт в одном языке мало помогает в другом?
Аноним 20/06/20 Суб 01:49:59 172864059
>>1728628
Если ты хочешь именно c#, то стартуй с него. Захочешь - вьедешь в любой язык, до определенного предела, который зависит от твоего стремления учиться.

Если сам не знаешь чего хочешь, то сперва определись для себя сам. Поспрашивай по тредам конкретные вопросы. Погугли. Так-то все высокоуровневые языки для макак и домохозяек делаются. Ничего сложного именно в освоении нет.
Аноним 20/06/20 Суб 02:48:33 172866260
private void test()
{
bool flag = true;
while (true)
{
try
{
if (!flag)
;
if (Content())

Пацаны, я в шарп не в зуб ногой, но нужно переписать шарп на питон. Что значит строчка:
if (!flag)
;
Если flag = false, то что мы делаем? Ничего? Вызывается exception?

Аноним 20/06/20 Суб 02:52:38 172866561
>>1728662
Просто я нихуя не пойму. Шизик старательно в функции меняет значения flag с True на False и обратно, но единственная проверка на этот flag это вот:
if (!flag)
пробел_;
Аноним 20/06/20 Суб 03:10:00 172867062
>>1728665
пробел_;
Символ удаления же.
Аноним 20/06/20 Суб 03:15:31 172867163
>>1728665
Там могла быть неиспользуемая переменная, которую среда обычно предлагает заменить на символ удаления.
Аноним 20/06/20 Суб 03:37:22 172867564
>>1728662
>>1728665
Кажется этот код ничего не делает. Он не рабочий.
Аноним 20/06/20 Суб 08:01:36 172869165
15922041844460.png (131Кб, 500x427)
500x427
Вкатываюсь в айти через дотнет!
Аноним 20/06/20 Суб 08:24:48 172869366
Аноним 20/06/20 Суб 08:35:40 172869567
>>1728693
Да нет, в школе был стремный жс, сейчас читаю Троелсена, вроде нормально идет. Только не понял, зачем нужны F# и визуал бэйсик.
Аноним 20/06/20 Суб 09:47:31 172871068
>>1728695
>в школе был стремный жс
Что? Ты в слове паскаль сделал пару ошибок.
Аноним 20/06/20 Суб 09:53:34 172871669
>>1728710
Деда, ты от жизни отстал. В школах давно перешли на JS и питон. Между делам рассказывают про древние технологии времен палеолита, типа ПХП и джавы, но это так, для общего развития.
Аноним 20/06/20 Суб 10:19:19 172872770
В общем, я бы хотел чтобы пользователь с правами суперюзера мог изменять настройки для моего приложения на лету. Скажем, он решит что сегодня мы не регистрируем клиентов, жмакнул в менюшке и контроллер при попытке регистрации будет отдавать 400 ошибку всем решившим зарегаться. Или что надо ограничить число единовременных подключений. Вот это вот все. Ну, собственно, как это сделать динамически? Все настройки-то я вынес в appsetting.json, там можно все настроить и при перезапуске оно сменится. А как теперь сделать чтобы это же из админской менюшки на сайте делалось-бы?
Аноним 20/06/20 Суб 12:10:51 172878871
>>1728363
Я проверил, все работает. У тебя значит еще какая-то хуйня на запрос навешана.
Аноним 20/06/20 Суб 12:16:02 172879372
>>1728788
Да ничего не навешано. Буквально тот же запрос.
Я думаю, может быть это связано с тем, что поле типа UInt32, а PG там беззнаковые по своему хранит(как bigserial) и провайдер запросов не понимает как привести к этому самому UInt32. ХЗ короче.
Аноним 20/06/20 Суб 12:21:49 172879773
>>1728675
>>1728671
Вполне возможно, потому что это код после декомпиляции. Видимо не дописал этот момент автор
Аноним 20/06/20 Суб 12:23:13 172880074
>>1728670
двач удаляет пробелы
пробел;
Аноним 20/06/20 Суб 13:35:02 172885575
>>1728793
Попробовал с uint, всё равно работает.
Аноним 20/06/20 Суб 13:57:35 172888076
>>1728855
Проверил на домашней копии проекта и действительно все работает. ХЗ почему на работе не работает. Хотя там рассинхрон кодовой базы имеется в 4 месяца работы, может быть я там в каком-то другом месте пролюбился и теперь такая вот штука происходит.
Аноним 20/06/20 Суб 14:08:18 172889377
Шарпаны, такой вот вопрос. Вот я написал свою программулину. А как теперь мне ее другим людям доставить? Ну, скажем я сделал файловый менеджер но работает он через браузер. Как теперь сделать так, чтобы человек мог установить себе мой файловый менеджер и потом при включении ПК он бы тоже запускался, без всяких плясок с бубном со стороны пользователя? Ну, т.е. да, я могу скриптик для павершела написать, который создаст сервис который будет в автозапуске, но у многих же скрипты павершеловские будут блокироваться и не каждый пользователь будет хотеть их вообще запускать. Вот я и подумал насчет инсталятора, но не совсем понимаю чем их делают для .net core. Я гуглил про доставку ПО клиенту и там куча примеров с Эйжур, а вот обычные консольные приложения, которые работают локально, как-то не особо освещаются.
Аноним 20/06/20 Суб 17:44:35 172907278
Я хочу приконнектиться в базе данных, написал в App.config блок connectionStrings, написал саму connectionString. А когда с самим кодом работаю - у меня
System.Configuration.ConfigurationManager.ConnectionStrings[name].ConnectionString
нихуя найти такую ConnectionString не может. В чем может быть проблема?
Аноним 20/06/20 Суб 17:46:50 172907379
>>1729072
Алсо, даже через дебаг посмотрел - у меня ConfigurationManager.ConnectionStrings имеет один элемент. Только это нихуя не тот элемент, что я вручную добавляю. А элемента, что я добавляю, и вовсе нет.
Аноним 20/06/20 Суб 17:47:55 172907480
>>1729073
Неправильно делаешь.
Аноним 20/06/20 Суб 18:04:17 172908981
>>1729072
>>1729073
>>1729074
Я долбаеб и забыл, что для юнит-тестов нужно эксплицитно ссылаться на App.config. Все работает.
Аноним 20/06/20 Суб 18:07:53 172909382
>>1729089
>эксплицитно

ЯВНО, дебила кусок.
Аноним 20/06/20 Суб 18:49:19 172912383
>>1729093
Пис оф менталли хендикаппед персон.
Аноним 21/06/20 Вск 00:28:44 172935084
>>1729093
«Явно» уебищно звучит.
Я активно топлю за максимальное заливание в рус.яз англицизмов.
Тем более в программировании, где английский - доминирующий.
Русский вообще неудобный устаревший язык, единственное его спасение - форсированная модернизация, через займ слов и оборотов из актуальных языков.
Аноним 21/06/20 Вск 00:32:55 172935185
>>1729350
каргокультист закукарекал заместо жабаскриптера
Аноним 21/06/20 Вск 00:57:27 172936786
15817941724383.png (450Кб, 1225x977)
1225x977
>>1729089
>эксплицитно
хуясе какие слова умные. Ты чей будешь, холоп?
>>1729123
true
>>1729350
>заливание в рус.яз англицизмов.
просто ты долбоеб и перхоть подзалупная. Не выебывался, а написал бы уже explicit, раз ты так любишь ангельский.
Странно, что ты задаешь вопросы на русскоязычной борде, а не на reddit/4chan/SOF. Тут твоими аглицизмами тебе по губам проведут и об щеку вытерут
Аноним 21/06/20 Вск 07:31:17 172940987
>>1724425 (OP)
There are, of course, benefits and drawbacks to this kind
of a setup, which we’ll discuss in Chapter 40, but it turns out to be a good idea for everything except low level stuff, like an operating system or a device driver. C# is a bad choice for things like that. (Try C or C++ instead.)
Тут говорится о том, что Сишка это хуёвый язык для операций относительно системы компутера или о том, что это хуёвый язык для новичка?
Аноним 21/06/20 Вск 09:29:34 172943188
>>1729409
>except low level stuff, like an operating system or a device driver
причем тут новичок? Автор правду написал, что низкоуровневые задачи типо драйверов или ковыряние в ОС не решается с помощью C#
Аноним 21/06/20 Вск 10:08:14 172943889
Аноним 21/06/20 Вск 10:35:29 172944490
>>1729438
> Once the AOT compiler was far enough developed, the team then started to code the kernel. This was met with long periods of inactivity and few active developers due to lack of interest in unsafe kernel programming.
Ядро пришлось делать унсейф, так что шарповики обосрались и слились, высрав какой-то 0.0.1.
Аноним 21/06/20 Вск 12:27:30 172948591
hqdefault.jpg (8Кб, 480x360)
480x360
Аноним 22/06/20 Пнд 02:31:27 173023792
Анон, как лучше всего подключать базу данных Microsoft SQL для юзанья с WPF?

А то обычно в уроках через код (обычно так делают во всех уроках)

Но тут увидел что базу можно добавлять через solution explorer. А потом увидел что в студии есть источники данных
https://docs.microsoft.com/ru-ru/visualstudio/data-tools/add-new-data-sources?view=vs-2019

Как лучше?
Аноним 22/06/20 Пнд 11:16:23 173039393
Сап, есть ли интернет уроки типа CodeAcademy, но где предложат пройти тест и выявить плохо выученные темы, а затем их выучить, вместо прохождения всего курса с полного нуля?
Аноним 22/06/20 Пнд 11:43:42 173040594
>>1730393
есть, называется собеседование
Аноним 22/06/20 Пнд 12:10:40 173043195
Аноним 22/06/20 Пнд 12:49:08 173047896
Без названия.jpg (7Кб, 226x223)
226x223
>>1730431
у препода подойди и спроси, чтобы он тебя погонял по вопросам, что ты там в своей шараге проходил
Аноним 22/06/20 Пнд 19:38:28 173079197
Хм. Меня f# заинтересовал.
Кто-нибудь использует в реальных проектах? Для еще чего кроме обработки данных и описания моделей он может быть удобен?
Аноним 22/06/20 Пнд 20:01:41 173081198
>>1730393
Идешь на кодворсы и решаешь задачки. В процессе поймешь, что на хорошо выучил, а что - хреново. Плюс задачки там прикольные на самом деле, забавно позалипать, после очередного дня крудошлепанья и поймать себя на мысли: А не все еще забыл-то.
Аноним 22/06/20 Пнд 20:12:10 173081899
>>1730478
Я шарп лучше препода знаю.
Аноним 22/06/20 Пнд 22:42:33 1730915100
>>1730818
Ну ок.
Давай я поспрашиваю.
1. Ниже, какой результат выведется в
static void swap<T>(T a, T b){
T temp = a;
a = b;
b = a; }
static void Main(){
int a = 10;
int b = 20;
swap(a, b);
Console.WriteLine(a);
Console.WriteLine(b);}

2. Вот код класса. Какие в нем есть проблемы? Как их исправить?
public class Class1 : IDisposable{
private CancellationTokenSource cts = new CancellationTokenSource();
...
public async Task LongRunTask(){
while(!cts.Token.IsCancellationRequested){
...
}}
public void Dispose(){
cts = null;
}}

3. Ниже код. Что выведется в конcоль:
int i = -1;
Console.WriteLine(string.Join(",", BitConverter.GetBytes(i)));

4. Ниже код. Что в
try{
Console.WriteLine("A");
throw new InvalidOperationException();
}
catch(InvalidOperationException ex){
Console.WriteLine("B");
}
catch(Exception ex){
Console.WriteLine("C");
}
finally{
Console.WriteLine("D");
}

5. Ниже код. Что в коносль?

public interface I {
public void Foo();
}
public abstract class A : I {
public virtual void Foo() => Console.WriteLine("A");
}
public class B : A{
public override void Foo() => Console.WriteLine("B");
}
public class C : A{
public new void Foo() => Console.WriteLine("C");
}
class Program{
public static void Main(){
A some1 = new B();
A some2 = new C();
List<I> lst = new List<I> { some1, some2 };
foreach (var i in lst) i.Foo();
}}
Почему? Как исправить не меняя внутренности классов?

6. Ниже код чему будет равен y после выполненения.
object x = new object();
int y = 100;
while(x!=null && --y>10)
{
if(y==50)
x = null;
}

Ну, набросал то что было на первом курсе. Довольно примитивная хуйня.
Правила простые. Дал ответ - проверил. Отетил правильно +1 балл, неправильно -2 балла. Полез сначала проверять перед ответом -5 баллов. Если сумма меньше 10 - читай CLR via C#. Если меньше нуля - иди на метанит.


Аноним 22/06/20 Пнд 23:31:36 1730933101
>>1730915
>Если сумма меньше 10 - читай CLR via C#
>Отетил правильно +1 балл
>дает 6 вопросов
Ебать студентота тупая пошла, земля пухом

P.S. Вопросы ака - задрочи на собесе. Я когда то вызубрил такую же залупу, но интервьер задал другие вопросы. Я конечно же обосрался на них и предложил - давай теперь я. В итоге обосрались мы оба. А я получил работу. Fin
Аноним 22/06/20 Пнд 23:43:39 1730944102
>>1730933
> Ебать студентота тупая пошла
Кто-то шуток не понимает.
> Вопросы ака - задрочи на собесе
Хуй знает, обычные вопросы на знание синтаксиса. Примерно такие были чтобы допуск к экзамену на первом курсе получить. Ну и да, я как-бы работаю уже 3 года, а ВУЗ 2 года как окончли. Не надо тут про студентоту рассказывать.
Аноним 22/06/20 Пнд 23:55:09 1730953103
>>1730944
всегда проигрываю с такой хуйни на собесах типо
string.Join(",", BitConverter.GetBytes(i)));
или про алгоритмы сортировочки и поиска. Самое главное не зарофлить с каменного ебала интервьера
Аноним 23/06/20 Втр 00:43:14 1731011104
Знаете где еще методы с большой буквы? В дельфи.
Аноним 23/06/20 Втр 01:50:21 1731079105
Пацаны что делать если студия лагает очень сильно лагает?
Аноним 23/06/20 Втр 01:51:30 1731080106
>>1731079
Пришло то самое время.
Аноним 23/06/20 Втр 01:55:35 1731082107
>>1731079
Следи за запущенными процессами. Я вот один раз не следил и у меня в фоновом режиме висело порядка 1к процессов хрома, которые жрали всю память и нагружали процессор до соточки.
Аноним 23/06/20 Втр 06:12:05 1731161108
>>1731079
Ставь VSCode. Серьезно. Студия, по сути, нужна только когда ты отлаживаешь, для написания VSCode намного лучше.
Аноним 23/06/20 Втр 07:43:33 1731179109
Аноним 23/06/20 Втр 15:14:12 1731562110
>>1731079
SharpDevelop используй, летает на калькуляторах, не лезет каждый день обновляться, правда не поддерживает последние версии C#, но кто их использует?
Аноним 23/06/20 Втр 17:05:21 1731766111
>>1731562
>не поддерживает последние версии C#, но кто их использует?
Как? Вы же говорили у вас нет легаси.
Аноним 23/06/20 Втр 17:35:00 1731801112
>>1731766
Я говорил, что ебал твою мать. Она рассказывала о твоём раке простаты. Кстати, перезвони ей, скажи, что сегодня вечером опять зайду.
Аноним 23/06/20 Втр 18:37:03 1731882113
Аноним 23/06/20 Втр 18:41:39 1731885114
>>1731882
Там разве есть какой-то подвох?
Аноним 23/06/20 Втр 18:42:35 1731887115
>>1731079
Студия, мать твою, это дебагер. Никто в здравом уме в ней код писать не будет, блядь. Тебе дали нормальные редакторы, тебе дали ебучий VSCode, Райдер. Нет, блядь будем на этом перегруженном говне кодить.
Оно годится только когда у тебя реально маленький проект, ну 3-4 строк и это чисто шарп, без всякой JS-хуйни. Иначе - соси бибу, оно будет поперживать и тормозить и хуй что сделаешь.
Аноним 23/06/20 Втр 19:02:33 1731916116
Аноним 23/06/20 Втр 20:29:20 1732042117
>>1731885
Ну, если ты понимаешь, что в случае если бы было while(--y>10 && x != null), был бы результат 49, то особого подвоха нет.
Аноним 23/06/20 Втр 20:35:20 1732044118
>>1732042
Тому що дальше && при проверке условия он бы не ушел. Прикольно.
Аноним 23/06/20 Втр 21:16:49 1732079119
>>1731887
Проиграл с этого смузихлеба, который купил себе ноутбук вместо станционарного компьютера, а теперь сосёт хуй и вынужден кодить в обрубках, а не полноценной IDE.
Аноним 23/06/20 Втр 22:09:34 1732144120
.png (2Кб, 437x65)
437x65
>>1732079
Наверное 24гига и i7 5 летней давности это мало, чтобы, блядь, код писать и подсвечивать и иногда по ссылкам прыгать. Странно только что vs code с миллиардом, блядь, расширений работает без тормозов, на проектах в несколько раз больше тех, на которых студия уже начинает вызывать дискомфорт при работе. Даже не знаю с чем это может быть связано, уж точно не стем, что ебучая говностудия в 2020м все еще 32 битная, при том что она с ходу 2 гига на среднем по размеру проекте сжирает.
Аноним 23/06/20 Втр 23:25:58 1732216121
>>1732144
У меня на среднем ноуте со студией, в которой подгружено с сотню проектов и основным проектом в котором содержится совокупно под полторы тысячи строчек кода, 0 проблем с производительностью. Стартует за секунды, запускает дебаг почти мгновенно.
Аноним 23/06/20 Втр 23:28:59 1732221122
>>1732144
Конечно, конечно мы тебе верим, долбоеб, который хочет сказать, что говно запускаемое в браузере (Electron) и написанное на жопаскрипте, работает быстрее, чем программа написанная на C++
Аноним 23/06/20 Втр 23:38:02 1732231123
>>1732221
Так на С++ можно очень обосраться с памятью и перфомансом, если криворукий, а жс такого говна не позволит и оптимизирует все в виртуапльной машине.
Аноним 23/06/20 Втр 23:40:24 1732234124
Собираюсь вкатиться в си шарп. До этого не изучал ни один язык программирования. Знать математику для этого языка необходимо? Английский нужен для него, и на каком уровне, если нужен? Расскажите, какие подводные есть. С меня как всегда
Аноним 23/06/20 Втр 23:54:43 1732245125
>>1732234
Если ты для себя решил этим заняться, то похуй на матан и на инглиш. А вот логическое мышление и хорошая память тебе точно не помешают. Инглиш удобен, потому что на нем больше всего учебных пособий и видосов. С другой стороны до каких-то пор можно обходится русскоязычным контентом.

Смотри видосы, читай книжки, гугли, быдлокодь, когда начнешь хоть что-то понимать. В любом случае - это дистанция на годы, скорее всего сам все поймешь, успеешь только совершить несколько шагов.
Аноним 24/06/20 Срд 00:10:47 1732253126
>>1732231
>если криворукий
Ну да, только таких в топ IT компанию и берут.
>а жс такого говна не позволит
Позволит и будет молча сжирать очередной гиг оперативки и десяток процента процессорного времени.
Аноним 24/06/20 Срд 00:17:43 1732255127
Почему в шарпе нету одной цельной команды для консольного ввода, на подобие scanf или cin?
Аноним 24/06/20 Срд 00:25:54 1732260128
>>1732234
> Знать математику для этого языка необходимо?
Нет ни одного ЯП, где знать математику необходимо. Другое дело, что для решение задач она часто полезной оказывается.
> Английский нужен для него, и на каком уровне, если нужен?
Нужен как и для любого другого языка. Минимальный уровень - свободно читаешь документацию и можешь пересказать что там было написано.
> Расскажите, какие подводные есть.
Работы мало, требования для вката не самые низкие. Очень много неочивидной хуйни. Большая часть примеров что ты найдешь в интернете предполагает, что ты либо жаву либо си знаешь и писал что-то комерческого уровня. Да, еще куча пидрил говорит что знать весь фреймворк не обязательно, дескать пользуйся тем что нужно, только блядь такой подход приводит к тому, что ты не всегда знаешь что же там есть, пилишь свой говновелосипед, а оказывается, что решение есть в фреймворке и оно охуенное, т.е. таки надо выучить фреймворк, помимо языка.
Аноним 24/06/20 Срд 01:09:05 1732277129
>>1732255
Что ты под "одной цельной команды" подразумеваешь?
Если хочешь писать:
Console.ReadLine()/Console.Read()
Без Console., то напиши директиву using вот так:
using static System.Console;
И можно будет писать:
ReadLine()/Read()
Аноним 24/06/20 Срд 01:46:32 1732297130
>>1732277
Я хочу, чтобы в любую переменную в шарпе можно было ввести данные одной командой без конвертации строки в нужный тип и разведения на хуй не упавших лишних строковых переменных для этой самой конвертации.
Чтобы можно было делать так
int a;
a = Console.Readline();
а не вот такую вот хуйню городить
string stroka
int a = 0;
a = Convert.ToInt32(str = Console.ReadLine());

И кстати, какого хуя шарп обязывает меня всегда и везде при объявлении нестроковой переменной задавать ей какое-то начальное значение, даже если она всё равно его получит во время компиляции? Может, я не хочу? Почему тогда строке можно не давать начального значения? А?!
Аноним 24/06/20 Срд 01:54:03 1732301131
Я вот учился в ВУЗе и мне говорили, что использовать статические классы в шарпе - зашквар. Вот я и не использовал. Ну так вот. Но вот я решил свой проектик делать, составил сам себе ТЗ. И я стал себя ловить не мысли, что часть некой логики же все равно было бы удобнее в статический класс запихнуть.
Скажем, вот у меня есть настройки приложения, я хочу чтобы их было можно менять в произвольный момент времени и это отражалось на всю программу. У меня есть два пути - сделать сложную ООП хреновину с менеджерами настроек, контроллерами и прочим, могу сделать синглтон, который, по сути будет тем же статическим классом, а могу ебануть статический класс AppSettings, в котором добавлю событие изменения настроек на которое будут подписываться те кому надо и изменять свойства в зависимости от настроек. Где я проебался? Что я упускаю? Вроде же это как раз KISS и все такое.
Аноним 24/06/20 Срд 01:56:04 1732304132
>>1732297
int a = int.Parse(Console.ReadLine());

А если как то чел посоветовал, то вообще:
int a = int.Parse(ReadLine());
Аноним 24/06/20 Срд 02:00:17 1732306133
>>1732297
Сделай варпер. Делов-то.
public static class Halpers{
public static int ReadInt => int.Parse(Console.ReadLine());
public static string ReadString => Console.ReadLine();
}

Вынеси это в свою библиотеку и потом просто:
int a = Halpers.ReadInt;
string b = Halpers.ReadString;
Аноним 24/06/20 Срд 02:18:49 1732319134
Аноним 24/06/20 Срд 02:25:55 1732322135
>>1732319
Строгая типизация, братан ¯\_(ツ)_/¯
Аноним 24/06/20 Срд 02:32:03 1732323136
>>1732322
В крестах или шарпе? В крестах то она строгая.
Аноним 24/06/20 Срд 03:12:35 1732331137
.png (17Кб, 406x600)
406x600
>>1732319
В любом реальном продукте тебя считывать/записывать с консоли в 99.9% случаев не нужно будет.
Плюс, твой cin - такой же варпер вокруг потока ввода, внутри которого лежит перегрузка оператора битового сдвига, в шарпе дизайнеры решили ограничить возможности перегрузки операторов и такой свободы как в плюсах тебе не дают, и ИМХО это правильно.
Блядь, как же сука охуенно на первом курсе-то было, когда под видом си нам давали еще огрызки плюсов, и сука вот я читаю книгу про си, там написано >> - оператор битового сдвига вправа, ну, это понятно, но какого хуя если он перед этим самым cin стоит я записываю в переменную-то? И вообще, что блядь за cin такой сука. Хорошо хоть после первого курса нам нормального препода дали, который мало того что на шарпах учил, так и всю эту хуйню объяснил и когда на третьем снова начались плюсы, но уже у нормального препода, вся эта хуйня вопросов не вызывала.
Аноним 24/06/20 Срд 03:13:35 1732332138
>>1732323
Почему так в шарпе понятно - ReadLine() возвращает string. Поэтому для инта надо парсить полученную строку. Лень гуглить этот процесс для крестов. Хитрая перегрузка? Замуты с обжектом?
Аноним 24/06/20 Срд 03:15:56 1732334139
>>1732332
Просто для каждого типа перегрузили. Попробуешь из консольки считать json чтобы сразу десерилизовался в объект и пизда тебе.
Аноним 24/06/20 Срд 03:16:33 1732335140
>>1732334
Для каждого стандартного
поправочка
Аноним 24/06/20 Срд 03:21:33 1732337141
>>1732334
Спасибо, что разжевал. Я так и понял из этого поста >>1732331, что это какая-то костыльная перегрузка, по сравнению с шарпом.
Аноним 24/06/20 Срд 14:52:09 1732591142
https://ideone.com/R9VWiP
Вот допустим, я хочу сделать коносольную игрушку. Вот пример того как я это примерно представляю
Ну и в чем суть, я не совсем понимаю, как без доступа к миру предполагается что некий эктор должен знать что делать, кроме как изменять свое состояние? А как должно контролироваться, что эктор не выйдит за границы мира? Ну, просто допустим, у в методе TickAction напишу логику, типа это яблоня, каждые 20 тиков оно может яблоко произвести, таким образом увеличивая число яблок на себе. Как мне сделать так, чтобы потом кто угодно мог подойти к яблоне и сорвать яблоко? Я не свовсем это понимаю.
Аноним 24/06/20 Срд 15:40:50 1732619143
>>1732591
Игровое поле - двумерный массив чаров, адресное пространство x и y. Существа - экземпляры класса с полями текущаяПозиция, новаяПозиция. Позиция моба - адрес в двумерном массиве. Прежде чем присвоить новую позицию мобу, проверяешь пару значений на соответствие адресному пространству массива.

Существо может "осматриваться" вокруг себя занося в одно из личных полей список всех адресов, рядом с которыми находится. Может проверять адреса вокруг на символы, занесенные в двумерный массив. А может проверять эти адреса на соответствие значению полей других мобов/объектов игрового мира текущаяПозиция. Если совпадает - там кто-то есть, надо убегать или взаимодействовать.
Аноним 24/06/20 Срд 17:43:50 1732737144
>>1728619
может с питона начнешь ?
Аноним 24/06/20 Срд 19:09:01 1732847145
>>1730915
1. 10 20 ибо не ссылочный тип. Переебало бы, если бы через реф аргументы передавалось.
2. Три точки внутри класса?
Ну cts станет нулом при диспозу и нуллрефернс будет. Еще что-то?
3. Хуй его знает.
4. A B D
5. B A ? Исправить? Вызывать С.Фу() без приведения.
6. 50

Мимо погроммист.
24/06/20 Срд 19:42:24 1732881146
>>1732847
> 10 20 ибо не ссылочный тип.
Уволен. Со ссылочными типами будет тоже самое.
Аноним 24/06/20 Срд 20:45:43 1732954147
>>1732881
Ну да... Ну ты тоже пони что я имел ввиду.
Аноним 25/06/20 Чтв 01:28:32 1733190148
Почему нигде не получается нормального ответа найти на то как делать установщики для .net core приложений? Не запихивать же просто в архив то что опубликовал в папочку? Да и даже так, у пользователя может СУБД есть и там оно все настроено и нужно имя-пароль для того чтобы создать базу данных для приложения, не заставлять же его лезать в файлик конфигурации, чтобы он сам там настраивал все, было бы правильнее, чтобы при установке это дело настраивалось.
Аноним 25/06/20 Чтв 03:24:49 1733237149
>>1733190
Потому что ты гуглить не умеешь. Я даже видео наше двухчасовое в котором пошагово показывают как делать инсталляторы.
Придется тебе через WPF/WinForms делать собственный, это не так уж и сложно.
Аноним 25/06/20 Чтв 08:24:06 1733290150
анон, подскажи. вот есть база данных в MS Access. Есть прога через WPF. подключаюсь к базе акксеса через OleDb

теперь собственно вопрос, для программирования нужно ли чтобы стоял сам офис? или оно спокойно будет работать с базой без офиса (ну там как просто с файлом)?

Просто как получилось - на работе есть лицензионный офис. Не успеваю со сроками, хочу на выходных дома поработать с кодом (удаленный стол - говно решение и не удобно).
Но дома нет лицензионного офиса, взломанное говно также не хочу ставить (и вообще не хочу ставить)

Мне с базой не нужно работать - я просто пишу фронтенд над данными из нее. Структура таблиц у меня в отдельной доке, так что мне даже открывать базу не надо
Аноним 25/06/20 Чтв 12:19:16 1733470151
>>1724425 (OP)
сап, погромисты, мне нужно сделать кастомный генератор контекста подключения к БД, чтобы при генерации модели из БД контекст выглядел так, как я скозал, но пробема вот в чём: у entity framework DBContextGenerator доступен только для Pro версии VS, а на моей галере такого ещё не завезли, сидим на community, есть какие-то способы решения проблемы?
Аноним 25/06/20 Чтв 12:20:31 1733472152
Аноним 25/06/20 Чтв 12:28:39 1733479153
>>1733472
спс.
Ну гугл упорно менял запросы на "как подключить access"... А читать все эти сотни статей в поисках одной строчки... Всеже проще на дваче спросить
Аноним 25/06/20 Чтв 19:06:38 1733846154
Блин, я чет не догоняю. Смотрите, я поставил райдер и он мне говорит что половину моих методов хорошо бы в статичные переделать. Но ведь блин, как я понимаю в этом случае будет создан статичный объект, который так и будет все время висеть просто не имея доступа к остальным методам/свойствам класса. Или я что-то не так про статику понимаю? Поясните, если не сложно.
Аноним 25/06/20 Чтв 19:25:51 1733864155
Наверное глупый вопрос. Но что считается более правильным подходом в плане разбиения по папочкам? Просто смотришь одни репозитарии, там разделяют как-бы по близости решаемой задачи; смотришь другие, там люди по паттернам, типа: Controllers, Views, Builders, etc. А кто-то вроде в проектикие с нормальным числом звездочек просто в одну папку все складывает. Вот и как решать как организовывать код проектика?
Аноним 25/06/20 Чтв 21:10:40 1733959156
Аноним 25/06/20 Чтв 21:12:42 1733964157
>>1733864
Хуй его знает.
По привычке группирую по паттернам. Но это зло.
Feature Folder мабуть краще.
Аноним 25/06/20 Чтв 23:25:09 1734042158
>>1733864
По логике разбиваешь и всё. Что тут сложного? Ты же для удобства это делаешь, как ты будешь в каше из классов определять что к чему принадлежит и что с чем связано логически? Все общие классы для приложения оставляешь в корневой папке, что-то более конкретное кидаешь по отдельным папкам.
Аноним 26/06/20 Птн 02:12:44 1734131159
image.png (171Кб, 316x972)
316x972
анон, как называется эта панель? (такая еще в Microsoft Access есть) - может сворачиваться влево, при нажатии кнопок выпадают подпункты этой кнопки)

Как такую сделать с WPF, без велосипеблядства? может где на гитхабе есть готовое?
Аноним 26/06/20 Птн 02:58:41 1734156160
Аноним 26/06/20 Птн 07:40:15 1734227161
Смотрите, я вниманиеблядь и мне скучно просто сидеть в своей конторе и делать программы, которые никто почти и не видит. Вот. Хочу замутить канал на ютубе с уроками по шарпу. Но я сам всего год опыта работы имею. Нормальная ли это идея? Кто-нибудь из местных такое делал? Может быть идей для первых видяшек подкините? А то не хочется скучные лекции уровня вуза с простым пересказом того что есть в книгах.
Аноним 26/06/20 Птн 08:42:11 1734259162
>>1734227
щас тут набегут моралисты и начнут доказывать что такие недоучки учителя не нужны.. но я вот что тебе скажу - делай.

Это тебе же будет полезно - есть такая поговорка "лучший способ изучить и понять тему, это попытаться объяснить эту тему кому-то другому". Когда начнешь этим заниматься на серьезном уровне, набьешь и себе опыта.
Аноним 26/06/20 Птн 08:53:51 1734266163
>>1734227
>Хочу замутить канал на ютубе с уроками по шарпу
Очередной канал по шарпу, прошу заметить.
>программы, которые никто почти и не видит
Видео твои тоже почти никто не увидит.
>идей для первых видяшек подкините? А то не хочется
А сами виде за тебяя не сделать?
Аноним 26/06/20 Птн 10:25:08 1734323164
На ксамарине можно вызвать любую c++, либу? Или надо перекомпилировать под shared? Автор либы про какой-то специальный компилятор говорит.

Нужен детект nsfw контента, на дотнете нихуя нет, js не запустишь, питон тоже. Нашел какую-то китайскую библиотеку, но она на плюсах
Обещают 80 мсек на изображение, что очень даже хорошо
Аноним 26/06/20 Птн 12:26:28 1734387165
Аноним 26/06/20 Птн 13:02:36 1734414166
>>1734227
Чому нет, делай. Буду твоим постоянным зрителем. Только техническую часть не зафейли. Я имею в виду звук, картинку, оформление.

Можешь начать с примитивщины. Хотя на самом деле и так на каждом втором тематическом канала на ютубчике лежит видос "Шо такое массив", "Шо такое переменные" и тд. Так что сомнительно это. С другой стороны аудитории нравится "старт с нуля" под руководством нового ментора, который уж точно приведет своих подопечных к новым вершинам мастерства в программировании.
Аноним 26/06/20 Птн 13:07:48 1734417167
15916029310090.png (848Кб, 780x864)
780x864
Вкатываюсь 4 месяца и параллельно мониторю вакансии. Какого хуя они уменьшаются? Осенью же .нет5 будет.
Как бы не пришлось на жабу уползать, еще и батя через 3 месяца выкидывает с хаты.
Аноним 26/06/20 Птн 13:28:43 1734428168
>>1734417
Где живешь? У нас в городе 1/2 вакансии висят как до короны, в апреле было тупо 0
До какого уровня дошел за такой срок?
>>1734227
> Хочу замутить канал на ютубе с уроками по шарпу.
А ты сам хоть в раз жизни пользовался видеоуроками? Это же медлен-н-но. Может, у тебя есть какая-то фишечка, которая выделит тебя среди толпы инфоцыган?
> Но я сам всего год опыта работы имею.
Я тоже. В свободное время изучаю фронт, cs и иностранный язык нихуя не продуктивно
> Нормальная ли это идея?
Анон, не то чтобы я тебя дизморалил. Хочешь – пробуй. Но выхлоп сомнительный, как по мне
Аноним 26/06/20 Птн 15:45:05 1734553169
>>1734428
>А ты сам хоть в раз жизни пользовался видеоуроками?
Ну к примеру так перекатывался на шарп. Я раньше был сиплюсплюснутым, решил перекатиться, но читать мануалы по шарпу было так лень... Поэтому просто пошел в ютуб и стал смотреть что интересно
Аноним 26/06/20 Птн 16:17:09 1734588170
>>1734553
>>1734428
сейчас бы судить по источникам информации, эх. Какая хуй разница, хоть по шрифту Брайля учить, главное чтобы мог решать задачи бизнеса. Какие же двачеры убогие
Аноним 26/06/20 Птн 16:45:51 1734615171
>>1734553
Скучно смотреть как пчел что-то в иде пишет, не имея возможности скопировать, не имея автотестов под задачи. Ещё говорят все как один медленно, ставить надо 1,5 ускорение. У тебя был опыт в языке из семейства С, а значит, шарп нормально зайдет, можно просто смотреть. Уроки для нулевых – это другое
Сам Троелсена прочитал процентов на 40, потом Рихтера моментами прочитал. Потом на ulearn сидел – там после каждого занятия задачи с автопроверкой – это норм. А дальше ходить по собесам, писать петпроекты, изучать асп, паттерны и все остальное
>>1734588
Да ты можешь хоть на глиняных дощечках клинописью преподавать, только кому оно нахуй усралось
Аноним 26/06/20 Птн 16:51:48 1734623172
>>1734615
причем тут преподавать к изучать? Кому то лучше видосики смотреть, кому то книги читать. Главное, чтобы результат был. Найдутся задрочи, которым и то не так и так не так. Сразу вспоминаю долбней, которые переворачивали мышки и зазубривали хоткеи в IDE, чтобы "КАК ХАЦКЕР, С ОДНОЙ КЛАВОЙ"
Аноним 26/06/20 Птн 17:36:53 1734656173
Аноним 26/06/20 Птн 17:57:27 1734669174
Есть сайт инфу с которого я хочу спарсить, но вот проблема он ее подгружает как-то хитро через javascript/ajax (минимизированный скрипт на 1 млн символов), если тупо загрузить сайт через restsharp, webclient, httpclient, то будет страница без нужной мне инфы.
Так же по мере скроллинга сайт подгружает инфу которую я хочу спарсить.
Каким образом можно спарсить такую вещь?
Если через отладку браузера смотреть, то видно что в ответ сайт присылает нужный мне json, но вот как получить ссылку на этот json через код я без понятия, ссылка на него состоит из каких-то хешей явно и длиной в 1000+ символов.
Аноним 26/06/20 Птн 18:19:59 1734688175
>>1734669
Кидай ссылку на сайт.
Аноним 26/06/20 Птн 18:26:30 1734692176
>>1733959
пакет по ссылке работает только для .net core cli, что мне не подходит
Аноним 26/06/20 Птн 18:26:48 1734693177
Не шарю за энтерпрайз, аббесните, в чём суть ASP и для чего конкретно он нужен? Это просто веб-дополнение к .NET?
Аноним 26/06/20 Птн 18:33:44 1734700178
>>1734623
Ясно)
>>1734669
Посмотри в браузере, какие xhr идут к сайту. Вообще, тема изъезжена, найди какой-нибудь мануал да скопипасти. Типа "парсинг spa c#"
>>1734693
Удобно делать mvc, webapi
Аноним 26/06/20 Птн 18:38:52 1734705179
>>1734669
В глаза ебусь, не получается запросы повторить? В чем проблема длинной ссылки?
Присоединяюсь к анону выше, показал бы ссылку на сайт, интересно
Аноним 26/06/20 Птн 20:08:25 1734767180
Я чет обходил стороной blazor, но вот создал ради интереса стандартный проектик и блин, прикольно же. Не дропнут ли майки технологию? Хочется попробовать уломать коллег попробовать, а то сишники в шарп с трудом въезжали и для них ЖС это пиздец как чуждо, а фронтендеров которые шарят за все это, для нашей команды нанять - дорого.
Аноним 26/06/20 Птн 20:12:20 1734777181
>>1734767
Либо wasm заставлять грузить клиента хуй кто пойдет, только если не дашборда для своих
Либо держать с каждым клиентом канал и слать изменения по нему. Я не знаю, сколько соединений gRPC выдержит один типичный серв. Не подскажешь цифры?
Аноним 26/06/20 Птн 20:20:02 1734781182
>>1734777
Ну, в как раз дашборда для своих, лол.
Аноним 26/06/20 Птн 20:41:51 1734792183
>>1724425 (OP)
приветствую рабочий класс!
с октября изучаю шарп (видосики, практика). на карантине прочитал "Fundamentals of computer programming with C#" на английском. у меня одно желание- вкатиться наконец в IT в ДС2 в идеале с дальнейшей релокацией в северную украину (канаду). помимо шарпа знаком с SQL, делаю взаимодействие БД с клиентским приложением как пет-проект. что посоветуете освоить дабы вкатиться?
Аноним 26/06/20 Птн 21:03:40 1734806184
>>1734792
Чтобы вкатиться, надо, блядь, показать что ты задачи решать умеешь, причем быстро и без лишних усложнений.
Если придумать не можешь, вот тебе идеи:
1. SMTP-сервер
2. Программа учета времени(усложненная версия туДу листа). При добавлении однотипных задач, ты высчитываешь коэффицент ошибки и выдаешь примерное время завершения задачи, на основе данных, которые получил до этого(для простоты можешь среднеквадратичным отклонением пользоваться), к этому прикручиваешь веб-интерфейс + api для сторонних приложух.
3. Библиотека UI-элементов для коносли. Очивидно, она должна быть работать с мышкой, уметь в drag'n'drop, быть кроссплатформенной.
4. IRC-сервер поддерживающий кроссерверную передачу сообщений. Т.е. клиент может быть подуключен к твоему серваку, но они сервера объединяюстя в сеть и если получатель есть на другом - ты передашь сообщение ему.
5. Игрушка. Простая мульиплеерная 4X стратежка, с ресурсами и глобальными событитиями, которые может генерировать сервер.
6. Асинхронный TCP-сервер с возможностью расширения под любой протокол без лишних телодвижений. Т.е. твой сервер - канал связи, а пользователь библиотеки может просто впихнуть туда свой протокол обзщения, он не должен знать как у тебя прием соединений ведтся, не должен думать о том, какой таймаут и прочее, не знает ничего про то как ты собираешь сообщения, не знает про буфферы и прочую срань, он просто имплементирует интерфейс IProtocol и все само сабой должно работать, хоть он туда HTML впихнет, хоть SMTP, хоть свой придумает.
Если хотя бы что-то из этого будет у тебя на гитхабе, и ты сможешь продемонстрировать работу и код, то вкатиться не составит особого труда куда угодно. Причем сразу на должность мидла.{/SPOILER]
Аноним 26/06/20 Птн 21:04:08 1734807185
>>1734806
Блин, пьяный я, проебал разметку. Грустно(((
Аноним 26/06/20 Птн 22:57:28 1734879186
>>1734792
> с дальнейшей релокацией в северную украину (канаду).

Вышка есть? Нет? Тогда до свидания, никому ты со своим пед-проектом там не нужен.
Аноним 26/06/20 Птн 23:58:24 1734924187
>>1734879
Вышка в рашкке говно! Я там выучусь
Аноним 27/06/20 Суб 08:00:16 1735042188
Приветствую
Столкнулся с низкой производительностью OpenCV (в частности matchTemplate)
Очень сильно грузит процессор, и скачет память во время работы
У кого нибудь был опыт сравнения OpenCV с альтернативами в плане производительности? (Accord.NET например)
или может быть кто то знает более производительные альтернативы?
Аноним 27/06/20 Суб 11:30:04 1735093189
>>1734924
>Вышка в рашкке говно!
Тебе-то откуда знать, если у тебя её нет?
Аноним 27/06/20 Суб 12:04:21 1735104190
image.png (32Кб, 740x207)
740x207
image.png (13Кб, 649x204)
649x204
image.png (19Кб, 850x214)
850x214
Сап пр. Есть одна БД. Надо составить запрос который связывает таблицы "Болезни" и "Лекарства" по полю "Код лекарства", "Код лекарства 1", "Код лекарства 2" и "Код лекарства 3"). БД уже заполнил

С помощью LINQ2SQL я наговнокодил два класса которые связаны с БД.
С помощью LINQ попытался связать две таблицы(пик1) и прихуярить к datagridview. Я знаю, что в коде я беру названия для препаратов из одной и той же хуйни, но я не знаю как по другому. Поэтому и пишу сюда

Вместо нужной хуйни у меня получается пик2.
Вот(пик3, там значения разные как раз таки) правильные значения из таблицы.

По сути мне нужно вытащить med_id_first, med_id_second, med_id_third из таблицы и посмотреть названия препаратов с соответствующим med_id_порядковыйномер (к примеру med_id_first будет "Анальгин", а med_id_second будет "Но-шпа")

Или можно как-то реализовать запрос по другому?
в курсе на счет правил наименования, это чуть позже переделаю
Аноним 27/06/20 Суб 12:35:08 1735120191
>>1735104
Няша, юзай EF и не парься. Срсли. Там настроишь многие-ко-многим и просто сможешь доставать что тебе надо прямо из класса модели без всех этих джоинов-хуеинов.
Аноним 27/06/20 Суб 14:05:12 1735169192
Аноним 27/06/20 Суб 14:38:35 1735193193
Аноним 27/06/20 Суб 15:04:04 1735200194
>>1735193
Насколько помню, в еф который кор нет многие-ко-многим
Возможно, проще будет написать sql запрос
База не нормализована, это хуево
Аноним 27/06/20 Суб 15:05:23 1735201195
>>1735200
Да а как запрос-то написать сука?
"Болезни (Связывает таблицы "Болезни" и "Лекарства" по полю "Код лекарства", "Код лекарства 1", "Код лекарства 2" и "Код лекарства 3")"
Аноним 27/06/20 Суб 15:19:57 1735218196
>>1735201
Сделай таблицу лекарства
Сделай таблицу кодЛекарства, в которой будет поле лекарствоИд
Потом свяжешь коды лекарства

Анон, очень сложно вникнуть в то, что ты написал. Даже не сложно, а лень, это какое-то дерьмо – я так понял, что ты захардкодил три кода лекарства. А если четвертый появится? Делай правильно
Аноним 27/06/20 Суб 15:27:57 1735223197
image.png (26Кб, 694x273)
694x273
>>1735218
Такое задание, ничего поделать не могу.
Аноним 27/06/20 Суб 15:43:11 1735233198
>>1735223
> Такое задание
Заебись, в универе закладывают фундамент
Я сейчас в дороге, приду домой покумекаю
Аноним 27/06/20 Суб 16:07:42 1735247199
Аноним 27/06/20 Суб 19:31:26 1735396200
>>1735200
> Насколько помню, в еф который кор нет многие-ко-многим
Нет в том виде в каком это было в обычном EF, но ничего не мешает тебе запилить самому модельек вида:
IEnumberble<A> as
IEnumberble<A> bs

и при конфигурации сущностей запилить эту связь раками. Все равно один раз это напишешь и можешь из любого места доставать то что тебе надо.
Аноним 27/06/20 Суб 20:03:42 1735404201
image.png (38Кб, 845x481)
845x481
>>1730915
Нашел про первое в книжке. Оказалось очень просто.
Аноним 27/06/20 Суб 20:07:18 1735408202
>>1735223
Говоришь преподу: Это какое-то говно. И делаешь нормально.

Вот тебе примерный код того как обычно люди делают https://ideone.com/CALmkx Посмотри и адаптируй под свою задачу. Да, кажется что это усложнение, на деле же так потом проще будет, базарю.
Аноним 27/06/20 Суб 20:25:36 1735418203
>>1735408
К сожалению меня пошлют нахуй ибо я уже один раз прислушался с своему сердцу и сделал так, как считаю нужным. В итоге сказали, что в первый раз не снизят оценку, но в следующие - будут. мне похуй на оценки, но в таком случае я буду получать хуй за щеку, а не деньги
Аноним 27/06/20 Суб 20:36:10 1735426204
>>1732881
Если бы через реф было бы 20 20, не?
Аноним 27/06/20 Суб 20:47:16 1735436205
>>1735418
Но ведь хуйню просят делать. Ты им скажи, что есть, блядь, нормальные формы, их не долбоебы придумали. Третья нормальная является, блин, стандартом хранения данных в реляционках. Банально ты избегаешь дублирования, в случае если болезнь лечат 2 колесами не нужно будет null вставлять, null в реляционках считается редкостной хуйней, которую лучше не использовать в самих таблицах, опять же, ты можешь поверх представление(вьюшку) сделать в том виде какой просят в задании, но при этом потом можешь, если надо, и 5 колес выводить, и 10, и 1, можешь все симптомы объединить в строку и выводить в одном столбце и т.д. СУБД же тоже не тупые, там есть куча способов работы с тем что в таблицах хранится. Опять же, в приложухе можешь уже вьюшку тянуть, причем тебе даже не нужно будет ничего объединять, ты на стороне СУБД это сделал и просто тянешь, если надо что-то добавить/отредактировать - тянешь из СУБД хранимку, которая в том виде, в котором надо добавит/обновит.
Хотя бы для себя сделай нормально, а преподу показывай результирующие вьюшки в том виде, какой просят. Ну серьезно, потратишь чуть больше времени, зато со спокойной душой жить будешь.
И вообще, ХЗ что за преподы такие. В моей шараге, например, если просили сделать сортировку пузырьком для лабы, а ты делал квиксорт, тебя только хвалили, если нужно было написать консольную приложуху, а ты делал на формах, тебя в попу целовали и говорили: "Смотрите, какой анон инициативный, берите с него пример!". Да и когда работать пошел, если какую-то полезную штуку реализовал, вне рамок ТЗ, но уложился в сроки и оно работает нормально, никак особо не влияя на остальные фитчи, ни разу не было такого, чтобы кто-то был недоволен.
Аноним 27/06/20 Суб 20:50:34 1735440206
>>1735436
Спасибо, ты рассказал мне больше за 1 минуту чем за год обучения
Аноним 27/06/20 Суб 22:46:10 1735543207
>>1735426
Нет, офк. Сами ссылки значимые и в метод прилетают копии ссылок, все жонглирование происходит с локальными ссылками и никак не затрагивает ссылки из мэйна. Да и хз как ты вообще к 20 20 пришел.
Аноним 28/06/20 Вск 16:19:13 1736000208
>>1735543
Потому что в том примере
a = b; //ссылка на число 10 заместилась ссылкой на число 20
b = a; //ссылка на число 20 заместилась ссылкой на... число 20

А ссылка, которая была в _а перешла в _temp, но так там и осталась.

Так что если везде, где надо дописать модификатор ref, то результат будет 20, 20. Потому что ссылка с числом 10 была проебана в методе.
Аноним 28/06/20 Вск 18:11:33 1736072209
Сосаны, поясните мне за Dependency Inversion Principle.
Суть такова: у меня есть проект на винформочках, который в рантайме присасывается к БД и делает к ней запросы. Собсна я насоздавал интерфейсы для классов, создал класс, который эти самые классы создает. И все бы нормально, но:
1. Как реализовывать Dependency Inversion для винформочек? Создавать пустой интерфейс? Потому что извлечь его рефакторингом я не могу, да и извлекать нечего: все методы формочки приватные.
2. Как реализовывать Dependency Inversion для работы с БД? У меня есть класс, который работает с БД, и он по сути строки БД запихивает в классы-контейнеры. То есть у меня есть таблица People, я делаю запрос к БД и у меня формируется List<Person> уже в Шарпе. Для этого я использую Query<T>, но вот проблема: Query<Person> работает на ура, а Query<IPerson> ломается. Если Query<T> не жрет интерфейсы, то как реализовывать Dependency Inversion для запросов к БД? Или я чего-то не понимаю?
Аноним 28/06/20 Вск 18:18:23 1736076210
>>1736072
Не обязательно интерфейсы использовать, если нужно использовать какие-либо поля или методы, то используют абстрактные классы. Главное чтобы объявление этого абстрактного класса было на уровне выше, чем его реализация.
Аноним 28/06/20 Вск 18:23:03 1736078211
>>1736076
Разве интерфейсы - это не публичные абстрактные классы? В чем будет разница между созданием интерфейса и созданием абстрактного класса тогда?
Аноним 28/06/20 Вск 18:24:20 1736079212
>>1736078
По какой причине у тебя c Query<IPreson> всё ломается?
Аноним 28/06/20 Вск 18:32:26 1736085213
>>1736079
Хуй знает. Дает ArgumentException. Насколько понимаю по стактрейсу - проблема в том, что System.Reflection.Emit.DynamicMethod.Init не работает с интерфейсами, якобы "недопустимый владелец типа". Но что это значит - я понимаю крайне слабо.
Аноним 28/06/20 Вск 18:49:14 1736103214
>>1736085
>Хуй знает.
Ну вот ты сначала узнай, а уже потом пытайся следовать принципам проектирования.
Аноним 28/06/20 Вск 19:06:35 1736112215
>>1736103
Ну я погуглил. Действительно нельзя интерфейсы передавать. Тогда как Dependency Inversion реализовывать?
Аноним 28/06/20 Вск 20:05:50 1736156216
>>1736000
>Так что если везде, где надо дописать модификатор ref
Ну ахуеть. А если еще дописать, то можно получить хоть 666 13.
Аноним 28/06/20 Вск 20:25:27 1736178217
>>1736112
Передавай абстрактные классы, я же написла.
Аноним 28/06/20 Вск 20:33:15 1736187218
>>1736156
Пошли виляния жопой.

Этот чел прав >>1732847
и этот >>1735426

А те, кто им отвечали в духе "уволен" и "офк нет, хуе-мое" вводят в залужение других челов-новичков, которые потом это могут прочитать.
Аноним 28/06/20 Вск 20:38:44 1736201219
>>1736178
Один хуй экспешен. Потому что нельзя создавать экземпляры абстрактных классов.
Аноним 28/06/20 Вск 21:29:37 1736283220
>>1736201
Охуеть, это такой троллинг? Очевидно, что создавать нужно не экземпляры абстрактных классов и интерфейсов, а классы которые реализуют интерфейсы/абстрактные классы. И принцип DI, как раз заключается в том, что определение интерфейса/абстрактного класса лежит на уровне выше и отдельно от его реализации, делая основной класс независимым от дополнительных классов.
Аноним 28/06/20 Вск 21:41:31 1736304221
>>1736283
Я понимаю. Но Query<IPerson> у меня нихуя не работает, Query<Person> не подходит для DI, а передать нужный тип через переменную в <> нельзя. Потому я и не понимаю, че мне делать.
Аноним 28/06/20 Вск 22:04:57 1736332222
>>1736304
>Query<Person> не подходит для DI
Сделай чтобы подходило. В чём проблема?
Аноним 28/06/20 Вск 22:39:12 1736381223
>>1736304
Зачем тебе Query<T> резолвить?
Аноним 28/06/20 Вск 23:37:09 1736449224
>>1736072
Ты какую-то хуйню собрался делать. Серьезно. Классы моделей никто не выносит в интерфейсы. Просто потому что это уровень модели нахуй ломает.

А насчет инверсии зависимостей для работы с БД, обычно под этим подразумевается, что ты выносишь провайдера в интерфейс и у тебя обращение к БД идет через какой-нибудь IDataStore<T> в котором есть все нужные тебе методы для работы с этой самой БД, Add/Remove/Update/Get/GetRange/GetAll. И потом ты можешь заинжектить в нужный тебе класс и доставать своих персон. Пример этого есть тут https://github.com/dotnet-architecture/eShopOnWeb

В интерфейсы выносятся сервисы и классы которые какую-то работу совершают, например обработка оплаты заказа, сборка странички с данными по оплате, логгирование, системы оплаты и это вот все.
Аноним 28/06/20 Вск 23:55:07 1736477225
>>1736449
Спасибо, анонче. Было чувство, что модели в интерфейсы не выносятся, но я немного слишком увлекся.
А что насчет винформочек? С ними надо что-то делать или оставить?
Аноним 29/06/20 Пнд 00:07:59 1736489226
15927560881351.jpg (1178Кб, 2000x1333)
2000x1333
Xamarin.Forms или Xamarin.Android?
Аноним 29/06/20 Пнд 03:46:13 1736556227
image.png (95Кб, 1012x741)
1012x741
Что не так? почему "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."

Погуглил, пишут что надо поставить AccessDatabaseEngine - ну я поставил. даже комп перезагрузил. почему не раб?
Аноним 29/06/20 Пнд 06:51:54 1736588228
>>1736556
Блядь, почему я должен за тебя гуглить, если ответ на 1й ссылке?
Патч для 64 битной поставил, сука? Или меняй разрядность приложения на 32 бита.
Аноним 29/06/20 Пнд 12:08:47 1736680229
Аноним 29/06/20 Пнд 16:24:24 1736964230
>>1736556
> Что не так?
> AccessDatabaseEngine
Аноним 29/06/20 Пнд 17:28:19 1737010231
Зашёл тут на ваши двачи, решил почитать что вы тут пишете.

>>1724425 (OP)

> Resharper
Пиздец. Что в нём хорошего? Search everywhere умеет и студия, и VS Code по Ctrl + T.
Какие там, блядь, рефакторинги? Отвратительно долгий rename class/interface/variable (в который имеет студия и вскод, опять же, и в разы быстрее) с уёбищным ненужным rename in comments?

> Третьим пунктом WinForms и WPF, шестым про Xamarin
Десктоп умирает.
WinForms актуален для студентов говновузов, WPF функционален, но с уёбищным XAML.
Мобайл дева на шарпе катастрофичеки мало (12 вакансий «Xamarin» — СПб)
На месте этого вопроса должно быть что-то по ASP.NET (ASP.NET — 104 вакансии СПб, WPF — 29 вакансий).

> Для мака и никсов самый юзабельный вариант - MonoDevelop
Для мака и никсов самый юзабельный вариант — VS Code.

> Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны...
Шапка 1999? Уже давно райдер выпустили.

> Охуенное расширение для студии Format document on Save
В VS Code из коробки есть.
В студии разве нет?

> Indent Guides - показывает вертикальные линии на каждом уровне отступов
В студии из коробки есть.

> Литература
Не увидел здесь:
Pro .NET Performance: Optimize Your C# Applications
Microsoft SQL Server 2012 T-SQL Fundamentals
SQL Server Execution Plans
Аноним 29/06/20 Пнд 18:26:05 1737075232
>>1737010
Как ты живёшь без решарперовского автоимпорта неймспейсов? Это же отвлекает, пиздец. Собственно, этой фичей они меня и купили
Навигация по контролёров в аспе
Аноним 29/06/20 Пнд 19:03:12 1737107233
>>1737075
Решарперовский автоимпорт может автоимпортировать что-то не то. Не нравится так. Импортирую по "контрол+точка, энтер", радуюсь жизни.

Какая навигация по контроллерам в аспе?
Аноним 29/06/20 Пнд 19:06:07 1737112234
>>1737107
Это надо тип полностью написать, пиздец ты трудолюбивый

Навигация к представлению View в MVC. Редко, но пригождается, когда легаси приходит
Аноним 29/06/20 Пнд 19:39:51 1737150235
Сдавал ли кто 70-486 сертификат? Сдал в начале года 483, и еще есть время до января сдать 486. Сложно учить как-то очень странние вещи по WCF, azure, mvc 4-4
Аноним 29/06/20 Пнд 19:40:44 1737152236
>>1737010
> Resharper
>Что в нём хорошего?
Ренейм класса не работает через раз как в студии, при переносе в другой неймспейс, всё автоматически правится, а в студии тебе ручками неймспейс править нужно. В Студии нет подсчета ссылок на метод, класс, поля и т. д.
Также встроенный конструктор ToString который автоматически перезаписывает его и добавляет вывод всего стейта в текст.
>ненужным rename in comments?
Ну если ты даун, который в комментах ничего не пишет, то это не значит, что все такие.
Аноним 29/06/20 Пнд 19:42:42 1737155237
>>1737010
+ про решарпер еще вспомнил, что он автоматически предлагает заменять старые конструкции на новые, например обычный switch на switch expression и вообще подсказывает если можно уменьшить количество кода.
Аноним 29/06/20 Пнд 20:15:47 1737176238
Визуал студио вообще нормально работает под макосью?
Аноним 29/06/20 Пнд 20:39:21 1737199239
.png (21Кб, 706x515)
706x515
>>1737152
> Студии нет подсчета ссылок на метод, класс, поля и т. д.
А это что?

Другое дело что студия при том же поиске оч тормозит, особенно в проекте с ангуляром, который хоть раз собирался. Это пиздец какой-то начинатся. А ебучий Райдер нормально так работает без особых проблем.
Аноним 29/06/20 Пнд 20:55:08 1737210240
>>1737176
Она же урезана сильно.
Я бы сделал выбор в пользу вскода.
Аноним 29/06/20 Пнд 20:56:35 1737212241
>>1737150
Профит есть от сертификатов?
Аноним 29/06/20 Пнд 21:06:21 1737220242
>>1737152
> при переносе в другой неймспейс
Часто ты кидаешь классы из папки в папку?

> даун, который в комментах ничего не пишет
Что писать-то?

> /// <summary>
> /// Публичный класс <see cref="MyClass />, реализующий интерфейсы <see cref="ICommentable"/> и <see cref="IUnnecessary"/>
> /// </summary>
> public сlass MyClass : ICommentable, IUnnecessary
> { ... }
Норм? Первый раз пишу, не судите строго.
Аноним 29/06/20 Пнд 21:13:16 1737229243
>>1737152
Решарпер не нужен. Комменты тоже. Убедите меня в обратном
Аноним 29/06/20 Пнд 21:14:58 1737230244
Аноним 29/06/20 Пнд 21:22:48 1737239245
>>1737220
>Часто ты кидаешь классы из папки в папку?
Да, особенно на начальных стадиях, когда структура проекта постоянно меняется и дополняется.
>Что писать-то?
Всё что поможет тебе и другим понять работу кода без необходимости читать непосредственно сам код.
Аноним 29/06/20 Пнд 21:23:15 1737241246
Аноним 29/06/20 Пнд 21:24:08 1737242247
>>1737229
Он еще и ошибки в именовании переменных исправляет. Помогает если у тебя с письменным английским плохо.
Аноним 29/06/20 Пнд 21:31:45 1737254248
>>1737242
С английским всё хорошо.
Аноним 29/06/20 Пнд 21:56:36 1737287249
>>1737229
> Решарпер не нужен
Ну, как минимум то что он по папочкам неймспейсы автоматом делает довольно полезная херня.
> Комменты тоже
Я тоже так думал, пока в универе учился. Вот я прихожу на работу, меня садят легаси поддерживать, последний разработчик которого съебался далеко и не выходит на связь, из работающих никто не знает как он работает, большинство даже точно не уверены что оно делает, только один дед припоминает, что году так в 2005 возникла маленькая задачка и решено было простенькое решение запилить, задачку он уже не помнит, правда, разрабатывали 15 лет, там сейчас больше 750к строк кода, при этом из комментариев только соревнование тех кто за ним сидел в остроумии(шутки-хуютки, анекдоты и какие-то замечания, что вот кто-то там мудак, этот кто-то тоже давно не работает тут) и тудушки из времен когда он только начинался в стиле: TODO Сделать нормально. Это был сущий ад разбираться в этом, при этом говоришь руководителю: Дайте неделю, чтобы разобраться и еще неделю на рефакторинг: Хуй тебе, код написан, он работает, а ты, раз программистом назвался, - правь баги, добавляй фитчи, эта хуйня ложится у клиентов в рандомные фазы луны, но вроде работает же, а клиенты хотят больше фтич.
Аноним 29/06/20 Пнд 22:02:47 1737293250
.jpg (181Кб, 699x629)
699x629
.png (820Кб, 676x958)
676x958
Есть поток, внутренности которого завернуты в try catch. В потоке вызывается метод, внутренности которого так же завернуты в try catch. В методе происходит исключение(Abort) - я готов к этому, и catch метода его обрабатывает. Вот только после обработки, исключение передается выше, в catch основного потока и руинит все нахуй. Это норма вообще? Я же throw; в первом блоке catch не вызываю, с хуев ли оно выше передается? Как сделать так, чтобы не передавалось, и обработка исключения происходила только в первом же блоке catch?
Аноним 29/06/20 Пнд 22:09:43 1737298251
>>1737287
Когда я только в универе учился, я думал, что комменты не нужны. Когда начала работать - стал думать, что нужны. После 10 лет стажа считаю, что комменты не нужны. Нужна high-level документация и тесты. Всё остальное - херня.
Аноним 29/06/20 Пнд 22:24:04 1737315252
>>1737298
Так-то оно так, только кто эту документацию писать будет? Если кодер, то он в процессе нередко тупо забывает что и зачем делал и вся документация выглядит как:
void DoSomething(object X) - принимает объект и делает что-то.
С комментами, которые пишутся в процессе хотя бы ход мысли понять можно, можно понять что на момент написания метода/класса стояла за задача, проанализировать нормально ли она решена в этом контексте и принять решение надо ли это трогать, или можно оставить как есть, а не быть обезьяной, которая палкой тыкает и проверяет не ебанет ли, либо обкалывает фасадами и адаптерами.
Аноним 29/06/20 Пнд 22:43:19 1737327253
>>1737315
>void DoSomething(object X) - принимает объект и делает что-то.
Документация конкретных методов не нужна. Юнит тесты твоя документация методов. Документация нужна чтоб описать котракты для твоего API и взаимодействие модулей системыю
Аноним 29/06/20 Пнд 23:54:11 1737377254
.jpg (181Кб, 699x629)
699x629
>>1737293
Если сам вызов метода обернуть в try catch, то при исключении он и туда зайдет, и потом все равно подымется выше и все заруинит(то есть зайдет в 3 блока catch: сначала в самом методе, потом catch-блок в который был завернут вызов метода, потом catch-блок в который завернут основной поток) Это норма что ли? Нахуя тогда нужен оператор "throw;" в блоке catch, если один хуй исключение и так выше передается?
Аноним 29/06/20 Пнд 23:59:19 1737379255
Аноним 29/06/20 Пнд 23:59:28 1737380256
Аноним 30/06/20 Втр 01:01:02 1737420257
.jpg (71Кб, 453x604)
453x604
>>1737380
Боже, огромное спасибо, нагеморроился тут с этим. И ведь читал, что у него есть Reset, но совершенно забыл.

>что ты вообще делаешь?
Я только учусь. Изначально было множество раздельных потоков, каждый из которых трудился над своей задачей, так было проще реализовать для начала(иди от простого к сложному). Внутри множество методов(долгие недели работы и отладки), в каждом из которых что-то может пойти не так, и, если возникала ошибка, при которой не было смысла дальше продолжать - я просто выбирал прервать неудачный поток.
Сейчас, для взаимодействия между задачами, все перевожу на один общий интерфейс и поток, и бывшие потоки теперь стали просто методом, который по очереди в цикле прогоняется для всех задач(данных). Но ошибки так же вылетают с предложением прервать поток, что, естественно, при общем потоке мне не нужно, а нужно лишь отменить выполнение конкретной задачи. Потому просто отлавливаю ThreadAbortException и возвращаю в основной поток false, чтобы там удалить и не выполнять задачу. Просто же повесить на кнопку прерывания "return false;" - я не могу, тк форма ошибки вызываются в основном в десятках внутренних методах и их подметодах.
Аноним 30/06/20 Втр 01:13:31 1737426258
>>1737420
Ужас. Пойди посмотри на async/await и System.Threading.Task, а то ты себе в ногу из пулемета стреляешь
Аноним 30/06/20 Втр 01:58:22 1737444259
.jpg (223Кб, 1024x716)
1024x716
>>1737426
>async/await
Недавно посмотрел(тоже по совету тут) - использую в некоторых операциях. Но не могу прогонять основной метод асинхронно, тк это Selenium веб драйвер: в нем нужно строго контролировать и переключать вкладки, с которых собираются данные и производятся манипуляции(когда было много потоков - то для каждого был свой браузер, но это то и было неудобно), так что одновременно в одном браузере асинхронно прогонять все задачи невозможно - только по одной, строго выбирая нужную вкладку. Можно, конечно, прогонять асинхронно по одному и дожидаться выполнения, но разве в этом есть смысл, если исключения отлавливаются, а основному потоку все равно нужно дождаться завершения прогона?
Что улучшать, чтобы в ногу себе не стрелять?
Аноним 30/06/20 Втр 02:13:28 1737450260
>>1737444
Мне, честно говоря, лень вникать в твою архитектуру, но список задач которые нужно уметь отменять, ждать их выполнения и т.д. выглядят отличным кандидатом для Task.Run() в который посылается CancellationToken. Посолить Task.WhenAll по вкусу, поперчить ContinueWith - и выйдет нормальное приложение.

А то, что ты описал, звучит как велосипед, кривой и страшный.
Аноним 30/06/20 Втр 02:16:27 1737453261
image.png (162Кб, 1351x651)
1351x651
что за байда?
делаю как тут написано
https://docs.microsoft.com/ru-ru/visualstudio/data-tools/connect-to-data-in-an-access-database-windows-forms?view=vs-2019

то есть открываю слева источники данных - > добавить. Добавляю, прохожу все шаги, нажимаю готово, вылетает эта ошибка

Пробовал на пустом проекте
Пробовал из своей винды, и из виртуалки (виртуалбокс) с чистой системой
Пробовал и текущую 2019, и превью 2019
Аноним 30/06/20 Втр 02:21:53 1737455262
>>1737453
View -> Output
там будет текст ошибки.
Как в русской версии называется - без понятия до сих пор не знаю зачем нужны локализированные IDE
Аноним 30/06/20 Втр 02:38:27 1737466263
.jpg (90Кб, 1280x960)
1280x960
>>1737450
Спасибо, я изучу это и попробую реализовать.
Аноним 30/06/20 Втр 02:39:40 1737467264
image.png (10Кб, 829x276)
829x276
Аноним 30/06/20 Втр 05:06:56 1737503265
image.png (20Кб, 702x289)
702x289
ffffffffff лядь как исправить?

Почему блядь оно туда какой-то excel interop пишет?

как вручную тогда подключить этот OleDB? какая там либа, а то дохрена в ссылках
Аноним 30/06/20 Втр 08:09:12 1737535266
image.png (21Кб, 1142x159)
1142x159
как лечить

Ну то есть таблица в ms access открыта. если что, запрос просто на Select

явно так мне не нужно, должно все работать даже если таблица где-то еще открыта
Аноним 30/06/20 Втр 09:59:43 1737584267
>>1737535
Выполняй запросы, создавая инстанс подключения ненадолго и сразу закрывая его.

По коду из этого поста: >>1736556
using (var connect = new OleDbConnection(connection))
{
...
}

И перезапусти бд/пеку, чтобы те старые повисшие подключения сбросились.

Простое правило: все IDisposable должны быть задиспоужены.
В данном случае при вызове connect.Dispose() закрывается подключение к БД.

https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/using-statement
тлдр: using это как try-finally, где в try выполняется код из фигурных скобок, а в finally просто лежит вызов Dispose().
Аноним 30/06/20 Втр 11:29:51 1737664268
В очередной раз читая всякие статьи на тему того, что в шарпе вызывает аллокации в куче, а что не вызывает, подумал, что неплохо было бы иметь в языке такой атрибут, которым можно было бы пометить функцию, что она не должна выделять память в куче. И если там в ней будет какой-то неявный боксинг или енумераторы на куче, то будет выдан варниг или ошибка. Ну и, соответственно, из неё должны вызываться только функции с таким же атрибутом. Так вот, может что-то подобное для шарпа уже в каком-то виде изобретено? Геймдевелоперы ведь с руками оторвали бы.
Аноним 30/06/20 Втр 11:30:48 1737665269
Аноним 30/06/20 Втр 11:33:16 1737668270
Аноним 30/06/20 Втр 11:41:51 1737680271
>>1737668
я пока не пробовал, взял на заметку, позже попробую.
Аноним 30/06/20 Втр 15:10:46 1737873272
изображение.png (21Кб, 860x351)
860x351
изображение.png (29Кб, 1147x348)
1147x348
еще нужна помощь... Вот у меня DataGrid, данные в него я биндю из DataTable. DataTable я заполняю из OleDb

Проблема вот в чем - данные грузятся из таблицы базы данных Access.
В этой таблице dbo_tab допустим есть два поля:
Status - int
Name - char

Теперь я хочу сделать следующее - поле Status в базе данных может принимать значение 0,1,2,3... Я же хочу чтобы вместо этих цифр писало слова открыто/закрыто/etc.
Ладно, пока что думаю тут просто сделать запросом (но возможно всеже есть более простой способ не трогая запросы?)

Но есть еще один вопрос, в DataGrid есть еще поле Id и Prop, которых нет в базе. Эти данные ну пусть берутся из какого-нибудь локального конфига и не хранятся в базе..

можно ли как-то их добавить в DataGrid?
Аноним 30/06/20 Втр 16:09:37 1737953273
image.png (849Кб, 840x1200)
840x1200
image.png (380Кб, 494x700)
494x700
>>1724425 (OP)
Привет /pr/. Не думал, что зайду сюда с такой проблемой.
Крч начал изучать C# по Шилдту и заранее решил взять еще и Троелсена, но обосрался и взял не "Язык программирования C# 5.0 и платформа .NET 4.5", а "Язык программирования C# 7 и платформы .NET и .NET Core" Троелсена и Джепкинса, которая в свою очередь "для профессионалов".
На сколько сильно после Шилдта у меня будет рваться жопа во время прочтения данного 1300 листового кирпича?

Так же на полке имеется CLR via C# Рихтера. Может стоит начать с нее?
Аноним 30/06/20 Втр 16:19:01 1737966274
Аноним 30/06/20 Втр 16:27:33 1737979275
>>1737953
Книжка с первого пика проще и понятнее чем CLR via C# Рихтера. Так что если сразу не тянешь Рихтера, начни с нее.
Аноним 30/06/20 Втр 16:28:26 1737981276
>>1737979
Окей, спасибо большое
Аноним 30/06/20 Втр 18:21:23 1738187277
>>1737664
Хотеть. С учетом CoreRT, где нет сборщика мусора, это мастхев
Аноним 30/06/20 Втр 19:01:08 1738237278
Annotation 2020[...].png (7Кб, 442x230)
442x230
>>1738187
Нашел пока вот это
https://github.com/microsoft/RoslynClrHeapAllocationAnalyzer
подсвечивает аллокации в коде как варнинги или как suggestions.
Правда, есть вопросы к нему, например вот тут на картинке ничего не подчеркнул, хотя по идее должна быть аллокация на енумератор.

И ещё для решарпера есть что-то такое же, но у меня решарпера нет
https://plugins.jetbrains.com/plugin/12390-heap-allocations-viewer
Аноним 30/06/20 Втр 19:47:09 1738299279
>>1737503
System.Data.OleDB.OleDbConnection conn = new System.Data.OleDB.OleDbConnection(ConnString);

Не помню точное расположение этой залупы, но примерно так.
Аноним 30/06/20 Втр 20:20:11 1738329280
>>1737873
Просто выгружаешь данные, потом из них создаешь коллекцию в нужном тебе виде и уже ее биндишь. В чем проблема-то?
Аноним 30/06/20 Втр 21:56:47 1738436281
>>1737953
Так этож то же самое, ток новее, не?
Аноним 30/06/20 Втр 22:52:40 1738484282
Аноним 01/07/20 Срд 01:22:56 1738546283
Аноним 01/07/20 Срд 06:43:58 1738631284
опять херня какая-то

Вот у меня DataTable. я его заполняю руками
table.Columns.Add("№", typeof(string));
table.Columns.Add("Статус", typeof(string));
table.Columns.Add("вкл/выкл", typeof(string));
table.Columns.Add("замен.", typeof(string));
schTable.NewRow();
schTable.Rows.Add(read["NUM"],read["STATUS"], read["VK"], read["ZAM"]);

и тут проблема, первые два столбуа заполняются, а вот два последних нет. в логе пишет:
System.Windows.Data Error: 40 : BindingExpression path error: вкл выкл' property not found on 'object' ''DataRowView' (HashCode=64502903)'. BindingExpression:Path=вкл/выкл; DataItem='DataRowView' (HashCode=64502903); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
System.Windows.Data Error: 40 : BindingExpression path error: замен' property not found on 'object' ''DataRowView' (HashCode=64502903)'. BindingExpression:Path=замен.; DataItem='DataRowView' (HashCode=64502903); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')


То есть тут проблемно что используется / и точка.

Как быть? если про / я думал что его надо экранировать (не помогло), то ведь еще и из-за точки не работает

Аноним 01/07/20 Срд 10:48:38 1738697285
задолбался читать воду и глупые шутки в книгах (а еще гиганские примеры, в которых 90% лишнего и можно было показать намного проще)...

Скажите, а вот это
https://docs.microsoft.com/ru-ru/dotnet/csharp/

стоящее, если по нему изучать язык?
Аноним 01/07/20 Срд 11:01:46 1738711286
>>1738631
Тут проблема в том, что ты используешь Name как Caption, а не в точке и слеше.
Аноним 01/07/20 Срд 11:14:28 1738726287
изображение.png (89Кб, 796x990)
796x990
изображение.png (38Кб, 457x785)
457x785
Почему программа не запускается вне этой папки? Вроде все элементы выбрал как внутренние ресурсы
Аноним 01/07/20 Срд 11:16:43 1738727288
>>1738726
потому что у тебя вагон dll-ок и конфигов тут
Аноним 01/07/20 Срд 11:26:58 1738735289
>>1737155
> предлагает заменять старые конструкции на новые
Как там в 2007?
>>1737075
>без решарперовского автоимпорта неймспейсов?
Не знаю как там в решарпере, но вроде и в студии не сложно, еще и нугет подтянет.
Аноним 01/07/20 Срд 11:27:54 1738737290
switch.png (59Кб, 1019x663)
1019x663
ref.png (36Кб, 847x296)
847x296
Аноним 01/07/20 Срд 11:37:56 1738744291
А чем вообще на работе занимаются джуны-дотнетчики? Я только вот вкатываюсь я обязательно вкачусь, и не представляю как это айти работает. Им же не дают с нуля проект писать, а накидывают пилить тесты или обновлять старый код?
Аноним 01/07/20 Срд 12:03:12 1738768292
>>1738727
А как сделать то, чтобы работало?
Аноним 01/07/20 Срд 12:04:30 1738769293
>>1738735
> Не знаю как там в решарпере, но вроде и в студии не сложно, еще и нугет подтянет.
Например, есть класс LoudFartService
В студии надо написать его полностью, и нажать Alt+Enter. С решарпером я пишу "lfs" по первым буквам, но можно и длинее и нажимаю Tab
Аноним 01/07/20 Срд 13:10:55 1738854294
image.png (17Кб, 794x347)
794x347
>>1738769
Решарпера нет, что я не так делаю?
Аноним 01/07/20 Срд 13:28:07 1738871295
>>1738744
Пишут документацию, покрывают код комментариями и тестами, приводят отдельные куски говнокода от гуру к корпоративным стандартам по кодстайлу, предварительно покрыв всё тестами, чистят гит и полируют джиру. Через годик подпускают уже к написанию самого кода в проектах.
Аноним 01/07/20 Срд 13:40:16 1738878296
.jpg (106Кб, 859x1267)
859x1267
Анон, как прикрутить пароль к моей БД? Уже третий день ебусь, нихуя разобраться не могу. Мне нужно сделать так, чтобы к БД можно было подключаться по паролю.
Аноним 01/07/20 Срд 13:40:29 1738879297
>>1738854
Так он у тебя в том же пространстве имен. А фишка в автоимпорте других пространств. Попробуй свой класс засунуть в папку или унести в другой проект, и все, пиши полностью без подсказок

На самом деле можно жить и без этой фичи. Я вообще в vscode старался около месяца писать. Непродуктивно – сидишь, пердишь, вспоминаешь. А с решарпером потыкал, потыкал и табнул
А в vscode только микропроекты пишу, и то ради интереса
Аноним 01/07/20 Срд 13:43:41 1738885298
>>1738878
>Анон, как прикрутить пароль к моей БД?
меня больше интересует как хранить этот пароль чтобы его не было в коде
Аноним 01/07/20 Срд 13:55:17 1738893299
image.png (17Кб, 741x342)
741x342
>>1738879
Держи другое простанство имен
Аноним 01/07/20 Срд 13:57:09 1738896300
>>1738885
храни connectionString в конфиге. Конфиг преобразуй во время деплоя.
Аноним 01/07/20 Срд 14:03:24 1738900301
>>1738885
Храни в отдельном, зашифрованном файле, расшифровать который можно только при наличии файла-ключа, который в свою очередь хранится на флешке.
Аноним 01/07/20 Срд 16:17:13 1739072302
>>1738726
Аноны, помогите же мне. Есть дллки, есть 4 xml файла, надо каким то образом все это сунуть в один экзешник.
Аноним 01/07/20 Срд 16:40:28 1739110303
>>1739072
Right click on Solution of your project > Add > New Project > Write on SearchBar "Setup" > Setup Project > Next > Create;

не благодари
Аноним 01/07/20 Срд 16:44:30 1739114304
>>1739110
Ты предлагаешь создать установщик? Мне надо, чтобы был только экзешник, без всего
Аноним 01/07/20 Срд 16:55:19 1739131305
>>1738893
Падажжи ебана.. Завтра попробую и отпишусь
Аноним 01/07/20 Срд 16:57:12 1739135306
Аноним 01/07/20 Срд 17:48:56 1739194307
Аноним 01/07/20 Срд 20:04:04 1739349308
>>1738436
В издании версии 5.0 все описывается более просто и подробно, чтобы можно было выбрать эту книгу одной из первых для изучения языка.
Аноним 01/07/20 Срд 20:04:41 1739351309
>>1739194
ставлю жопу этого дауна на то, что он какой то мальвар хочет упаковать и даже не знает как
Аноним 01/07/20 Срд 21:45:17 1739440310
>>1739351
>ml
>opencv
>мальвар

А ты не очень умный, да?
Аноним 01/07/20 Срд 23:51:30 1739520311
Как правильно завершать asp. net core приложение? Допустим, я сделал класс, который пишет в файлик что-то, наследовал его от бекграундворкера, впихунул в хост, ну вот он работает там. Потом я при работе сервера нажимаю ctrl+c и выскакивает ошибка о том, что операция отменена. И это как-бы ничего страшного, но очень сильно раздражает, да и как-то в нормальных программах от нормальных кодеров я такого не встречал. Т.е. скорее всего есть какой-то правильный способ все это дело завершить, но я не знаю как. И еще вот что заметил, если я решаю запустить приложение как сервис виндовый, то оно запускается и работает, но после завершения, почему-то снова не хочет запускаться, при этом среди процессов в диспетчере задач ничего нет, но вот во вкладке "подробности", приложение почему-то есть и отмечено что оно приостановлено и приходится там его завершать.
Аноним 01/07/20 Срд 23:58:36 1739524312
>>1739520
> бекграундворкера
бекграунд сервиса
фикс
Аноним 02/07/20 Чтв 01:27:06 1739590313
>>1738711
а как надо? написал вот такую функцию
void TableAdd(string name, string caption)
{
var n_sch = schTable.Columns.Add(name, typeof(string));
n_sch.Caption = caption;
}

нет, нифига, теперь все столбцы называются по name, а не caption
Аноним 02/07/20 Чтв 18:03:30 1740070314
На собесе спрашивают за сортировку. Говорю, мол, .Sort() - смотрят, как на идиота и просят написать реализацию пузырька. Это я долбоеб или они? Нахуя мне свои велосипеды писать, когда все есть? Может им вообще мсдн не использовать тогда?
Аноним 02/07/20 Чтв 18:18:51 1740077315
>>1740070
Возникнет задача написать алгоритм сортировки на подобии сортировки пузырьком, но с изменениями для конкретного проекта, тогда ты жидко насрёшь себе в штанишки, ведь ты даже стандартного алгоритма не знаешь, а тебе нужен модифицированный. Или, что более вероятно, у тебя даже идеи не возникнет о том, что нужный тебе алгоритм похож на сортировку пузырьком, поэтому ты начнёшь пилить свой велосипед, от которого твой тимлид упадёт в обморок.
Именно поэтому нужно знать как реализован тот инструмент, которым ты пользуешься. Да, для твоих пет-проектов тебе может быть похуй, в крайнем случае спросишь на SO и будешь ждать ответа неделю. Но ты ведь на работу устраиваться пришел, вроде как хочешь чтобы тебе деньги еще за это платили, при том деньги не малые. Времени у тебя перед выпуском в прод будет очень мало, ждать пока ты нагуглишь и поймешь никто не будет, легче нанять студента третьекурсника, который не только эту сортировку знает, но и другие.
Вот теперь можешь ответить на свой вопрос:
>Это я долбоеб или они?
Аноним 02/07/20 Чтв 20:13:12 1740106316
>>1740077
>Возникнет задача написать алгоритм сортировки на подобии сортировки пузырьком, но с изменениями для конкретного проекта
Вот, блядь, как возникнет, открою и почитаю. Нах мне все это говно в голове держать? Ты же, блядь, весь мсдн в голове не держишь, понадобилось - открыл и поглядел.
Аноним 02/07/20 Чтв 20:29:19 1740118317
Кто нибудь запускал эту приложуху? https://github.com/dotnet-architecture/eShopOnWeb

У меня сначала зависимости не качались, хотя интернет был в порядке, и я проверял руками, они скачивались. Потом пишет, что localdb не поддерживается на этой платформе. В докере вообще не запускается, полчаса шел процесс настройки и тоже ошибка на ошибке. Запускал на Линуксе.
Аноним 02/07/20 Чтв 20:32:04 1740120318
>>1740070
Если ты не можешь ничего написать сам, не используя стандартные методы, то очевидно кто.
Аноним 02/07/20 Чтв 20:32:42 1740121319
>>1740106
Пиздец вкатуны охуели. Я просто хуею. А потом они такие: "Бля, почему я год работу найти не могу. Это все сытая ашарочка виновата. Утутуту, пожалейте."
Это, блядь, база, которую знать надо.
Охуеть просто. А потом смотришь его код, а там одна копипаста со стековерфлоу. Охуеть, блядь.
Аноним 02/07/20 Чтв 20:34:38 1740123320
>>1740118
Запускал. Все норм работало. Где-то полгода назад.
Аноним 02/07/20 Чтв 20:37:28 1740125321
Аноним 02/07/20 Чтв 20:40:01 1740126322
>>1740120
>Если ты не можешь ничего написать сам, не используя стандартные методы
Ну, нахуя мне этот пузырь писать, если есть .sort?
Аноним 02/07/20 Чтв 20:40:49 1740128323
>>1740126
Потому что это требуют. Требуют для того, чтобы увидеть твое алгоритмическое мышление. Увидели. Его нет.
Аноним 02/07/20 Чтв 20:41:05 1740129324
>>1740123
На Линуксе запускал?
Аноним 02/07/20 Чтв 20:41:27 1740130325
>>1740121
>Это, блядь, база, которую знать надо.
Нахуя? .sort чем не угодил? Может мне еще вместо .split для строк писать разбиение на подстроки? Чо за ебанизм?
Аноним 02/07/20 Чтв 20:42:27 1740131326
>>1740128
>Требуют для того, чтобы увидеть твое алгоритмическое мышление
Открыл и почитал, чо теперь, я пиздец алгоритмическим мышлением обладать начал? Ты ж тоже до пузыря не сам додумался, а прочитал где-то про него
Аноним 02/07/20 Чтв 20:46:38 1740134327
>>1740130
>Может мне еще вместо .split для строк писать разбиение на подстроки?
Да, представь себе, это входит в обучение. Если ты сам этого ничего не писал, значит ты обычный копипастер, и не способен писать алгоритмы.
Аноним 02/07/20 Чтв 20:47:51 1740135328
>>1740131
>Открыл и почитал
Не читать надо, а писать сортировку руками без встроенных методов. Читал он блять. Плавать тоже учился через чтение?
Аноним 02/07/20 Чтв 20:48:36 1740136329
>>1740130
>>1740131
Представляю что будет когда тебе придется алгоритмы на графах релизовывать самому.
Аноним 02/07/20 Чтв 20:48:55 1740137330
>>1740134
Давай текст алгоритма и я тебе его напишу. А то что я там где-то чет-та глянул, и чем это отличается от того, что со со спиздил?
Аноним 02/07/20 Чтв 20:49:37 1740138331
>>1740135
>Не читать надо, а писать сортировку руками без встроенных методов.
Пиши текст алгоритма, я тебе его реализацию напишу.
Аноним 02/07/20 Чтв 20:51:20 1740140332
>>1740137
Реши задачу об укладке рюкзака через рекурсию
Аноним 02/07/20 Чтв 20:51:43 1740141333
>>1740136
>Представляю что будет когда тебе придется алгоритмы на графах релизовывать самому.
И в чем проблема? Писал графы, это ж не значит, что я должен эти алгоритмы на зубок знать. Как раз маня, которая посмотрела до этого и запомнила нахуй не нужна, а вот чел, который почитал и написал - нужен. Кто разобраться сам может, а не увидел и запомнил. Потом чо, столкнется с тем, чего не видел и все, пук среньк будет. А чел, который разобраться может сядет и решит задачу. Никто ж не говорит, что надо со стака бежать списывать
Аноним 02/07/20 Чтв 20:53:07 1740142334
>>1740140
>Реши задачу об укладке рюкзака через рекурсию
Ну пиши условия
Аноним 02/07/20 Чтв 20:59:12 1740144335
>>1740141
Если ты такой умный, то почему не написал сортировку?

>>1740142
Это известная задача.
Аноним 02/07/20 Чтв 21:11:46 1740151336
>>1740141
Блядь, не неси хуйни. То что ты скопипастил решение, это не значит что ты разобрался, блядь. Когда ты, блядь, разобрался, ты не будешь гуглить или что-то нести. Ты же, блядь, не гуглишь каждый раз как ветвление делать или цикл. При этом ты знаешь как и где их использовать. Что, блядь, ты зазубирл это и когда тебе вместо одного условия, надо будет 2 ты обосрешься? Нет. А вот если ты еблан, который гуглит, как сделать обход по массиву, то ты нихуя не разобрался. Блядь. Пиздец, это сука объяснять надо.
Вот тебе, сука аналогия, ты ж тупой и не поймешь. Допустим ты и другой чел решаете научиться рисовать. Ты обвел картинку и получил норм. Тот чел пошел дрочить кубы, анатомию, и прочее и тоже нарисовал картинку. Так вот, кто из вас научился рисовать? Кто из вас, блядь, сможет нарисовать то, чего еще не рисовали? Так, блядь, понятно?
Аноним 02/07/20 Чтв 21:14:11 1740154337
>>1740144
>Это известная задача.
Предлагаешь сходить погуглить? Опиши задачу своими словами, чо ты
Аноним 02/07/20 Чтв 21:18:35 1740159338
>>1740151
>То что ты скопипастил решение, это не значит что ты разобрался, блядь.
Но я не копипастил ничего, открыл этот пузырь и почитал, в пару строк цикла такое пишется, чего там писать, если знать условия?
>Ты же, блядь, не гуглишь каждый раз как ветвление делать или цикл.
Потому что это постоянно надо, а пузырек ты в каждой своей проге используешь?
>ты еблан, который гуглит, как сделать обход по массиву
А там только обход по массиву надо сделать или надо еще алгоритм применить при этом?
>Вот тебе, сука аналогия
Которая не является доказательством ничего, умник
>Допустим ты и другой чел решаете научиться рисовать. Ты обвел картинку и получил норм.
Вот ты и обосрался, я прочитал что именно надо нарисовать и нарисовал
>Кто из вас, блядь, сможет нарисовать то, чего еще не рисовали?
Никто, то что ты человека нарисовал не значит, что вазу с фруктами нарисуешь.
Аноним 02/07/20 Чтв 21:27:28 1740167339
>>1740151
Ебать ты быдлан агрессивный. Ничего даже удивительного, что у тебя такая идиотская позиция, оправдывающая необходимость изобретения велосипедов на собеседованиях.
Аноним 02/07/20 Чтв 21:30:21 1740174340
>>1740106
Я же тебе написал, дебил:
>ждать пока ты нагуглишь и поймешь никто не будет
И важнее не это, а вот это:
>у тебя даже идеи не возникнет о том, что нужный тебе алгоритм похож на сортировку пузырьком, поэтому ты начнёшь пилить свой велосипед, от которого твой тимлид упадёт в обморок.
Есть множество задач, алгоритмы решений которых похожи на алгоритмы сортировки, если ты долбоеб, который не может написать сортировку пузырьком/вставками/быструю сортировку, то и в голове у тебя никаких аналогий не возникнет, написав свой велосипед, ты даже не поймешь, что он похож на алгоритм сортировки пузырьком, ты с рожей дебила будешь смотреть в зеркало и думать "пиздец я умный, никто бы не догадался решить задачу таким путём!", при этом не осознавая, что если бы ты знал алгоритм сортировки, то выполнил бы задачу на много раз быстрее и эффективнее.
Аноним 02/07/20 Чтв 21:31:33 1740177341
>>1740159
Анализ сложности алгоритмов ты конечно же тоже не знаешь.
Аноним 02/07/20 Чтв 21:32:10 1740179342
>>1740167
Не отвечай ему просто и все.
Аноним 02/07/20 Чтв 21:41:22 1740196343
>>1740130
>вместо .split для строк писать разбиение на подстроки?
Представь себе, и такое бывает.
Понимаешь, дебил, методы стандартной библиотеки и вообще любой библиотеки, которая ориентирована на широкую публику, создаются при условии, что ими будут пользоваться создатели вообще любых программ, т. е. это всё отражается на коде метода. Он универсален, но в какой-либо конкретной ситуации можно придумать алгоритм, который отработает быстрее, но не будет настолько универсален.
Допустим, тебе нужно разбить строку и ты знаешь, что результатом всегда будет массив как минимум из 6 элементов, при этом работать ты всегда будешь с массивом который состоит из 2 по 6 элемент.
Если работать с этой строкой используя стандартный split, то он не будет останавливаться на 6 элементе, он будет сплитить тебе всю строку, также тебе самостоятельно придётся отбрасывать 1 элемент. При этом если использовать свой split, то эту остановку и пропуск первого элемента можно реализовать, значительно повысив производительность.
Аноним 02/07/20 Чтв 21:41:23 1740197344
>>1740174
>алгоритмы решений которых похожи на алгоритмы сортировки, если ты долбоеб, который не может написать сортировку пузырьком/вставками/быструю сортировку, то и в голове у тебя никаких аналогий не возникнет
Если мне понадобится эта задача, я напишу в гугл "сортирвки" и выберу нужный мне алгоритм. Ты реально не догоняешь этого что ли? Ты когда пишешь свою прогу в мсдн тоже не заглядываешь, потому что, а нахуя? Я ж там алгоритм пузыря знаю, ща накатаю, пока я просто .sort использую и все.
>что если бы ты знал алгоритм сортировки, то выполнил бы задачу на много раз быстрее и эффективнее.
.sort выполняет задачу быстрее и эффективнее, чем написание своего пузыря
Аноним 02/07/20 Чтв 21:43:02 1740200345
>>1740196
>Если работать с этой строкой используя стандартный split, то он не будет останавливаться на 6 элементе, он будет сплитить тебе всю строку, также тебе самостоятельно придётся отбрасывать 1 элемент.
В данном случае доработаю и сделаю свой сплит. Ща объясни мне, в чем твой велосипед с пузырем лучше, чем .sort()?
Аноним 02/07/20 Чтв 21:46:57 1740206346
>>1740197
>Если мне понадобится эта задача, я напишу в гугл "сортирвки" и выберу нужный мне алгоритм.
Не выберешь. Сейчас тебе если задать любую нестандартную сортировку, даже с небольшими отклонениями, и ты не найдешь ее, и сам не сразу напишешь. Потому что опыта написания самостоятельно нет.
Аноним 02/07/20 Чтв 22:08:54 1740220347
>>1740197
>Если мне понадобится эта задача, я напишу в гугл "сортирвки" и выберу нужный мне алгоритм.
Так зачем вообще тогда что-либо знать? Приходишь с гуглом и решаешь любую задачу.
>когда пишешь свою прогу в мсдн тоже не заглядываешь, потому что, а нахуя?
Я заглядываю туда на пару секунд, ты же сначала там сидишь час, потом еще уточняешь что-то, чего ты не понял, в гугле второй час и только потом пишешь какой-то код, который не работает, потому что ты не всё прочитанное запомнил.
Понимаешь в чём разница, дурачок? Если ты встречал и работал с задачей ранее, то освежить знания будет быстрее, чем получить их.
>.sort выполняет задачу быстрее и эффективнее, чем написание своего пузыря
Ну это просто без комментариев. Прочитай про алгоритмы сортировок, про их отличия. Помимо пузыря существует еще не мало алгоритмов, про пузырь у тебя спросили в качестве примера, а не панацеи для всех задач сортировки.
>>1740200
>В данном случае доработаю и сделаю свой сплит.
Конечно сделаешь, особенно когда ты ни разу не видел устройства этого сплита из стандартной библиотеки. Будешь сидеть пару часов и пытаться разобраться как это у них делается, когда тот кто знает, меньше чем за час уже напишет свою реализацию.
>в чем твой велосипед с пузырем лучше, чем .sort()?
Тем, что скорость сортировки зависит от сортируемых данных, в зависимости от контекста, может быть выгоднее использовать пузырьковую сортировку, а может и быструю сортировку. И это только скорость, есть еще и такой фактор как память. Всего этого стандартный Sort не учитывает, он использует тот алгоритм, который наиболее эффективен в большинстве случаев, т. е. самый универсальный.
Вот видишь, ты даже таких базовых вещей не знаешь, а всё еще спрашиваешь "зачем". Затем и спрашивают, чтобы понять, изучал ли человек сортировки или использовал стандартную библиотеку и копипастил чужой код.
Аноним 02/07/20 Чтв 22:13:15 1740222348
>>1740220
>Так зачем вообще тогда что-либо знать? Приходишь с гуглом и решаешь любую задачу.
Ну так давно уже можно было заменить программистов макаками работающими с электронным помошником, вот только никто его сделать не хочет нормально почему-то...
Аноним 02/07/20 Чтв 22:20:05 1740225349
>>1740222
Так уже, электронный помощник это IDE, макака это человек который мнит себя программистом, но на деле срёт себе в штаны, когда его просят написать сортировку пузырьком.
Аноним 02/07/20 Чтв 23:24:35 1740259350
>>1740225
Так что мешает и это в помошник запихать?
По мне так уже давно программистов можно простенькими алгоритмами заменить практически полностью.
Их сейчас ОЧЕНЬ МНОГО, относительно того сколько могло бы быть.
Аноним 03/07/20 Птн 02:57:12 1740414351
Изучая C#, пытаюсь переделать лабу на C++ на C#.
Ошибка при задействовании методов в строках с 51 по 62. Пишет мол, ссылка на объект не указывает на экземпляр объекта. Но я же создал массив объектов, должно работать. На плюсах же работает.
https://repl.it/repls/SnivelingStrongVisitors#main.cs
Аноним 03/07/20 Птн 08:57:33 1740453352
>>1740414
Ты специально старался максимально уебищно форматировать код, что б никто читать не стал? Скорее всего, ты создал массив, но объекты в нем не инициализировал, т.о. у тебя массив из наллов.
Аноним 03/07/20 Птн 09:08:39 1740458353
>>1740453
А что конкретно не так с моим кодом? И в плюсах так то при объявлении массива типа класса, все ячейки этого массива заполняются одинаковыми объектами этого класса. А в C# иначе?
Аноним 03/07/20 Птн 09:15:46 1740459354
>>1740414
Лучше бы ты кириллицу использовал для названия классов и методов. Благо шарп позволяет.
Аноним 03/07/20 Птн 09:17:40 1740460355
>>1740459
В C++ тредах я уже показывал такой код. Почти каждый ответ выражал недовольство использованию мною кириллицы в коде.
Аноним 03/07/20 Птн 09:29:36 1740463356
>>1740458
Плюсы вызывают конструктор по умолчанию во время инициализации массива. Шарп при инициализации массива типа T вызывает default (T), что для классов является null, а для структуры - значение, возвращаемое конструктором по умолчанию
Аноним 03/07/20 Птн 09:30:29 1740464357
>>1740460
Лучше уж кириллица чем транслит
Аноним 03/07/20 Птн 10:09:04 1740474358
>>1740463
Значит без разведения зоопарка лишних переменных не обойтись?
Аноним 03/07/20 Птн 10:34:36 1740484359
>>1740474
Enumerable.Range(0, 10).Select(i => new Yoba()).ToArray()
Аноним 03/07/20 Птн 10:45:27 1740486360
>>1739520
Прокидываешь CancellationToken, который передается в бекграунд воркер, дальше в свой код. При остановке приложения все инициализированные таски грейсфулли завершаются.
Аноним 03/07/20 Птн 11:21:48 1740494361
cd.png (11Кб, 538x442)
538x442
>>1740486
>при работе сервера нажимаю ctrl+c
>таски грейсфулли завершаются
Doubt.jpg
>>1740474
Напиши метод для инициализации
>>1740460
>В C++ тредах я уже показывал такой код
Тут тебе не там. С# полностью юникод совместимый. В самом коде да, не стоит использовать ни киррилицу, не транслит ибо мешанину языков воспринимать тяжело, особенно если там еще и транслит-ребусы. Но при взаимодействии с пользователем можешь использовать любой язык. Ах да, у тебя и переменные транслитом, ну за такое обоссут в любом культурном обществе.
>>1740458
> не так с моим кодом?
Про транслит написал, плюс не ленись писать нормальные имена переменным - не в одну букву. Чому у тебя в класее триады пустые виртуальные методы? Если ответственность за их реализацию лежит на наследнике, то стоит подумать об абстрактном классе и методах. Перепиши методы Show (кста, тут тебе не ява пиши методы с большой буквы), максимум и прочие - не надо завязавть свои классы на конкретном окружении. Пусть они не в консоль пишут а возвращают значение, а уже вызывающий решает как и куда выводить. Пиши фигурные скобки с новой строки, чай не на бумаге пишишь - экономить не надо. Если метод простой используй запись Method() => action;
Аноним 03/07/20 Птн 11:31:58 1740497362
>>1740494
Дядь, тебе Линка не хватает? Нафиг этот экстеншн метод нужен?
Аноним 03/07/20 Птн 11:35:09 1740500363
>>1740494
Я бы тебя на работу с таким кодом не взял. Нахуя ты линк изобретаешь?
Аноним 03/07/20 Птн 12:23:22 1740518364
>>1740494
>Напиши метод для инициализации
Уже пытался. Нормально ли оставлять его паблик?
Аноним 03/07/20 Птн 12:42:20 1740526365
>>1740518
Делай паблик. Зависит от того чей это будет метод и кто должен иметь доступ.
Аноним 03/07/20 Птн 16:35:54 1740814366
Аноним 03/07/20 Птн 18:43:57 1740979367
image.png (73Кб, 391x101)
391x101
Ебусь с этой парашей уже сутки. Не могу сделать. Надо юзать LINQ.
Аноним 03/07/20 Птн 18:56:25 1740989368
Курю туторы около недели-полторы, пока всё мало понимаю и весь код это чаще всего или копипаста из туторов или нагуглил на форумах. Я даун или так и должно быть? Или весь код это и есть заучить 10 базовых инструментов и гуглить всё остальное?
Аноним 03/07/20 Птн 18:58:07 1740993369
>>1740989
Это нормально, что ты сейчас нихуя не знаешь. Просто решай какие-то простейшие задачи, привыкнешь к синтаксису, поймешь как работает та или иная конструкция
Аноним 03/07/20 Птн 19:09:36 1741003370
>>1740989
Иди на кодварс и решай задачи, гугля уже после того как задачу сдал и она прошла проверики. По моим ощущениям это самый заебатый способ осваивать кодинг. Срсли.
Аноним 03/07/20 Птн 19:18:58 1741015371
>>1741003
Он заебется на первой же задаче и забьёт хуй
Аноним 03/07/20 Птн 19:26:26 1741022372
>>1741015
Ну хуй знает. Я именно в такой форме учил шарп после плюсов. Очень весело же. А потом можно посмотреть как другие решали и подглядеть всякие прикольные штуки.
Аноним 03/07/20 Птн 19:44:21 1741041373
Как лучше учить c#, если уже знаешь несколько яп?
Аноним 03/07/20 Птн 19:45:10 1741044374
>>1741041
Разбираешься с синтаксисом, затем ищешь легкие задачки и решаешь переходя к сложным
Аноним 03/07/20 Птн 19:59:48 1741061375
image.png (29Кб, 666x450)
666x450
>>1740979
Держи, с тебя интернеты
Аноним 03/07/20 Птн 20:10:40 1741068376
>>1741044
Синтаксис не проблема, я больше про технологии. Core + Linq сейчас стоит знать или что?
Аноним 03/07/20 Птн 20:24:24 1741077377
>>1741068
Core + Linq обязательны к изучению, как минимум linq ты обязан знать
Аноним 03/07/20 Птн 20:24:49 1741078378
Аноним 04/07/20 Суб 01:47:16 1741273379
Подсел на CodeWars - прикольно, но времени жрет, это пиздец. Пока найдешь правильное решение. И еще в итоге в императивном стиле разложешь пирамиду, которая в итоге делается 1 строчкой. Меня волнует один вопрос - какой блять от этого толк? Типо найди алгоритм, чтобы инпут цифр был только integer с размером 4 или 6? И коню понятно, что такие задачи хуй когда на практике встретятся. Что скажешь, анон?
Аноним 04/07/20 Суб 06:49:05 1741303380
>>1741273
Ты охуеть как прав. Это именно что прикольно. Любой велосипед, типа своей змейки и тетриса, поднимет твой скил в разы, чем дроч задач.
Аноним 04/07/20 Суб 10:51:32 1741380381
Аноним 04/07/20 Суб 11:02:34 1741388382
>>1741273
> И коню понятно, что такие задачи хуй когда на практике встретятся
Встретятся
Ну и на кодварсах уже с 4кю вполне себе задачи, которые в повседневной работе встречаются.
Аноним 04/07/20 Суб 11:40:49 1741409383
>>1741388
сколько всего kyu? меня с какого то хуя по привязке гита сразу на 8 кинуло
Аноним 04/07/20 Суб 11:50:41 1741413384
>>1741409
8 это самый низкий, няша. Тут в обратном порядке, как в каретэ всяких же. Ну и да, всего 8.
Аноним 04/07/20 Суб 12:38:52 1741453385
Для андроид нужно написать простейший парсер сообщений с поиском кода подтверждения и отправкой его в базу данных. На C# реализуемо?
Аноним 04/07/20 Суб 12:46:51 1741459386
>>1741453
Нет, конечно
че за вопросы ебанутые, язык тьюринг полный, хоть ос там себе напиши а
Аноним 04/07/20 Суб 12:48:17 1741460387
Аноним 04/07/20 Суб 12:49:30 1741464388
>>1741388
это какие например? Найти регуляркой и вычленить невалидные символы? Хоть пару примеров приведи
>>1741413
да, уже разобрался. В целом - интересно, но имо бесполезная трата времени, т.к. задачи студентоты - поломать голову. 4fan пойдет
Аноним 04/07/20 Суб 12:53:59 1741470389
>>1741459
Я не так давно начал изучать C# и пока что просто балуюсь и реализую некоторые свои задумки. Решил спросить, чтобы не тратить время зря.

>>1741460
Спасибо.
Аноним 04/07/20 Суб 13:35:42 1741504390
Аноним 04/07/20 Суб 14:29:07 1741627391
>>1741504
геймдев что ли? В интерпрайзе такой хуйни никогда не видел, максимум валидация. При парсинге еще может быть провалидировать ряд, это максимум
Аноним 04/07/20 Суб 14:32:55 1741630392
Вот бы .NET5 принес с собой вакансий в рашечку......
Аноним 04/07/20 Суб 14:34:02 1741632393
>>1741630
зачем? тебе нормальных технологий мало?
Аноним 04/07/20 Суб 14:34:43 1741633394
Аноним 04/07/20 Суб 14:35:51 1741635395
>>1741633
боже упаси. Помимо .NET сейчас куча работы на нормальных стэках. Не буду писать на каких, а то прибегут кукарекать, что и то им не так и то не так
Аноним 04/07/20 Суб 14:39:04 1741639396
>>1741635
Двачую брат, не пали быдлу Котлин.
Аноним 04/07/20 Суб 14:44:17 1741643397
>>1741635
Но шарп хорош. Однако кроме веба делать в нем что-то неудобно. WPF унылый, бойлерплейт бойлерплейтом погоняет. Ксамарин тормозной. Сделали бы блазор нормальный
Фронт? Хуй. На MVC не построишь SPA, а Blazor говно, потому что либо пчел качает wasm на несколько мегабайт, либо с каждым клиентом будь добр держать gRPC соединение.

Вот бы сделали Blazor под все платформы, причем нормально сделали.

По итогу сейчас приходится учить js и фронтенд фреймворк в нагрузку. Сперва Vue изучил, но потом подумал и перекатился на React. Vue Native – говно говна, у них стандартный проект не работает

Хотя, почитаешь на хабре, людям нода вкатывает после шарпа, говорят, писать гораздо быстрее. Хуй его знает, я с js ощущаю себя как в гей-клубе. Как бы красиво, но чуть зазевался и хуй в жопе
Аноним 04/07/20 Суб 14:54:15 1741652398
>>1741643
все так и есть, зато есть у # webApi. Проблема вся в том, я уже писал как то в треде, что мелкософты - жадные. Нет, чтобы делать интеграции с последними технологиями, они пытаються высрать что то непотребное. Блейзор тому пример. Кому нахуй этот wasm нужен. Весь фронт на JS и пока нет лучшей альтернативы ему. В итоге из всего стэка остается только использовать .NET Core, как чистый бэк.
Нода хороша только тем, у кого стэк близок к JS. Любой другой туда полезет и охуеет. Вообще языки с динамической типизацией - это ебаное зло.
За что респект мелкософтам, так это за TS. Он уже нехуево взлетает и я надеюсь, что .NET вылезет из говна и будет стэк бэка на #+TS front. Все остальное - легаси или тухляк.
Сейчас любой архитектор не будет брать # на свежий проект из за еботни с интеграциями, миграциями и прочим гемором.
Насчет JS - сейчас это дефолт, потому что любой интерпрайз язык это 99% веба, а веб = JS (и верстка)
Решетки хороший язык, спору нет и я думаю его будут сапортить и дальше, но стратегия от мелкософта была заведомо провальная. Та же кроссплатформенность и оперсоурс. Да что вам блять мешало интеграцию сделать после выхода первых версий в релиз, как это сделала Java? Или показать свои сорсы. А я скажу - жадность. Вот за нее и поплатились полувялым в жопе от обогнавших на гнедой кобыле конкурентов.
Я много общаюсь с людьми из разных технологий и все, кто +- сталкивался с .NET говорят, что работать можно. Остальные - просто плюются на него.
Аноним 04/07/20 Суб 15:03:25 1741668399
>>1741652
Про веб я и говорил про WebApi. На бекенде шарп хорош
У меня все обостряется тем, что я планирую перекат в другую страну, а там на шарпе работы с гулькин хуй. Учить жабу желания нет, так что взялся за реакт. Но когда представляешь, как бы все могло быть, грустно становится
Аноним 04/07/20 Суб 15:21:18 1741699400
>>1741668
я уже давно не работаю с решетками, но была возможность релокейтнутся в другую страну по прямому офферу. Если работаешь в бадишопе, где +- проект держится больше 2-3 месяцев - есть возможность получить прямой оффер, единственное условие - это очень тонкий подход. Если спизданешь что то типо "Давайте я у вас в офисе буду работать" с большой вероятностью вылетишь пинком под зад с места работы.
У моего знакомого поголовно с php стэка выкатываются в Германию один за одним, им кастомеры сами предлогают. Один уже выкатился, другой в раздумиях. Бадишоп об этом знает, но ничего поделать не может, т.к. жадность давит горло - получать с гребца по $45/h, а платить по 20-25.
Так и живем.
Аноним 04/07/20 Суб 18:00:52 1741926401
Такой вот вопрос.
Стоит ли в арифметических операциях с числами использовать checked? Просто допустим я знаю какие числа мне приходят и я точно знаю что никогда не будет переполнения. Но блин, все равно меня терзает хрень про то, что а вдруг где-то что-то пойдет не так и таки возникнет ситуация, когда прилетит что-то что выйдет за границы.
Аноним 04/07/20 Суб 19:10:02 1741977402
SQL Server Express он же только на Windows? В инструкции к официальному докер образу MSSQL написано, что можно запустить Express. Но как, если образ на основе Ubuntu?

>Start a mssql-server instance running as the SQL Express edition
>docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
Аноним 04/07/20 Суб 19:30:32 1741989403
>>1741926
> я точно знаю что никогда не будет переполнения
>возникнет ситуация, когда прилетит что-то что выйдет за границы
ты уж определись...
А вообще логика простая - если переполнение недопустимо, делай чекд, если допустимо - не делай.
>>1741977
>SQL Server 2019 Express
>Supported Operating Systems
>Windows 10 TH1 1507 or greater, Windows Server 2016 or greater, Red Hat Enterprise Linux 7.3 or greater, SUSE Enterprise Linux Server v12 SP2, Ubuntu 16.04LTS, Docker Engine 1.8+ (on Windows, Mac, or Linux)
Аноним 04/07/20 Суб 23:05:48 1742127404
Для приложения и базы поднимать отдельные контейнеры? Не вдупляю как это все сделать. Это же надо базу создать и подключиться к ней.
AnalDestructor2010 05/07/20 Вск 00:01:20 1742152405
Правильной дорогой идем товарищи! Почти как лисп
list.Add((r, c));
Аноним 05/07/20 Вск 04:28:31 1742233406
>>1742152
Tuple нинужны. Лучше бы record типы завезли
Аноним 05/07/20 Вск 05:05:24 1742238407
Почему в моей программе при изменении одной чейки массива меняются все остальные? Метод Save не виноват, без него то же самое происходит. На C++ такой хуйни не было.
https://repl.it/repls/ImaginativeRapidLanservers
Аноним 05/07/20 Вск 08:07:49 1742253408
>>1742238
Ты можешь подробнее расписать, что за массив и какие действия происходят (со ссылками на строки кода)? Код - говно, ничего не понятно же.
Аноним 05/07/20 Вск 09:14:57 1742268409
Аноним 05/07/20 Вск 11:03:54 1742309410
Снимок.PNG (55Кб, 667x354)
667x354
>>1724536
Начал с Троелсена. Сам не программер, но на уровне составления простых алгоритмов могу.
Так вот, ебать как там в первой главе нагружают терминами и концепциями. Я понимаю, что потом всё разжуют, но такой подход может оттолкнуть.
В пикриле - первое предложение вмещает столько понятий...
Аноним 05/07/20 Вск 11:08:26 1742313411
>>1742238
Потому что класс это референс тип данных. Если говорить на языке говна и мочи С++: массив Date[] - это массив указателей на Date.
Аноним 05/07/20 Вск 11:20:05 1742325412
Иван Ванко Твой[...].mp4 (164Кб, 640x360, 00:00:03)
640x360
>>1742233
Таки в 9 завезут
>>1742238
Ну вот открыл я твой метод Save, и как должен догадаться, что такое d, t, i, maxDat, как тебе в голову пришло такое:
>actualSize; // Счётчик введённых дат
Почему переменная с именем размер описана как счетчик?
Аноним 05/07/20 Вск 11:34:02 1742337413
>>1742325
Бро, код - говно, но проблема не в методе Save. Этож явно писал студент, который программирует от силы пару месяцев. Смотри на конструктор Memory, ошибка там.

мимо >>1742313
Аноним 05/07/20 Вск 11:57:08 1742357414
>>1742309
Вся суть русика - читать Троелсена на английском легче, чем на русском.
Аноним 05/07/20 Вск 15:37:07 1742542415
>>1724425 (OP)
Народ, кто-то пробовал поставить кор 3 параллельно с 2.2 ?
Я не уверен будет ли компилиться 2.2 проект, оф. дока говрит, что при установке кор 3 не будет возможности выбрать версию ниже.
Аноним 05/07/20 Вск 16:38:25 1742598416
Продолжаю читать Троелсена. Я думал, что это всё-таки для не таких шарящих будет. Почему он постоянно бросается словами методы, классы, статический метод, область видимости метода и т. д. не объясняя по пути что это такое?
Аноним 05/07/20 Вск 16:44:21 1742609417
>>1742598
Потому, что нехуй слушать тех, кто советует со старта брать в руки книги, особо извращенные рекомендуют сразу брать Рихтера. Результат - полное непонимание того, чтотам пишется из-за незнания самых основ. А те основы, что там описываются, написаны достаточно сложным языком, предполагающим, что у человека уже есть некие поверхностные знания в области программирования и смежных вещей.

Браться за хорошие книги надо тогда, когда термины >> методы, классы, статический метод, область видимости
не вызывают никаких вопросов вообще.
Аноним 05/07/20 Вск 16:47:15 1742614418
>>1742609
Хорошо, а с чего тогда начинать? Не с Дударя же. Что хорошее, но лайтовее Троелсена? Или по крупицам в гугле инфу собирать?
Аноним 05/07/20 Вск 16:54:32 1742626419
>>1742614
Я начинал с Шилдта, был нулевым и вроде каких-то серьезных затыков не было. Опять же гугл всегда под рукой и и если надо больше подробностей ищи статейки по конкретному вопросу.
Аноним 05/07/20 Вск 17:26:13 1742682420
>>1742626
Ладно, возьмём и дядюшку Шилдта откроем, спешить некуда, а из 2-х книг может даже и больше почерпну.
Аноним 05/07/20 Вск 17:30:43 1742689421
>>1742614
Для начала надо определить текущий уровень знаний.
Потом берем источник сжатой информации аля метанит и го по порядку.

foreach(theme in themes)
{
ProcessingInformation( theme )
}

void ProcessingInformation(theme)
{
while(!MyBrain.Knowledges.HasValue(someInfo))
{
MyBrain.Knowledges.TryToAdd(theme);
}
}

Только потом берем хорошую книгу и читаем.
Аноним 05/07/20 Вск 17:47:37 1742699422
Весь .NET по сути построен на атрибутах - Методы, валидация и т.д. А это означает - рефлексия. Внимание вопрос - почему рефлексией, а не обычной реализацией? Я так понимаю дело в компиляции - если делать атрибутами и реквесты приходят на контроллер, то сборка сама себя рефлектит и принимает/отправляет REST метод? Если что не так - поправьте
Аноним 05/07/20 Вск 17:47:59 1742700423
Аноним 05/07/20 Вск 18:01:22 1742710424
>>1742700
По сути .NET это и есть .NET Core. Сливают .NET Framework и .NET Core в новый .NET 5. Он уже доступен в превью версии.
Аноним 05/07/20 Вск 18:03:14 1742712425
Аноны, а есть какой-то рекомендуемый codestyle для C#, типа PEP8 для Python?
Аноним 05/07/20 Вск 18:05:57 1742715426
Аноним 05/07/20 Вск 18:13:39 1742721427
Аноним 05/07/20 Вск 18:41:23 1742744428
Есть такой код

using System;

class MainClass {

public class DnaStrand {
public static string MakeComplement(string dna) {

return Console.WriteLine(dna);
}
}

public static void Main (string[] args) {

DnaStrand.MakeComplement("Hello World");
}
}

Выдает такое

main.cs(8,22): error CS0029: Cannot implicitly convert type `void' to `string'

Почему так происходит? Метод принимает и возвращает string. Где и откуда там void?
Аноним 05/07/20 Вск 18:50:31 1742754429
>>1742744
Ты пытаешься вернуть результат Console.WriteLine из MakeCompliment

Console.WriteLine возвращает void, а метод MakeCompliment - string.
Аноним 05/07/20 Вск 19:06:38 1742774430
>>1742715
>>1742721
Спасибо! А что на счет длины строки и размера отступов? Или тут как кому нравится?
Аноним 05/07/20 Вск 19:17:27 1742792431
>>1742754
Спасибо. Но если убрать return, то not all code paths return a value
Аноним 05/07/20 Вск 19:19:50 1742798432
>>1742792
БЛЯЯЯЯ долбоеб, у тебя в сигнатуре string должно возвращать. В глаза долбишься, что ли?
Аноним 05/07/20 Вск 19:32:40 1742808433
>>1742774
Используй стандартные настройки VS.
Аноним 05/07/20 Вск 19:46:31 1742820434
>>1742798
Хули ты орешь. У меня же есть в сигнатуре string

public static string MakeComplement
Аноним 05/07/20 Вск 19:49:16 1742823435
>>1742820
значит убери его из сигнатуры
Аноним 05/07/20 Вск 19:50:07 1742824436
>>1742598
Кто тебе мешает загуглить значения этих слов? Это базовые понятия и они одинаковы для любого языка.
Аноним 05/07/20 Вск 19:55:44 1742830437
>>1742699
У тебя какая-то каша в голове. В том что ты описал можно увидеть рефлексию, которую используют для создания фреймворка, который пишет некоторый код за тебя, в зависимости от атрибутов. Непонятно при этом, что ты подразумеваешь под "обычная реализация". Но это не единственное её предназначение, более общим будет "анализ уже существующего кода и определенные действия в его отношении".
>если делать атрибутами
То при компиляции фреймворк анализирует твой код и дописывает всё нужное для его работы, от тебя требуется только следование документации этого фреймворка. Вся суть в том, что тебе приходится писать в разы меньше кода и большая часть реализации работы лежит за кулисами.
Аноним 05/07/20 Вск 19:57:48 1742832438
>>1742823
Ругается
Class, struct, or interface method must have a return type
Аноним 05/07/20 Вск 19:57:53 1742833439
>>1742792
А надо как? У тебя метод который возвращает строку, если читать только сигнатуру, но если читать реализацию, то он ничего не возвращает, о чём тебе компилятор и говорит.
Аноним 05/07/20 Вск 20:23:10 1742855440
>>1742833
Убираю Console.WriteLine(dna); пишу return dna; и то же самое Class, struct, or interface method must have a return type
Аноним 05/07/20 Вск 20:30:20 1742858441