Этого треда уже нет.
Это копия, сохраненная 22 августа 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
34 Кб, 1920x1080
СИСЯРП # OP #796165 В конец треда | Веб
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

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

1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c#
- 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, делать намного сложнее.

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

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

6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.
Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials

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

8. Расширения для студии
ReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов
Supercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по ним
Indent Guides - показывает вертикальные линии на каждом уровне отступов.
Format document on Save - форматирует код каждый раз при сохранении документа
Code alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C#-6

ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ

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

Прошлый тред тонет здесь: https://2ch.hk/pr/res/766002.html (М)
78 Кб, 811x505
# OP #2 #796172
Чё то я не ебу, почему не добавляется второй пост из pastbin'a, судя по описанию ошибки, там какое то слово из спам листа и я ротегоебал искать в 7000 символах то слово, поэтому оставлю это на совести мочераторов.
>>798687
# OP #3 #796176
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам

12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)

14. Литература по асинхронности, параллелизму и всему такому
- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
- Pro Asyn_chronous 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
# OP #3 #796176
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам

12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)

14. Литература по асинхронности, параллелизму и всему такому
- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
- Pro Asyn_chronous 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
>>799109
# OP #4 #796182
На правах опа самты вопрошаю снова, как в WPF анимировать движение окна, при условии, что команда на движение подаётся через метод, не связанный с базовыми событиями любого контрола этого окна (типа там mousedown/keypress, т.е. обычные триггеры/ивенттриггеры/мультитриггеры не подойдут, разве что сейчас попробую дататриггер)? пробовал VisualStateManager, но либо не понял как его прикрутить собсна к окну в кзамле описал visualstategroup со всеми соответствующими анимациями просто между тегами window, перед гридом. не grid же мне толкать, либо неправильно вызываю метод VisualStateManager.GoToState(this, "aaa",false); из Model.
>>797727
#5 #796193
какую рсубд неуважаемые посетители этого итт тренделя выбирают для asp.net core? mysql же говнище, postgres? а насколько efcore умеет в него?
>>796206>>796266
#6 #796203
foobar
#7 #796206
>>796193
Какой-то неправильный спермовор, на дудке все SQL Server'ом пользуются.
>>796212
#8 #796212
>>796206
mssql на линуксе это так себе
>>796220>>796225
105 Кб, 800x600
#9 #796220
>>796212

> на линуксе


> asp.net

>>796223
#10 #796223
>>796220
я про .net core говорю, или ты, даун, не осилил сего посыла?
#11 #796225
>>796212
Скоро же сделают. А так постгря. В ef6 не было codefirst и миграций, в ef7 codefirst завезли, а про миграции не знаю.
>>796235
#12 #796235
>>796225
скоро это как СКОРО, ОЧЕНЬ СКОРО, или быстрее?
>>796252>>799923
#13 #796252
>>796235
Первый вариант естественно.
#14 #796266
>>796193
MongoDB.
29 Кб, 448x244
#15 #796279
Анон, дай совет криворучке.
Использую OpenGL через OpenTK для отображения картинок (1000x1000 - 3000x3000), но у меня оно медленно работает и память замусоривается.
Схема примерно такая:
Загрузить необходимые текстуры.
Привязать текстуру.
Нарисовать прямоугольник (с текстурой).
Отвязать текстуру.
Удалить текстуру (GL.DeleteTexture), так как она не используется далее. И так несколько раз.
Но даже со сбором мусора вручную (GC.Collect) оно всё-равно забивает всю видеопамять вскоре.
235 Кб, 1750x1670
#16 #796282
Я могу как-то получать поток видео из html5 плеера с помощью webRequest'а? Хочу написать для себя десктопный твич плеер.
#17 #796514
Как быстро прикрутить ебучую OAuth к части контроллеров уже существующего asp.net проекта(проект использует windows аутентификацию, но часть контроллеров нужно расшарить на внешний доступ)? Есть гайд для идиотов? Не хочется целый день с ней возиться чтобы досконально разобраться.
>>796565
#18 #796565
>>796514
За день досконально разобраться? А ты смешной
#19 #796603
Нашел пример по EntityFramework. Создаем класс и по нему БД. Проблема одна - там нет конекшн стринга а только
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration

И у меня не хочет подключатся к mssqllocaldb, пробовал все, названия инстансов с паппки АппЛокаль, пердолил консольку, в СКЛсервере подключается к серверу с именем компа. А вижуал - нет. ЧЯДНТ??!
#20 #796636
Подписка на Visual Studio Dev Essentials бесплатная, или мне потом пришлют квитанцию на почту?
>>797729
#21 #796679
Господа, а не подскажите где взять вишмастер на LINQ Insight?
144 Кб, 1506x517
#22 #797314
Двач, помоги разобраться с web-api, есть одна модель и один контроллер, маршрут указан в аттрибуте перед классом, пытаюсь сделать тест через postman и каждый раз при пост-запросе мне возвращает null, я убирал аттрибут, не помогло, в конфиге прописан CamelCaseResolver и имена полей он должен считывать нормально по идее, на стаковерфлоу толком ничего нет.
#23 #797320
>>797314
c emailом проебался, там string конечно же, но дела это не меняет, возвращет null
>>797354
#24 #797354
>>797320
по-моему this.Json(примитив) всегда норовит вернуть какую-нибудь нёх по дефолту. попробуй исправить на new{success=true}. лучше, конечно, во всех вариантах возвращать одинаковую по структуре модель

а вообще, я, может быть, уже запутался во всех версиях асп фреймфорков, но ты юзаешь православный MVC
#25 #797399
>>797314
Не по теме: почитай как RequiredAttribute работает с ValueType
>>797406
#26 #797406
>>797399
с велью-типом Nullable<T> работает очень даже отлично
>>797419
#27 #797419
>>797406
Я про это и говорил, в примере то нихуя не они, но надо же и знать почему, у нас же здесь не бидлокодеров тред, а? А? А?
>>797422
#28 #797422
>>797419
ну, де-факто - отборнейших
>>797425
#29 #797425
>>797422
Ну с таким то отношением...
зло торжествует, когда хорошие люди бездействуют, так то!
>>797439
#30 #797439
>>797425
так сюда не учиться приходят, в бОльшей массе, а узнать

> я вот тут написал govno_kod_neim, как мне сделать pezpoleznaya_huinya_4erez_anus_neim

#31 #797443
Господа, недавно ходил в вуз к дружане и увидел там, как он кодит на шарпе. Мне безумно понравился синтаксис, столько сахара, такая удобная организация, все просто отлично. Я попробовал написать пару простеньких скриптиков - я кончил. По сравнению с задристанной явой - шарп реально смотрится чудесно.
Скажите, вот, я хочу учить сшарп. В какое направление лучше смотреть, какие у него перспективы, где чаще используется? Книжка head first C# норм или лучше players guide?
>>797460>>797464
#32 #797460
>>797443
Не пойму, что такого есть в C#, чего нет в Java?
>>797461
#33 #797461
>>797460
Ну, блин, вот реально, мне синтаксис показался каким-то "монолитным" что ли. Вот просто понравился, да и IDE охуенное, эта Visual Studio - чудо (хоть и монстроузоное).
#34 #797464
>>797443
Ты понимаешь, что ты будешь зависеть только от винды?
>>797468>>797495
#35 #797468
>>797464
И что?
>>797480
#36 #797480
>>797468
Когда фуллСтек станешь - поймешь. Веб это всегда линь, а не шинда с иис
Учите лучше джаву, джиэс и постгрис. Иначе соснете со своим сишарпом как подрастете

Еще у джава божественный синтаксис - ловерКамелКейс, который идеально коррелирует с вебом, чего не скажешь про решетку

За рулем писал, не придерайтесь
>>797674>>797739
#37 #797495
>>797464
ты понимаешь, что ты долбоеб?
>>797512
#38 #797512
>>797495
Твой НетКоре будет сырой еще лет 5
>>797674
#39 #797568
protected void Add(SomeContext db)
{
int i = 1;
foreach (var p in items.GetAll())
{
var city = new City { Name = p.Name };
city.Id = i;
i++;
db.Citys.Add(city);
}
db.SaveChanges();
}

Как мне сделать это в одну строчку на LINQ?
>>797623
#40 #797623
>>797568
на linq-в-одну-строчку этот код будет менее эффективным

protected void Add(SomeContext db)
{
items.GetAll().Select((item, index) => new City {Id = index + 1, Name = item.Name}).ToList().ForEach(item => db.Citys.Add(item));
db.SaveChanges();
}
>>797624
#41 #797624
>>797623
но, если у тебя db.Citys типа DbSet<T>, но можно сделать db.Citys.AddRange(вся линка до тулист)
#42 #797674
>>797480

>Веб это всегда линь


Не всегда.
>>797512
Уже сейчас есть Mono, Xamarin и Unity.
#43 #797727
>>796182
Анимацию лучше через Visual Blend фигачить.
#44 #797729
>>796636
Вроде через аккаунт майковский всё делается, а по умолчанию триал ставится.
#45 #797739
>>797480
Уже пишу на божественном Core и ссу жаваблядкам в лицо.
>>797781
#46 #797781
>>797739
Что ты там пишешь, петя? Какая ось, субд, орм?
>>797788
#47 #797788
>>797781
Абанта, посгрес, орм не использую, хватает даппера.
43 Кб, 600x280
Приостановка всех Task с последующим их продолжением #48 #797825
Прогач, взываю к тебе, может хоть ты знаешь что с этим делать? Возможен ли вызов из основного треда команды на приостановку тасков?

for (int i = 0; i < count; i++)
{
await Task.Run(() => FullReg());
await Task.Delay(5000);
if (checkBox1.Checked)
{
if (i % proxyswitch == 0 && i != 0)
{
//Task.WaitAll(); -- ТУТ ДОЛЖНА БЫТЬ ПРИОСТАНОВКА ВСЕХ ТАСКОВ
System.Diagnostics.Process.Start(@"C:\Program Files (x86)\HMA! Pro VPN\bin\HMA! Pro VPN.exe", "-changeip");
await Task.Delay(10000);
}
}
}
while(int.Parse(CountFailedAccLabel.Text) + int.Parse(CountFailedAccLabel.Text) != count)
{
await Task.Delay(proxyswitch*5000);
await Task.Run(() => ChangeIPHMAButton_Click(sender, e));
await Task.Delay(10000);
//System.Diagnostics.Process.Start(@"C:\Program Files (x86)\HMA! Pro VPN\bin\HMA! Pro VPN.exe", "-changeip");
}
>>797827>>797829
#49 #797827
>>797825
Объяви статический оbject и используй lock.
>>797906
#50 #797828
Анон, чита 23 главу Троелсена про Entity Framework и нихуя не понял и большинство элементов претерпели значительные изменения. Где прочитать нормально про EF 6?
>>797843
#52 #797843
>>797846
#53 #797846
>>797843
Гугл дает три сыллки. Какую тыкать?
>>797865
#54 #797865
>>797846
все 3
sage #55 #797867
>>796165 (OP)

> элитный язык


> платформозависимый


> элитный

sage #56 #797870
>>797867
Что не так?
Винда ОС для илиты, которая себе может позволить ОС за деньги
>>798313
#57 #797880
>>797867

> платформозависимый


Программирую ASP.NET на макбуке, деплою на линукс.
Виндой не пользовался уже пару лет.
>>798313
#58 #797884
>>797867

>платформозависимый


Долбоеб не смог в чтение спецификаций и срачей в GNU сообществе. Маня, C# полностью независим от платформы, но зависит от исполняемой среды, которая может быть написана любым мимокрокодилом под любую платформу без оплаты в казну Билли. С таким же успехом мы можем влетать и кукарекать аля ЗАВИСИМЫЕ ОТ СРЕДЫ/ФРЕЙМВОРКА/ПАРАШИ
>>798313
450 Кб, 1997x1997
#59 #797890
Посоветуйте годный расширений для Вижуал Студии
На подобии Tabs Studio
>>798200
3 Кб, 48x48
#60 #797906
>>797827
>>797829
Можешь по подробнее?

Необходимо чтобы он приостанавливал таски, но не тред
>>797962
#61 #797962
>>797906
Гугли TPL, а лучше наверни главу 19 Троелсена.
У тебя есть множество потоков, которые действуют независимо, но что если они перебегают друг другу дорогу? Например, им всем необходимо произвести вывод своей работы в консоль или на вьюху. Чтобы программа не выдавала хуйню и не выкидывала исключение, можно выдать любой объект за некий светофор аля можно ли приступать к данному коду или нет. То есть, косвенно реализовывавется пауза.
У Троелсена будет пример с 10 потоками, которые выводят числа от 0 до 9. Без данного светофора (lock), они все напишут хуйню из разряда 0,0,0,1,0.1,1,1,2... А если предоставлять вывод потокам по очереди, то они нормально выведут числа от 0 до 9.
У тебя задача похожая. При смене IP адреса, ты блокируешь или выставляешь красный свет светофору для потоков, у которых в начале своей итерации или жизнедеятельности стоит
lock(obj){} //Не пихай сюда код, иначе потоки будут его делать по очереди
И пока меняется IP, потоки ожидают своей очереди на строчке выше. Что надо сделать?
1. Объявить единый для потоков объект, который будет являтся флагом
private static object obj = new object();
2. Функцию по смене IP адреса завернуть в конструкцию lock
lock(obj){ смена IP }
3. В функции, выполняющей итерационное действие выставить пустую конструкцию lock
lock(obj){ } тут код

В идеале, у тебя должен быть массив, информирующий об окончании итерации, для последующей смены IP адреса, если не ожидается окончание таска. Иначе, можно было бы прописать WaitAll();
#62 #797970
>>797962
Ну и собственно итог:
Потоки, выполняющие итерационное действие приостанавливаются до тех пор, пока не смогут заблокировать самостоятельно объект obj. Так как они ничего с ним не делают, задержки между потоками не должно быть явным (её нету).
А вот смена IP - действие длительное и замораживающее. Дождавшись окончание итерации или окончание всех тасков, что правильно и вообще пул потоков надо было использовать, происходит смена IP адреса. В это же время, итерационные потоки не смогут продолжить свой код, так как они не могут заблокировать объект obj, который используется сменой IP адреса. Как только IP адрес будут сменён, они смогут продолжить свою работу в штатном режиме.
#63 #798200
>>797890
Resharper

>>797867
еще один долбоеб пролез, где вас размножают, а?
>>798313
#64 #798313
>>797870
>>797880
>>797884
>>798200
Ололо, он вас затралел.
#65 #798473
Есть одна форма. На ней несколько лейбелов. В них иногда меняются значения. Нужно их после изменения перерисовывать отсортировав по содержимому свойства Text. Можно это как нибудь красиво сделать через linq в одну строку или только цикл?
>>798532>>798541
#66 #798532
>>798473
все, что можно сделать в цикле, можно переписать на linq. вопрос эффективности онли
>>798548
#67 #798541
>>798473
Ты уверен, что это лэйблы надо двигать, а не текст местами менять? если я тебя правильно понял
Labels.Text = sortedValues.ToString()
>>798545>>798548
#68 #798545
>>798541

> Labels.Text = sortedValues.ToString()


Labels [ i ]
sortedValues [ i ]
#69 #798548
>>798532
Эффективность пока не важна, хочу разобраться с linq
>>798541
Да уверен. Потом может вместо лейбелов будут другие элементы. Интересует именно как отсортировать ControlCollection формы.
>>798808
#70 #798620
Читаю Троелсена. Я конечно понимаю, что введение - это введение, но где найти книг по EF 6 и WCF? А то после подробных объяснений базисных и не очень конструкций такая абстракция вообще не в радость. Особенно, когда пример WCF на основе службы Windows не работает
>>798740
#71 #798687
>>796172
Нельзя создать экземпляр абстактного пацана, тащемтв
#72 #798713
>>797962
Обязательно надо ждать окончание итерации на всех тредах, где используется ип, иначе раз на раз будешь ловить эксепшн
>>798901
#73 #798740
>>798620

> Читаю Троелсена


Это как советские учебники по физике - где-там полезный базис и тонны устаревшего материала. Не рекомендую
>>798899
#74 #798808
>>798548

> эффективность не важна


> разобраться в линк

#75 #798899
>>798740
Не знаю, базис по C# 6.0, TPL и LINQ зашёл, а вот EF 6.0 и WCF нет, хотя последний норм. Надеюсь, что WPF нормально пройдет, а ASP.NET у Адама изучу его.
#76 #798901
>>798713
Я же написал тут - >>797970
Да и вообще архитектура хуйня. Надо итерацию в таск и ебашить тредпул с вызовом WaitAll();
#77 #798919
>>797970
Как поможет тут пул потоков?
И таски по умолчанию юзают пул потоков, или я чего-то не понял?
>>798938
#78 #798938
>>798919
http://professorweb.ru/my/csharp/thread_and_files/1/1_16.php
На самом деле, мы не знаем, что ты пытаешься сотворить, но могу предположить, что брутфорс или парсер поеботы.
#79 #798939
>>797962
>>797970
может ли лок принять Task.Delay???
мне во втором пункте еще нужна приостановка после смены IP, если делать через тред слип, у меня весь поток повиснит
>>798943
#80 #798943
>>798939
т.е. await Task.Delay
fixed
212 Кб, 699x629
#81 #799034
Простите на верно ньюфажеский вопрос но никак не могу понять где в C# защита от идиотов вводящих неверные данные? Вот казалось бы простейшая прога. Но если пользователь введет текст, она вылетает.

int i = Int32.Parse(Console.ReadLine());
i++;
Console.WriteLine(i);

В Си я в таком случае ставил
while ( Пользователь ввел хуйню) {Пусть вводит еще раз}
И все работало, а здесь из-за вылета такого не получается.

Может есть какой то более простой способ получать числа с ввода, который бы не вылетал?
>>799035
#82 #799035
>>799034
int intValue;
if (!int.TryParse(@string, out intValue))
{
// ALERT
}
>>799038
120 Кб, 600x800
#83 #799038
>>799035
Благодарю анон, не представляешь как мне помог. Теперь могу не боятся неправильных вводов.
#84 #799087
Materials.Contains(item)

Туплю
Как добавить сюда проверку (Materials.Name).Equals(item.Name)
>>799090>>799092
#85 #799090
>>799087
шошо?
#86 #799092
>>799087
Не понял тебя. Куда добавить?
#87 #799093
Написал через
Отбой, всем спасибо за внимание
Туплю сильно, пошел спать
.Any(x => x.Name.Equals(item.Name)
#88 #799094
Как на гите маркать багфикс
Через Change ili Add?
>>799107
#89 #799107
>>799094
через reset --hard
#90 #799109
>>796176
В каких из этих книг объясняется именно шарп и только шарп(т.е. LINQ, делегаты и т.д.), а не разжёвывается, что такое класс и что такое функция?

Пытался осилить когда-то несколько книг по шарпу - не смог. Они все начинаются с объясния крайне элементарных вещей вида "чтобы сложить переменную a и переменную b, напишите a + b". Мне от таких вещей становилось крайне скучно и я забивал.

В шарп чуть-чуть могу, но без всяких фич вроде лямбд и делегатов. Класс создать могу, метод написать могу, из стандартной библиотеки функцию вызвать могу. В принципе, больше ничего и не могу.
>>799111
#91 #799111
>>799109
почитай конкретные главы троелсена и все. если тебе становится скучно, пропускай до сделующей главы. в чем проблемс?
нет таких книг, которые не сначала, но и не о сложном. люди, как правило, системно подходят к обучению
>>799182
#92 #799182
>>799111
трипл, поясни мне почему не албахари?
>>799226
#93 #799204
Привет ) я нуб хочу быть супер убер прогером и зарабатывать милион в секунду , а если по делу хочу вкатится в тему именно С# ,по средствам обучения индивидуального )хочу узнать у гуру ,если тут такие есть сколько приблизительно надо времени для того что бы хоть джуном стать )за ранее благодарю
>>799209
#94 #799209
>>799204
3 месяца, но у тебя не получится
#95 #799210

>>79920


абаснуй , может че подскажет какой подход к изучению
>>799214
#96 #799214
>>799210
Ты вместо точек скопокчки пишешь
>>799221
#97 #799221
>>799214
Ага есть такой косяк ,для передачи доброжелательных намерений. Так все-таки может подскажите как лучше учить ? И критерии джуна на С#?и какое ориентировочное количество часов брать ?
>>799224>>799228
#98 #799224
>>799221
присоединяюсь к этому, нужно цифры для расчетов
#99 #799226
>>799182
хз. почитай албахари, если тебе нравится
#100 #799228
>>799221
Инфа из шапки совсем не помогла?
>>799233
#101 #799233
>>799228
Я пытался начать с Троэлсена , но как то не пошло по этому отыскал себе репетитора , я работаю и как бы времени не очень много . По этому я и спрашиваю у гуру что должен знать и уметь джун и сколько приблизительно часов придется оплатить репетирору ибо как бы бабки не малые )
>>799235>>799243
#102 #799235
>>799233

> погромирование


> оплатить репетирору


подозревал, что пограмач улетает на дно, но вот чтоб уже
>>799240
#103 #799240
>>799235
О папашки прогеры понабегали , когда есть желание и не особо времени и чуток денег лучше заплатить человеку который втеме и может объяснить нежели самому привозмагать
>>799258
#104 #799243
>>799233
Если не можешь в книги, то лучше не вкатывайся... Репетиторы тут не помогут, все эти курсы, стань успешным айтишником за 2 месяца йоба курсов - хуйня
#105 #799258
>>799240
хзхз, имхо это будет тоже самое, что самоучеба + потраченные деньги. ну да, возможно, что-то тебе объяснят сразу, не придется расшибать лоб об гугол, но тут такое
>>799260
#106 #799260
>>799258
Я это осознаю ,но все-таки если рядом есть человек который поможет кой че объяснит и скоректирует в случае чего , и подскажет может из своего опыта я думаю это того стоит. Полюс стимул учится ибо бабки плочены
>>799264
#107 #799264
>>799260
Лучше читай сам, а вопросы в тред задавай
>>799276
#108 #799276
>>799264
Ну почитал я Троэлсена но как бы там нет заданий ,которые можно было бы делать , а задачек в инете особо не отыскал ) опять таки мотивация к быстрому усвоению инфы ибо я уже не купил то что очень хотел в пользу учебы . А остается в том дерьме в котором я сейчас с теми перспективами которые мне светят если не шевелится достаточно фиговые
>>799277>>799278
#109 #799277
>>799276
придумай себе микропроект с каким-нибудь ололополезным функционалом. мы поможем
#110 #799278
>>799276
Ты вообще чем хочешь заниматься? Веб/десктоп/мобилы. Хотя базовый с# в любом случае нужен
>>799286
#111 #799286
>>799278
Десктоп, возможно мобилы ) в целом интересна тема робототехники
>>799303
465 Кб, 940x530
#112 #799296
Пытаюсь запилить шахматы через Windows Form.

Что за хрень в нем твориться с прозрачностью? Поставил у фигурки BackColor - Transparent и ее фон вместо того чтобы исчезнуть стал цвета окна. ВТФ, как это починить?
>>799308
#113 #799299

> Windows Form


НАХУЯ?
>>799301
#114 #799301
>>799299
Потому что новичок, и осваиваю пока это.
>>799305
#115 #799303
>>799286
Если не дочитал, то дочитывай Троелсена и по WPF ченить. И запили калькулятор. Или вон, как чувак, шахматы сделай
#116 #799305
>>799301
Зачем осваивать мертвые технологии?
Есть же ВПФ, пысть даже ты и будешь использовать 10% его функционала
>>801499>>801530
#117 #799308
>>799296
на форме есть свойство TransparentKey. он, по сути, задает цвет прозрачности (звучит как лол)
#118 #799344
Короче есть такая функция:
http://pastebin.com/v5L3eqS7
Помогите запустить ее на UWP. Выдает следующие:
'Delegate' does not contain a definition for 'CreateDelegate'
>>799352
#119 #799352
>>799344
Всё. Исплавил сам. А ебался часа полтора.
>>799370
3062 Кб, 355x201
#120 #799370
>>799352
Молодец! Скоро джуном будешь
System.Collections.Immutable #121 #799699
Кто нибудь юзал классы из неймспейса System.Collections.Immutable?

Там куча классов, типа:
ImmutableArray, ImmutableDictionary, ImmutableHashSe, ImmutableList
ImmutableQueue, ImmutableSortedDictionary, ImmutableSortedSet, ImmutableStack, ImmutableStack

При изменение элементов, они создают новый экземпляр коллекции, не меняя оригинальной.
Для функционального программирования, это вообще прекрасно.
>>799906>>799914
#122 #799799
>>796165 (OP)
Анон, расскажи, существует ли удаленная работа или даже фриланс в .NET?
>>799847
#123 #799847
>>799799
Смешной вопрос, конечно, существует.
Много ли и возьмут ли на эту работу тебя лично - другое дело.
#124 #799882
Через 3 часа собеседование на сисярп+дотнет макаку. Знаю почти ноль, обещают какое-то письменное. Что прочитать, чтобы знать немного побольше? Что меня там может ожидать?
>>799909
#125 #799906
>>799699
Только стринг
#126 #799909
>>799882
Гугли "Вопросы на собеседовании c# WPF/ASP.NET MVC/Xamarin" и тд, смотря в какой области кодить будешь
>>800188
#127 #799914
>>799699
а вопрос в чем?
>>799920
#128 #799920
>>799914
Кто нибудь юзал классы из неймспейса System.Collections.Immutable?
>>799921>>799929
#129 #799921
>>799920
Зачем?
>>799935
#130 #799923
>>796235
КОД ПОЛЬЁТСЯ МОРЕМ
#131 #799929
>>799920
кто-нибудь, конечно, юзал. для кого же они там тогда существуют?
>>799930
#132 #799930
>>799929
Вот ты и ответил на вопрос
#133 #799935
>>799921
Лично я их попробовал пока в UI Test Xamarin.
Передаю комплексный объект в метод через ImmutableDictionary.

1) В языке появляется скриптова динамичность.
Для объявления структур данных тебе не нужно создавать новые class/structure.

Правда для этого уже есть dynamic (хоть он и mutable) + C# 7.0 вроде завезут "tutpe" и "записи"
https://habrahabr.ru/post/280978/

2) Независимо от сложности объекта ты знаешь что никто его не может поменять.
Ты можешь сохранить этот объект на любое время не боясь его изменения/необходимости синхронизации.

Вот read-only списки точно пригодятся.
#134 #799985
Поясните как начать использовать C# 6.0? Что для этого нужно, VS2015 и выше?
>>799989
#135 #799989
>>799985
Да или VisualStudioCode, там и IntelliSense есть и отладка.
#136 #799990
А чо, есть смысл покупать на торрентах энтерпрайр версию VS 2015, или рядовому еблану хватит и community версии? Имею ввиду, сильно ли урезана community edition?
>>799992>>799995
#137 #799992
>>799990
Погугли отличия
>>799994
#138 #799994
>>799992
Гуглил, не нашёл ничего особо важного для себя на тостерах/мсднах/собсно майковском сайте, где указаны отличия версий но тут ведь возможно, что либо я пока что просто не пользовался функционалом, недоступным в комьюнити и доступным в других версиях, и когда узнаю, придётся перекачивать и всё такое, либо есть ещё какие то камни в испольовании комьюнити версии. И кстати, если купить на торрентах профессиональную/энтерпрайз и подкинуть ей легитимный ключ, обновления ведь всё равно будут приходить, или ребята в майкрософт чухнут, что я пиздюк и зобанят мне VS?
>>800009
#139 #799995
>>799990
Меня напрягло больше всего:
1) Отсутствие CodeLens (хорошо когда сразу видно кто ссылается на метод/класс)
2) Отсутствие возможность построить карту классов и их зависимостей.
Решил значит рефакторингом заняться, а не понятно как найти наиболее связанные классы.

P.S.
Есть конечно отдельные плагины, но они тоже платные.
>>802820
#140 #800009
>>799994

>или ребята в майкрософт чухнут


У меня с самого начала стоит, почти год - полет нормальный.
#141 #800027
>>796165 (OP)

>2016


Просто хуею с тех кто что читает про WPF! Вы совсем ебанутые? Вы еще про сильверлайт почитайте или вебформс. Учите блять.Net Core и JS/TS, а лучше английский выучите уже наконец, пиздец нахуй
>>800032>>800054
#142 #800032
>>800027
А UI быстрый на чем делать?
В текущем состояние JS может предоставить только нагромождение <div> + CSS

Вот когда, запилят нормальные WebComponent, тогда и приходи.
#143 #800054
>>800027
Джаваскриптоблядь выползла из своего шконаря, а ну полезай обратно и говно свое забери.
70 Кб, 600x548
#144 #800056
Какие задачи перед джуном ставят в работе?
В десктопе и вебе например.
Поясните плз.
>>800086>>800087
#145 #800086
>>800056
Обычно баги фиксить несколько месяцев и вкатываться в проект.
#146 #800087
>>800056
Раздвигать булки по первому требованию тимлида и команды.

Первое время будешь весь день фикситьмелкие баги.
Это будет обязательно в каком нибудь интерпрайзном говне, в котором тебе никто не поможет,
тк его авторы уже умерли от старости/малярии в Индии.
#147 #800152
Поясните за F#. Как же меня заебал этот ООП.
>>800158>>800182
#148 #800158
>>800152
Попробуй лучше Clojure, он вроде и по .NET есть,
а если что потом сможешь перескочить на Java или JS (ClojuseScript)
>>800168
#149 #800168
>>800158
Неплохо, но хотелось бы все же про F# услышать. Стоит он того, чтобы в него вкатываться?
>>800179
#150 #800179
>>800168
F# это OCaml и по синтаксису ближе к Haskel, а это значит конструкции типа:
[1; 2; 5]
|> List.map ((+) 1)
|> List.filter (fun x -> x % 2 = 0)
|> List.sum // 8
Зато хорошая поддержка .NET (и только его)

Clojure это лисп:
(defn hello [x] (println "Hello" x))
(hello "World")
#151 #800182
>>800152
Если хочешь вкатится в мл-подобную хуиту без задач и проектов, за которую неплатят от слова совсем – дерзай.
>>800187
#152 #800187
>>800182
На платят похуй, для кода под личные нужды надо, сишарп уже просто в одном месте. Вроде годный дотнет, студия и комьюнити, но от ООПа во всех щелях хочется вешаться.
>>800195
#153 #800188
>>799909
Репорчу результаты. У них занюханная конторка, работают они на апворке, штат-25 тел, к концу года планируют до 40 расширяться, как мне сказала эйчэрка. Находятся в здании какого-то то ли еще работающего, то ли уже нет горного института. Вопросы на собеседовании-хуйня полная, в плане сложности. Первый месяц они не оплачивают, потом при полной загрузке-20к. Екатеринбург. Полное говно кароч, послал их в жопу.
#154 #800195
>>800187

> ООПа во всех щелях хочется вешаться


В чем проблема?
1) First-class function - есть (Func<T>, Action<T> и тд)
2) Immutable структуры данных (списки, словари) - есть, а в C# 7.0 еще больше будет
3) Pattern maching - будет в 7.0

Пиши в функциональном стили, сколько влезет.
>>800213
#155 #800213
>>800195
Значит я просто ебанутый. Почему-то не получается, через месяц-два уже не могу распарсить своё скорописное функциональное дерьмо и проще написать с нуля, чем рефакторить в нормальный ООП.
142 Кб, 1281x1029
96 Кб, 1291x1032
142 Кб, 1279x1023
#156 #800252
>>796165 (OP)
Гайз, хелпайте. Не могу понять, как дебажить консольное приложение в VS CODE? Как && что настроить? пикирелейтед

И алсо ещё вопрос: у меня цветовая тема для VS CODE одна: называется chelevra. Как бы мне её запихнуть в Visual Studio? Там разные форматы, а в маркете такой цветовой темы нет.
>>800277
76 Кб, 821x712
#157 #800277
>>800252

> как дебажить консольное приложение в VS CODE


Эту зеленую кнопку нажать не пробовал?
И поменяй язык интерфейса на английский уже.
Тебе самому не противно пользоваться такой локализацией?
28 Кб, 1270x152
#158 #800281
30 Кб, 1209x128
#159 #800284
>>800277
Это таск надо прописать?
>>800616
151 Кб, 1319x701
#160 #800303
Сап, дотнетач.
Мне нужно из C# кода включить на удаленной машине групповую политику(пикрелейтед). У меня есть возможность запустить на удаленной машине PowerShell скрипт или просто выполнять отдельные команды в cmd.exe.

С помощью ProcMon мне удалось выяснить что после включения политики через ГУЙ в реестре создаются такие ключи:
HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{какой-то страшный GUID}Machine\Software\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon\SyncForegroundPolicy

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon\SyncForegroundPolicy

Судя по гуглу, просто взять и без задней мысли изменить свойство политики специальным командлетом нельзя т.к. такого командлета нет. Как мне совладать с групповой политикой? (про возможность создать ключи в реестре я знаю, но не понимаю откуда берется GUID)
#161 #800375
Стоит ваш сисярп учить первым языком?
>>800451>>800462
#162 #800451
>>800375
Смотря для чего тебе язык.
#163 #800454
C# ONE OVE ❤
#164 #800462
>>800375
Да. Сишарп это дельфи третьего тысячелетия.
#165 #800498
wintellectnow годнота или говно?
>>800505
#166 #800505
>>800498
да, зимаскоро.
55 Кб, 772x451
#167 #800616
>>800284
У меня эти файлы (launch.json и tasks.json) VSC создала при первом открытие проекта.
>>800641
#168 #800630
>>800188

>Знаю почти ноль


>послал их в жопу


Хм.
>>801108
#169 #800641
>>800616
И нормально компилятся консольные приложения? Давно обновлял VS Code?
До сих пор пытаюсь, чтобы дебажило. Ничего не получается. Мб версия баганая. Сегодня обновил. А раньше не чекал.
>>800669
#170 #800646
Почему RiderRS ни в какую не хочет корректно выводить кириллицу при билде, как пофиксить?
20 Кб, 320x258
19 Кб, 353x186
84 Кб, 890x762
#171 #800669
>>800641
Вроде сама последняя (macOS)
>>800671
#172 #800671
>>800669

> launch.json


Покажи launch.json, пожалуйста.
>>800675
#173 #800675
>>800671
Уже показывал >>800277
>>800678
#174 #800678
>>800675
А что в "programm" прописывать?
>>800686>>800688
68 Кб, 824x502
#175 #800686
>>800678
test-core-clr это название проекта.
Я ничего не прописывал, эти файлы (*.json) создались автоматически.
>>800812>>800924
#176 #800688
>>800678
P.S.
Ты сам .NET обновлял до preview2 ?
https://www.microsoft.com/net/core#windows
>>800691
#177 #800691
>>800688
Угу. Уже обновил сегодня.
#178 #800812
>>800686
Ладно, спасибо за помощь.
Собираюсь использовать его тогда только как редактор кода, дебагать буду же, наверное, на Visual Stduio. Больно уж красивый этот VS Code.
#179 #800924
>>800686
постой, а как ты проект создавал?
>>801004
#180 #801004
>>800924
1) Создал новую папку
2) Отрыл в ней терминал (консольку)
3) Ввел
dotnet new
#181 #801033
Скоро буду обучать одного парня C# с нуля. Потом он хочет перейти на Unity. Он гуманитарий, английский знает.
Как я планирую его обучать C#:
скажу чтобы самостоятельно дома читал C# Players Guide, делал задачки оттуда, я прихожу к нему раз-два в неделю и мы разбираем, что у него не получилось, что не понятно. Что бы вы добавили или сделали по другому? Какие программы можно попробовать написать для закрепления материала (после прохождения книги или во время)?
sage #182 #801045
>>801033

>одного парня


Моя ванга прорицает, что тот парень - это девушка.

>сделали по другому


Лучше конфу сделай и сиди в ней по вечерам. Мотивация писать программы и сразу их показывать/обсуждать будет выше из-за быстрого отзыва. Идти домой лишнее, единственное исключение, если посиделки закончатся годным трахом.
>>801049
#183 #801048
>>801033
сколько берёшь с него?
>>801050
#184 #801049
>>801045
Лол, я репетитор, а он мой первый ученик.
>>801061
#185 #801050
>>801048
600 за 90 минут
>>801053
#186 #801053
>>801050
мухосранск или миллионник?
#187 #801059
У вас что, НЕТУ МНОЖЕСТВЕННОГО НАСЛЕДОВАНИЯ? Думал параллельно учить сисярп, но лучше возьмусь за свифт, лол. Ебаный стыд, нахуй. ООП язык без множественных наследований, блять.
#188 #801061
>>801049
Тогда все тлен.
Ходи, отбывай часы, бери баблосы, а там хоть книжку по шарпу ему вслух зачитывай - похуй.
>>801072
#189 #801064
>>801059
А зачем тебе множественное наследование? Просто чтобы было?
Интерфейсы/композиция намного удобнее.
#190 #801065
>>801059
Ю каннот инту интерфейс?
#191 #801072
>>801061
Мне не похуй, поэтому я и написал сюда.
>>801077
#192 #801077
>>801072
А ты уверен, что сисярп подходит для обучения с нуля? Язык обладает спецификой - ООП. Не лучше начать со скриптопараш/Scheme?
>>801238
#193 #801088
>>801059

> НАСЛЕДОВАНИЯ


Робер Мартин тебя первого обоссыт
#194 #801093
>>801059
Все современные ООП языки делаются без него, та же скала. А в том же свифте оно через протокольный анус сделано.
#195 #801108
>>800630
Тащемта кодить и знать теорию - разные вещи. Я, если честно, не смогу дать определение классу, с трудом на пальцах ещё что-то объясню, если надо, но это не мешает мне уметь в ООП.
>>801136>>801137
#196 #801115
>>801059
Вообще весь ООП пора на помойку. Наоборот хорошо, что его кастрируют.
>>801140
#197 #801135
Подскажите что за хуйня. Когда я отлаживаю UWP приложение у меня брейкпоинты уходят на начало функции. Как это исправить?
>>801141
#198 #801136
>>801108
убирай брейкпоинты, дебажь как пацан - через Console.WriteLine();
#199 #801137
>>801108
Плюсую, кстати. Я сам методами проб, ошибок, изучения чужого кода научился кодить. Вот ты сказал про класс и я понял, что не смогу объяснить - что это такое, зато применяю постоянно же. Вот что за хуйня?
>>801141>>801155
#200 #801140
>>801115
А что ему на замену должно придти?
#201 #801141
>>801135
судя по всему, у тебя pdb файлы не соответствуют текущему исходному коду. удали все в bin/obj, попробуй заново сребилдить солюшн

>>801137

> Вот что за хуйня


отсутствие словарного запаса?
>>801157
#202 #801155
>>801137

> научился кодить


Угу видал я это твое "научился кодить" помноженное на желание менеджера "сделать побыстрее".

Потом либо приходится заново переписывать, пытаясь вносить изменения точечно.
Либо, если понимаешь что это растянется на долго - работу менять.

Вот за это индусов и никто не любит, вчера он коров пас,
сегодня "кодит" без малейшего теор. знаний об архитектуре ПО.
>>801220
#203 #801157
>>801141
Пересоздал весь проект, и ничего. Делаю в юнити.
>>801163
#204 #801163
>>801157
Это потому что ты на какие-нибудь объявления переменных ставишь брейкпоиты.
Это не исполняемый код (на уровне байткода) и VS/Xamrin смещает их к ближайшему возможному месту для брейкпоита (начало функции).
#205 #801220
>>801155
Вот ты злой такой. Обнять бы тебя и вместе так сидеть, чтобы ты не злился, а потом мы бы поцеловались, независимо от твоего пола. Просто хочу посидеть с тобой в обнимку, чтобы ты не злился!
>>801283
#206 #801238
>>801077
ООП можно не использовать, писать программу в одном классе. По поводу питона - зачем его изучать, если все равно потом переходить на C#?
#207 #801283
>>801220
Хм, я же вроде был сама вежливость, даже ни одного ругательного слова не сказал.

Да и по философски к этому отношусь, ибо это уже стало нормой.
#208 #801362
Если Int32 это структура, то почему не может быть null?
>>801372
#209 #801372
>>801362
Пиздуй читать базовые книги.

Любая структура (struct) НЕ может быть null.
>>801375>>801377
#210 #801375
>>801372
Nullable<int> pizdatvoeymamki = null;
pizdatvoeymamki в данном случае разъёбаная структура и при этом null;
>>801388>>801419
#211 #801377
>>801372
Nullable тоже структура
>>801388
#212 #801388
>>801375
>>801377
Тогда почему когда я вызываю HasValue то NullRef не вылетает?
>>801400
#213 #801400
>>801388
А почему должен вылетать NRE? Читай как он работает или вызови GetType, получишь NRE.
>>801425
#214 #801402
>>801353
Подскажет кто по сабжу?
>>801405>>801410
#215 #801405
>>801402
в классе Lib:
public Book this[int index] { get { throw new Exception(); } }
#217 #801416
>>801410
Спасибо!
135 Кб, 1230x417
#218 #801419
>>801375
Полуебок, это синтаксис такой, нет там никакого присваивания null.

Смотри картинку с IL-кодом:
1) Вот как выглядит присваивание null (ldnull и starg.s X)
2) Здесь происходит сброс полей структуры Nullable<T>
https://msdn.microsoft.com/en-us/library/system.reflection.emit.opcodes.initobj(v=vs.110).aspx
>>801422
#219 #801422
>>801419
ХУЯ ПИЧОТ

int? n = null;
n.GetType();
>>801424
#220 #801424
>>801422
int? n = null;
n.GetHashCode();

и нихуя
>>801430
#221 #801425
>>801400
Ну так если проперти на нуле вызывать, то нулреф должен вылетать. ToString вызови и не получишь.
#222 #801430
>>801424
при геттайп() происходит боксирование жы
а хэшкод виртуальная функция, к тому же, для значимых типов там вообще по дефолту идет рефлексия по полям/пропертям, кроче, для выброса НРЕ нужно постараться
>>801485
20 Кб, 397x219
#223 #801485
>>801430
Подытожим:
1) Nullable как и любая структура не может хранить null, но имеет свои правила боксинга.
2) Nullable имеет особые правила боксинга: Runtime боксит не саму структуру, а ее Value.
При этом он проверяет HasValue и если HasValue равно false, то возвращает null.
https://msdn.microsoft.com/en-us/library/b3h38hb0(v=vs.110).aspx (раздел Boxing and Unboxing)
3) Метод GetType() не переопределен в Nullable<T>, по этому он вызывается у базового класса object в (C# все наследуется от object).
Для этого Runtime приходится делать боксинг, а как мы знаем (2) там свои правила и возвращается null, это и вызвает NRE.

Закрепляющий пример на картинке:
ToString() на int? не вызовет ошибки, но после боксинга к object, уже вызывает NRE
#224 #801499
>>799305

>Зачем осваивать мертвые технологии?



Несколько месяцев искал работу, взяли только по вакнасии на винформс.
Так сложилось, что на древние технологии берут всех, желающих мало.
>>801743
#225 #801530
>>799305
на одном из собесов меня завернули потому што я не знаю аспформы, кек. молодая динамично развивающаяся фирма
>>801743
#226 #801534
Как обработчику клика мыши передать определенную строку? Да, я знаю что можно воспользоваться наследником EventArgs, но проблема в том, что я не вызываю это событие гдето в коде явным образом, так как же передать по клику мыши строку в обработчик?
#227 #801594
Господа, кто пишет под Core, подскажите - как заставить Serilog писать TState в логи (синк - RollingFile)? В консоли это всё отображается, а в файл писаться не хочет. По идее, TState должен автоматически добавляться к записи лога, по крайней мере так получается по исходникам Serilog.
Может нужно как-то изменить outputFormat?
#228 #801602
>>801033
Ему нужен не C#, а что-нибудь по проще. Предложы Visual Basic.
А то скоро каждый гуммнонитарий будет знать C#.
>>801625
#229 #801625
>>801602

>А то скоро каждый гуммнонитарий будет знать C#.


Язык очень простой. При желании можно и макаку писать на нём научить.
#230 #801669
Как в вижуал студии 2015 панель с открытыми окнами переместить с топа в боковую сторону? Заебали 100500 файлов\
>>801683
11 Кб, 172x296
#231 #801683
#232 #801743
>>801499
>>801530
Легаси.
Если вы не в ебаный стартап к хипстерам-вейперам идете, то этого не избежать.
#233 #801756
Шарпаны, я поставил себе VS2015 и она теперь предлагает мне заменить конструкции вида

[code lang="c#"]
if (someHandler != null)
{
someHandler();
}
[/code]

на [code lang="c#"]someHandler?.Invoke();[/code]

Но у нас проект на .net 4.5 и многие сидят на vs2013, у них же не будет работать эта хуйня? Или я чего-то не понимаю?
>>801765>>801817
#234 #801765
>>801756
Так а ты им скажи что теперь весь код зохвачен новым компилятором и пускай перекатываются, 2015 студия вышла хуй знает когда уже.
5 Кб, 225x225
#235 #801814
Антош,
Как установить sharpdevelop на usb? Есть пека на которой у меня нет админских прав, но нужно на нем кодить.
>>801846>>802822
#236 #801817
>>801756
эта фича из C# 6.
Оный почти весь поддерживается на .NET 4.0 и 4.5
пруф: https://stackoverflow.com/questions/28921701/does-c-sharp-6-0-work-for-net-4-0

Однако на студии 2013 прикручивание шарпа 6 связано с гемором
https://stackoverflow.com/questions/27093908/how-to-enable-c-sharp-6-0-feature-in-visual-studio-2013

Так что можно юзать только если все товарищи перейдут на 2015
>>802312
#237 #801846
>>801814
А зачем он тебе, если есть рабочая VisualStudioCode?
>>802136>>802538
#238 #802134
Чем в WPF отличаются друг между другом User control и Custom control? Что лучше использовать для кастомного datagrid'a?
inb4 google.ru/... stackoverflow.com/... и прочие не надо позязя, я сам параллельно гуглю, просто вдруг какой нибудь анон сам может объяснить
11 Кб, 214x229
#239 #802136
>>801846
Любви и добра!
#240 #802312
>>801817
спасибо
93 Кб, 513x398
#241 #802538
>>801846
Затем, что в нем отсутствует пикрил. Ты спрашивай если тебе что-то не понятно, а то будешь до смерти спермохлебом.
>>802563
#242 #802539
Программач,
Как записать 2D массив в CSV файл? Именно так, чтобы строки стали строками, а ряды - рядами.
>>802545>>802561
#243 #802545
>>802539
Сериализовать?
>>802844
#244 #802561
>>802539
Напиши простенькую функцию в два цикла for.
#245 #802563
>>802538
Ты с выбором языка/треда кажись ошибся.

Прошу вас пройти в тред для прыщеблядков >>780630 (OP) и фапочку из фольги одеть не забудь.
>>802822>>803093
53 Кб, 649x433
#246 #802817
Сап двощ мур мур мур мур.
Расклад такой.
Есть у меня 2 тачки:
1 - билд сервак с бамбу на моей стороне.
2 - виртуалка с iis на другой стороне океана. НА компе - Win 8 Enterprise

Задача ебануть автодеплой с бамбу туды.

Web deploy не работае т.к. windows 8 (не сервер) - http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later

Какие есть ещё варики котаны?
Можно конечно с билд сервака ложить зипку на удаленный, а там какой-то скрипт раз в 2 минуты чекает и распаковывает папку в нужное место.
Но не хочется эту елду делать с нуля.

Есть ли какие-то готовые решения?
#247 #802820
>>799995
Codelense уже в community есть
#248 #802822
>>802563
То есть это нормально, да?

Алсо, эксперты так и не ответили на мой вопрос >>801814
VisualStudioCode точно так же не могу установить на флешку. Это вообще возможно?
>>802823
#249 #802823
>>802822
https://github.com/garethflowers/vscode-portable
смотрел?
2 секи в гугле
>>802827>>803114
#250 #802827
>>802823
Сорян, проебал. Сейчас попробую.
Спасибо.
#251 #802838
>>801059
Множественное наследование нарушает философию ООП. Интерфейсы - чистый, элегантный и совершенно неизбежный способ.
>>803075
#252 #802842
>>802839
что за говно? куда писать?
#253 #802843
Под мак и линукс можно писать на С#?
>>802846
#254 #802844
>>802545
ШТА?
Я - ньюфаг.
#255 #802846
>>802847
45 Кб, 1138x577
#257 #802977
Подскажите где в VS можно настроить подсветку синтаксиса C#?
Гугл вроде посылает в Options->Environment->Fonts and Colors
Но там ничего не нахожу, в Text Editor только вижу настройки к C++ которые никак не влияют на C#.
#258 #803075
>>802838
Любое наследование нарушает философию ООП, спроси Алана Кея.
#259 #803076
>>802847
Ещё есть Mono.
#260 #803093
>>802563
Ну разве не пиздец?
29 Кб, 489x184
#261 #803114
>>802823
Отлично посоветовал, уже все работает блядь.
Что за хуита, анон?
>>803141
#262 #803141
>>803114
хуй знает. я ж не чекал.
Но вот что нашёл. https://github.com/garethflowers/vscode-portable/issues/6
снова 2 секи
#263 #803273
>>800188
Случайно не SharpDevelopers контора? Хотя весной у них прайс пожирнее был
#264 #803331
>>800188

>Первый месяц они не оплачивают


Неужели такое ещё бывает, лол.
#265 #803351
Если кто встречал, дайте линк на код задания "частотный словарь" плз.
>>803435
#266 #803435
>>803351
Не актуально.
Другой вопрос.
Есть код
string[] words = text.Split(new char[] { ' ', '!', '.', ',', '\n' }, StringSplitOptions.RemoveEmptyEntries);
var result = words.GroupBy(x => x)
.Where(x => x.Count() > 0)
.Select(x => new { Word = x.Key, Frequency = x.Count() });

var sortedres = result.OrderByDescending(x =>x.Frequency);
foreach (var item in sortedres)
{
Console.WriteLine("Слово: {0}\tКоличество повторов: {1}", item.Word, item.Frequency);
}
Почему не работает '\n'? Надо чтоб учитывался перенос строки.
>>803438
#267 #803438
>>803441
#268 #803440
Анон, как получить доступ к панели ItemsControl в WPF из кода?
>>803470
75 Кб, 928x318
#269 #803441
>>803438
Ругается на количество символов
>>803446>>803449
#270 #803446
>>803441
это строка, а не чар
>>803450
#271 #803449
>>803441
попробуй оттак
string[] z = A.Split(new string[] { ",", "\r\n" },StringSplitOptions.RemoveEmptyEntries);
>>803455
#272 #803450
>>803446
Эм. В си/плюсах знак переноса строки был чаром, т.к. добавлялся в конец строки.
В с# знак переноса строки является строкой? Не понимаю.
>>803455>>803461
#273 #803453
C# такой охуенный, что я не могу на нем писать. Только заглядываю в документацию, как обканчиваю монитор, иду курить, а затем без сил падаю спать.
#274 #803455
>>803449
Работает, спасибо. Почему так: >>803450
можешь ответить вкратце?
>>803460
#275 #803460
>>803455
предполагаю, потому что \r - символ спецвозврата каретки или как там мать её называют, а \n - спецсимвол перехода на новую строку. или наоборот, это лучше всего на мсдне проверить, если важно.
итого, \r и \n - отдельные символы, следовательно, комбинация двух символов - уже строка, ну и видать отдельно символа \r\n не завезли в сисярп.
#276 #803461
>>803450
\rВозврат каретки
\nНовая строка (перевод строки)
По факту, ты можешь сделать '\r','\n'. И он не являетя строкой. Если ты просмотришь некоторые доки на наличие байта \r, то поймешь почему так
>>803466
#277 #803462
>>803460
спецсимвол возврата, самофикс понел да.
#278 #803466
>>803460
>>803461
Спасибо.
#279 #803470
>>803440
дай ей имя.
>>803472
5 Кб, 377x141
#280 #803472
>>803470
Не отзовётся. Она же генерируется
#281 #803487
>>803460

> ну и видать отдельно символа \r\n не завезли в сисярп.


Environment.NewLine
#282 #803495
Как правильно сюда дать ссылку на массив mas ?
public void randmas()
{
Random r = new Random();
for (int i = 0; i < mas.Length; i++)
{
mas = r.Next(100);
}
}
>>803498
#283 #803498
>>803495
в смысле "сюда"? в метод? в сигнатуре в качестве параметра указываешь массив в качестве параметра:
public void randmas(int [] mas)
{
}
>>803500>>803503
13 Кб, 390x147
#284 #803500
>>803502
#285 #803502
>>803500
Я дебил, не туда копипастнул.
#286 #803503
>>803498
спасибо.
#287 #803507
Сисярпаны, возник вопрос.
Нахуячил я некоторое количество контролов на формочку, все унаследованы от UserControl. И вот теперь в них во всех есть пара одинаковых совершенно флагов.

Выглядит это как то так
public partial class MyControl : UserControl
{
public bool isNew = false;
public bool isFirst = true;
public MyControl()
{
InitializeComponent();
}
}

Соответственно ечсть еще MyControl2, MyControl3, MyControl[n] и так далее.
Прорблема в том, что мне сейчас надо все их обходить в цикле и проверять эти самые переменные. Но сделать это по человечекски не выходит, т.к. все они разные и надо каждому типу делать свой цикл и хуярить в него только контролы конкретного типа.
Можно это как нибудь обойти?
>>803514>>803523
#288 #803514
>>803507
Интерфейс. Или класс MyUserControl и от него уже все остальные.
52 Кб, 1327x930
#289 #803523
>>803507
Берешь троелсена и ебошишь тему наследование
Запили им интерфейс или абстрактный класс с определением тех булов. Затем наследуй от него и еби свои говноформы как хочешь. Вместо Object'а должен быть UserControl или любой другой базовый класс. Можно через интерфейс.
#290 #803525
Ситуация следующая: есть WPF окно с DataGrid по ценру. В датагриде отображается контент, загружаемый с сервера. Окно можно ресайзить (вслед за ним ресайзится и датагрид). Проблема такая: когда датагрид видит, что с его текущей высотой не вмещается весь контент, он ресайзит себя либо до границ экрана по высоте, либо пока все не поместиться. Мне это нахуй не нужно, мне нужно чтобы отображался скролл в таком случае. Как этого добиться?
>>803526
#291 #803526
>>803525
ScrollViewer
>>803530
#292 #803530
>>803526
Это я пробовал. Same shit.

Выглядит в окне это все так: имеется грид с тремя строками. У первой и третьей фиксированая высота. У второй стоит minHeight. В эту строку и засунут датагрид.
>>803548
#293 #803548
>>803530
дай пример и mock объект
>>805510
#294 #803700
>>796165 (OP)
бот для телеграма стрим c# задавате ответы
https://www.youtube.com/watch?v=x4m8C3veHic
>>803712
#295 #803712
>>803700
Хуи сосёшь? Бан желаешь?
50 Кб, 499x572
#296 #803770
Чего оно ругается?
>>803779
#297 #803779
>>803770
Пиздец, возвращайся обратно в c/c++ тред
>>803781
#298 #803781
>>803779
Не был там с прошлого года, сорре.
По сабжу подскажешь чего?
>>803782
#299 #803782
>>803781
Методы мин и макс должны возвращать тру или фолс в данной ситуации, а не циферки.
>>803784
#300 #803784
>>803782
Но если я поменяю на булево, то оно все равно ругаться будет, я уже пробовал.
Ошибка где-то еще мб?
>>803785>>803787
66 Кб, 702x583
#301 #803785
>>803790
#302 #803787
>>803784
Как ты его меняешь? И какой тип возвращает smax? В любом случае, ты не ответишь на вопросы и поэтому я отвечаю заранее Convert.ToBoolean(smax(...)); или smax(...)>0
>>803789
73 Кб, 1090x598
#303 #803789
>>803787

>Как ты его меняешь?


Пишу в методе его тип - bool.

>И какой тип возвращает smax?


Никакой, это делегат для sortmax

UPD я забыл менять тип делегату. Все заработало, спасибо.
Ты тут еще долго, у меня еще пара тупых задачек есть?
>>803818
#304 #803790
>>803785
У тебя делегат все ещё инт, по идее.
>>803793
#305 #803793
>>803790
да-да, все так и было.
231 Кб, 1633x641
8 Кб, 296x101
#306 #803803
Вот еще, тут тоже не пойму в чем дело. С this перемудрил где-то?
>>803821>>803823
#307 #803818
>>803789

>Пишу в методе тип


Распаковываешь аля (bool)smax(...);? Эквивалент, но я хз, что у тебя пошло не так.

>никакой


Так то делегаты могут возвращать типы. Он служит контейнером для неизвестной заранее функции. Например, нажатие по кнопке. Хуй знает, что надо делать, при её нажатии. Поэтому ты говоришь делегату (пиздабол я - событию, который своего рода делегат), что тебе надо исполнить это. P.S. Изучай логику обратных вызовов в любой из областей. Хоть в схемотехнике. Работает также.

>Еще пара тупых задачек


Задавай, но если будут огромные пробелы по синтаксису. Пошлю штрубить Троелсена
>>803821
#308 #803821
>>803818
вон выше
>>803803
#309 #803823
>>803803
Сука (горит уже), ты хотя бы кидал определения класса Book, который насилуешь. И да, не еби мозг сеттером

1. Не используй второй пикрилейтед, если не требуется проверка выставляемых данных. Ты можешь реализовать точно такую же конструкцию за счет автоматического свойства
public string Author {get;set;}
В такой конструкции и приватная переменная не нужна, потому что ты ничего не делаешь, по сути. В Java тебя бы заставили писать функции GetAuthor и SetAuthor, что в C# скрыто за словами get; set;

2. Приватные переменные начинаются с маленькой, а публичные с большой. Поэтому
private string author = string.Empty;
public string Author {get;set;}

3. String - ссылочный тип и поэтоу private string Author у тебя по умолчанию null. А присвоить ему значение нельзя, потому что ты не выделил память под него, поэтому либо ты используешь автоматическое свойство или пишешь
private string author = string.Empty;

А еще, давай я помогу за денежку написать это говно, которое требует от тебя ВУЗик. Потому что чем дальше, тем больше вопросов у тебя будет. Скайп: live:sparin285
>>803825>>803828
#310 #803825
>>803823
Хотя я долбоеб и ошибся. Это когда ты получаешь объект, да и по умолчанию он хз чем должен быть. В любом случае, а какому типу равен Author?
>>803830
#311 #803828
>>803823

>Сука (горит уже), ты хотя бы кидал определения класса Book, который насилуешь


Закинуть весь код? Окей
http://ideone.com/kYa4Qm

>не еби мозг сеттером


Это что?

>А еще, давай я помогу за денежку написать это говно, которое требует от тебя ВУЗик


Заманчивое предложение, но увы. Да и толку от такой учебы, так я хотя бы строки кода до кучи собираю, а так вообще ничего не запомню.
>>803831>>803836
#312 #803830
>>803825

>какому типу равен Author?


стринг
#313 #803831
#314 #803835
Карач, я думаю, что всё проще, чем я думал.
Ты объявил массив ссылочного типа. По умолчанию, ссылочный тип равен null. Прежде чем начать с ним работать, тебе необходимо выделить под него место, банально применив стандартный конструктор
for(int i =0; i<10; i++)
arrLib = new Book();

По факту, дописав в класс Lib
public Lib()
{
for(int i =0; i<10; i++)
arrLib = new Book();
}

И вообще, если хочешь понимать, что ты делаешь, то начни с Троелсена, имхо это уже базис идёт, за что здесь могут послать нахуй.
>>803840
#315 #803836
>>803828
Пару косяков нашел - забыл конструктор по умолчанию и при получении индекса массива надо отнимать еденицу, а не прибавлять.
Дописал конструктор, однако проблема та же самая, говорит нет экземпляра обьекта.
public Book()
{
Autor ="";
Name="";
Publish="";
Printing=0;
Price=0;
}
>>803839
#316 #803839
>>803836
Парень, прошу. Прочитай Троелсена. Первые 10 глав. Тебе хватит. Остановись.
#317 #803840
>>803835
Да работает, спасибо.
За рекомендацию почитать тоже спасибо, месяц пропустил - хз что вообще пишу (
#318 #803867
Анон, срочный вопрос про WPF
Есть стул с игрой, в которой используется отрисовка через Geometry и анимация по пути, который опять же Geometry.
Что использовать, если без анимации не как? Visual, в котором непонятно как реализовывать анимацию, но производительный аки хуй? Или Shapes.Path, который поддерживает всё необходимое с избытком, из-за чего менее производительный?
Ожидаемое количество объектов до 1000, из них половина анимированы. Хотя можно разделить на 500 Visual и 500 Shape, но это частичное извращение.

Киньте примеры анимации с использованием Visual, если не сложно.
#319 #804007
Есть короче одно WPF приложение, в котором нужно сделать поиск по столбцам. Пытался было переделать стиль DataGridHeaderStyle, НО! в нём 2 обязательных именованных части - ректанглы, и чому то вставленный в грид текстбокс не отображается хоть убей. Делать КастомКонтрол тоже не получается, потому что не могу унаследовать класс кастом контрола от класса DataGridHeader, потому что его просто нет или я не нашёл. Поэтому, на данный момент мне в голову пришёл следующий вариант: сделать юзерконтрол, в котором вверху будет ряд текстбоксов в стекпанеле, а под стекпанелью датагрид, ну и собсна, сделать так, чтобы ширина текстбоксов совпадала с шириной столбцов DataGrid. НО! этот вариант мне кажется уберуёбищным, как тебе кажется, программач, имеет ли место такая реализация, или так пишут только мудаки и нужно ебать до смерти header'ы у самого DataGrid'a?
>>804174
#320 #804073
Обмазываюсь решарпером. Были у меня места, где я через linq проверял наличие определенного объекта в коллекции через Any

if (!collection.Any(x => x.id == id))
И вот вдруг решарпер предложил мне поменять это условие на
if (collection.All(x => x.id != id))

И я не могу уловить суть этой оптимизации. Чем это лучше, на вид все одинаково.
#321 #804096
>>804073
оператор примененный к аргументу лучше.
>>804100
#322 #804097
>>804073
Считается что отрицание в if уменьшают читаемость кода.
>>804103
#323 #804100
>>804096
Чем лучше?

Есть массив 1, 2, 3
Any(x == 2)
Дойдет по 2 и вернет true

All(x != 2)
Дойдет до 2 и вернет false

Число шагов одинаковое. Что не так?
>>804105
#324 #804103
>>804097
Так это оптимизация кода или оптимизация стиля его написания?
>>804112
#325 #804105
>>804100
ну у тебя в условие if функция не должна принимать значение, т.е. тело самой функции че там произойдет не учитывается, а в примере решарпера принимается аргумент, т.е. учитывается то, что происходит в теле.
я убитый, как то так.
#326 #804112
>>804103
стиля
>>804114
#327 #804114
>>804112
логики же! какой нахуй стиля!?!?
>>804121
#328 #804121
>>804114

> какой нахуй стиля!?!?


> Так это оптимизация кода или оптимизация стиля его написания?


Ну вот хули ты к словам препираешься, кроме тебя все все поняли и так.
Я же выше написал:

> Считается что отрицание в if уменьшают читаемость кода.

>>804142
#329 #804124
>>804073
На 3 символа короче, привыкай ценить лаконизм.
#330 #804142
>>804121

> кроме тебя все все поняли и так.


А это уже и не я, это какой то посторонний анон.

А у меня еще вопрос. Решарпер люто настаивает херачить половине методов модификатор private. Тут я как бы понимаю зачем ему это. Но стало интересно, отражается это как то на производительности или это просто секурность?
>>804153>>804172
173 Кб, 1213x945
#331 #804148
Поясните нубу за код. Он ищет файлы в указанной директории. Нашел в интернете, использовал, работает.
Но я не очень понимаю, что такое IEnumerable, как работает и что с ним дальше делать. Прочитал, что это интерфейс.
Я так понимаю на скрине функция. Я создал переменную типа IEnumerable и присвоил ей значение SafeEnumerateFiles(<мои аргументы>).
Потом использовал foreach, чтобы достать все найденные значения. Все правильно сделал?
Почему здесь нельзя было использовать массив или коллекцию, а нужен интерфейс и что это вообще такое?
#332 #804153
>>804142
Да фиг его знаешь.
Если есть возможность, то из public/private надо выбирать конечно private, что бы API/контракт класса был почище.

В C# если нет модификатора, то метод/поле считаются приватными, но при этом есть два подхода:
1. Resharper и Rider IDE (которая сделана на IDEA+Resharper) хочет явно это проставлять.
2. В XamarinStudio наоборот редактор подсказывает что "private" писать явно не обязательно и их можно удалить.
#333 #804159
>>804148
Чувак читай книжки из шапки или иди в прикрепленный-тред.

Должно быть стыдно, приходить в тред языка с такими вопросами.
#334 #804160
>>804148
даже не знаю, куда тебя первее послать читать
#335 #804163
>>804148

> Почему здесь нельзя было использовать массив или коллекцию


А кто сказал, что нельзя? Просто делаешь возвращаемому значению ToList или ToArray
#336 #804172
>>804142

>отражается это как то на производительности


Буду удивлён, если как-то отражается.
>>804177
#337 #804174
>>804007
Нашёл, короче, как текстбокс отобразить. Panel.ZIndex поставить больше нужно было.
#338 #804177
>>804172
На 32 разрядных системах теоретически может оторажаться. Для публичных типов обычно генерируются более длинные ссылки. На 64 разрядной скорее всего даже в этом нет разницы.
#339 #804282
Что быстрее работает C# или Java?
Есть ли сравнения каким-то бенчмарком?
>>804345
1 Кб, 225x225
#340 #804316
Господа, может кто знает где бесплатно и без смс скачать курс ITVDN на С#, видел первые ролики, оч годно объясняет.
Буду очень признателен.
>>804318>>804341
#341 #804318
>>804316
на nnmclub в своё время скачал
>>804322>>804344
#342 #804322
>>804318
А их чтоли потерли?
>>804329>>804344
84 Кб, 1029x539
#343 #804329
>>804322
хуй его знает, иди да проверь
#344 #804341
>>804316
Вопрос снят, в первый раз гугл подвел, но не тут то было.
#345 #804344
>>804318 >>804322
Нашел на рутрекере аналогичную раздачу, спасибо за участие.
#346 #804345
>>804282
Бенчмарков полно, но к любому из них можно высказать обоснованные претензии.
Вот известный бенчмарк, если кому-то интересно: http://benchmarksgame.alioth.debian.org/u64q/csharp.html
Достаточно знать, что .NET и Java обладают сопоставимой скоростью, Mono, возможно, немного медленнее.
#347 #804499
>>802817
ролл
#348 #804559
Мужики, можете в след. тредах чето по ASP.core в шапку забросить годное?
>>805631
#349 #804570
Где можно посмотреть код логики годного калькулятора? Пробовал написать сам - говно. Индуский код в гугле - говно. Хочу натырить заготовок граммотных на будущее
>>804694>>804836
#350 #804694
>>804570
MSDN C# Samples
>>804714
#351 #804714
>>804694

> логики годного калькулятора


> MSDN C# Samples


> Индуский код

#352 #804836
>>804570

>Не может написать каклькулятор


>Говорит, что индусский код говно.


Я так и не понял. Ты крутой или тупой?
Чего ожидаешь от калькулятора? Применения паттернов/интерфейсов/дипенеденси инжекшена/просветления аллаха?
это ж блять, калькулятор.
>>805142>>805157
3 Кб, 214x65
#353 #805040
Я что то не понимаю в математике, или знак "^" в си шарпе не возводит в степень, а делает что то другое?
>>805046
sage #354 #805046
>>805040
Пиздуй читать книги это XOR
>>805070
#355 #805070
>>805046
Спасибо, теперь понятно почему такие странные результаты выдает. Можно и повежливей было
>>805101
#356 #805101
>>805070
есть какой-то адекватный способ использовать Route атрибуты на WebAPI, но при этом юзать MessageHandlerPipeline для той или иной группы маршрутов?
>>805721
#357 #805142
>>804836
WPF MVVM CALCULATOR BASED ON REGEX FUNCTIONS AND MOTHER OF ALLAH
Проиграл на всю квартиру

Анон, поясните за кэширование в WPF.
Как применять?
Как работает?
#358 #805157
>>804836

> /дипенеденси инжекшена


Кстати, как протащить энтити контекс через ДИ?
>>805172
#359 #805172
>>805157
у тебя должен быть один контекст для реквеста, если это веб прилага, или сам определяй lifetime.
#360 #805422
Есть один текст, который нужно заменить, причем что там - неизвестно. Сложно объяснить поэтому вот пример:

1. Пользователь выбирает файл
2. Вписывает данные в боксы
Например
Rate.Drop.Item.Poor (по дефолту, не изменяется) = 1 (введенное значение)
Rate.Drop.Item.Normal = 2
Rate.Drop.Item.Uncommon = 3

3. Прога находит текст Rate.Drop.Item.Poor и заменяет цифру ПОСЛЕ этого текста
4. После замены всех цифр напротив каждого текста пользователь сохраняет файл и закрывает прогу.

Проблема в этой самой замене. После текста стоит несколько пробелов, каждый раз разное количество. Нужно как то пропустить эти пробелы со знаком равно и исправить только цифру. Напрямую через text.replace разумеется не получится. Я думаю что это как то решается через regex, но как именно?

Простите за неровный почерк.
>>805518
#361 #805499
Анон, с какой либой/фреймворком можно повозиться для практики, чтобы нескучно было?
>>805518>>805562
#362 #805510
>>803548
Разобрался. Стояло свойство SizeToContent="WidthAndHeight".

Забавно то, что в один момент я оборачивал датагрид в DockPanel и, если руками ресайзил форму, то ее не пидорасило.

2016й на дворе, а у нас все еще нет вменяемого UI фреймворка для десктопов.
#363 #805518
>>805422
можно, если через регексп, применить группы

>>805499
aForge.NET, MathDotNet
>>805590
#364 #805562
>>805499
Unity3d
>>805590
#365 #805590
>>805518 >>805562
Годно, но ни в матешу, ни в 3D не могу.
>>805663
5 Кб, 248x248
#366 #805631
>>804559

>Мужики, можете в след. тредах чето по ASP.core в шапку забросить годное?



Забрось.

Расскажи как вообще вкатиться в ASP.NET
>>805663
#367 #805663
>>805590
Тогда ASP.NET MVC, если хочешь куда-то вкатиться и что-то зарабатывать. А если хочешь кодить в свой досуг "для души", то кто ж тебя знает, что у тебя на душе.
Кстати, в Unity можно делать и 2D игры. И это не единственный игровой движок/фреймворк, использующий шарп, есть еще как минимум Monogame и Xenko, правда, они в сумме не имеют 0,1% популярности Юнити, но зато опенсорсные, швятая швабода же.
>>805631
Берёшь и вкатываешься. Ну реально, это ж самое востребованное направление разработки на C#, если в одну компанию не возьмут - иди в другую, если один туториал не понравится - изучай другой. Выбор большой. Или есть конкретные вопросы?
>>805667
#368 #805667
>>805663
Общие вопросы - я долго крестоблядствовал, но теперь хочу СИСЯРП. Порылся по HH, пришел к выводу что почти везде нужен ASP.NET, часто с MVC. Всё правильно понял? (А где нет ASP - там нужен Xamarin и/или Unity, да?)

Конкретные вопросы:
Сколько времени нужно на вкатывание? (.NET не совсем чужд, баловался иногда, в MSIL код повтыкать если что - не побоюсь)
Можно ли сразу смотреть ASP.NET 5 или он ещё мало где?
Какой туториал посоветуешь?
На какую вилку рассчитывать (ДС2)?
#369 #805669
>>805667

> На какую вилку


Ту, котрой чистят нужники
>>805684
#370 #805678
>>805667

>везде нужен ASP.NET, часто с MVC


Не везде, но самое распространённое. Для новых проектов - только MVC, для легаси - нередко ASP.NET WebForms.

>(А где нет ASP - там нужен Xamarin и/или Unity, да?)


Да. Особенно Unity.
Есть ещё вымирающая ниша десктопных приложений, но полностью она не вымрет никогда.

>Сколько времени нужно на вкатывание? (.NET не совсем чужд, баловался иногда, в MSIL код повтыкать если что - не побоюсь)


Смотря кем. Джуниором так наверное прямо сейчас, судя по тому, как ты себя описываешь, но захочешь ли ты? Вообще я думаю, что с твоим опытом ты можешь хотя бы примерно представлять, что требуется от разработчика (не именно C#, а вообще) и сколько времени нужно, чтобы это изучить. Думаю, в C# примерно также, только порог вхождения ниже.

>в MSIL код повтыкать если что - не побоюсь


Это от среднего кодера и не требуется.

>Можно ли сразу смотреть ASP.NET 5 или он ещё мало где?


Он же вроде переименовал в ASP.NET Core. И да, он мало где, но изучать можно уже сейчас.

>Какой туториал посоветуешь?


Именно по ASP.NET?
>>805684
#371 #805684
>>805678

>Смотря кем. Джуниором так наверное прямо сейчас, судя по тому, как ты себя описываешь, но захочешь ли ты?


А таки что мне еще остаётся? (Это риторический вопрос - выже джуна я прямо вот сразу пока не готов. Но побыть джуном - почему бы и нет?)

>Это от среднего кодера и не требуется.


Часто бывало интересно посмотреть как что работает (в плюсах тоже)

>И да, он мало где, но изучать можно уже сейчас.


Я к тому чтобы не получилось, что я весь такой модный а у всех Говно.Мамонта 3.0 (прости, вообще не в теме пока что)

>Именно по ASP.NET?


Да, по нему и по MVC. Шарп сам по себе я и сам вспомню.

>>805669

> > На какую вилку


>Ту, котрой чистят нужники


Что ты злой такой? Все когда то были джунами, но не задарма же.
>>806372
#372 #805690
О, подкиньте интересную идейку проекта на асп
>>805716
#373 #805716
>>805690
рсс агегатор,
соц сеточка типа инстаграма,
твиттер,
фейсук,
cms своя.

да даже копия двача.

просто берешь то, что тебе нравится и пытаешься повторить.
Хотя бы базу.
#374 #805721
>>805101
БАМП
#375 #805915
на c# есть фриланс или удаленка? Сори за такой тупой вопрос, просто я питоно-пидор, и стало интересно.
>>805947
#376 #805947
>>805915
Конечно есть
>>805948
#377 #805948
>>805947
то есть я вполне реально могу из своей мухосрани работать за еду на этом вашем с#?
>>805950>>806375
#378 #805950
>>805948
Ну если повезет, то да
#379 #805973
Посоны, как быстро и красиво написать такое.

Создать текстовый файл в той же директории, где и исполняемый файл приложения, если файл с таким именем уже существует, то заменить в нем весь текст новым текстом(удалить весь текст и записать по-новому).
>>805987>>806044
#380 #805987
>>805973
Это легко ищется в гуголе
#381 #806043
Не имею корочки ботана технаря, но хочу пойти на работу в сисярп, для начала за еду. Хочу сделать какой нибудь резюме проектик что бы показать что я умею, че бля можно сделать такого что бы не обосраться?
#382 #806044
>>805973
[code]
using (System.IO.StreamReader SR = new StreamReader(new FileStream(directorystring,...,FileMode.Create),Encoding.GetEncoding(1251))
{
while(yourCondition)
\tSR.WriteLine(yourstring);
}
[/code]
>>806634
#383 #806072
Сап, сишарпач, пилю небольшой бложик на asp.net core и тут у меня возник вопрос, есть куча вью-моделей в которых есть одинаковые поля уровня Id, Name и т.д., если я создам 1 абстрактный базовый класс и буду от него наследовать в другие вью-модели, будет ли корректно это работать с седьмым ef'ом? Или забить на наследование и оставить дубликаты как есть? В первом варианте по идее контекст будет держать что - то уровня :
public DbSet<MyBaseAbstractClassViewModel> Model;

во втором появляется куча объявлений уровня
public DbSet<TagViewModel> Tags;
public DbSet<PostViewModel> Post;
>>806078
#384 #806078
>>806072
Ты viewmodel's сохраняешь в базу?
Кто тебя этому научил?
>>806081>>806082
#385 #806081
>>806078
Никто, сижу вот разбираюсь, хочу как пет-проект блог написать, а как надо-то?
#386 #806082
>>806078
Через отдельную дата-модель?
#387 #806372
>>805684
Для джуна, наверное, достаточно знать сам язык C#, общие принципы веб-разработки и изучить ASP.NET MVC.

>Да, по нему и по MVC. Шарп сам по себе я и сам вспомню.


Вот устаревший на 3 года туториал: https://habrahabr.ru/post/175999/. Но даёт хорошее представление о том, как в принципе устроен фреймворк.
>>807055
#388 #806375
>>805948
Да, но это не так просто. 50% заказов для фрилансеров, хоть как-то связанных с программированием, - это сайтики на вордпрессе. Ещё 25 % приходится на другие виды пхп-говна. И 25 % на прочие языки, из них может 3 или 5 % .NET.
#389 #806419
>>805667

>Какой туториал посоветуешь?


Туториалы на все случаи жизни, в т. ч. по ASP.NET, есть на http://www.w3schools.com/ и http://www.tutorialspoint.com
Но они какие-то поверхностные.
#390 #806499
Товарищи, есть вопрос. Хочу сделать клиент для сбора статы по говногейм. Отправляю реквест, получаю в ответ json, библиотекой пытаюсь разобрать json на класс(ибо в инфо библиотеки говорится, что так правильно), однако разобрать возможно только в случае совпадения названия класса, а название класса меняется в зависимости от ника, как реализовывать?
>>806525
#391 #806525
>>806499

>название класса меняется в зависимости от ника


Как это?
>>806534
#392 #806534
>>806525
Ответы json.

{"lol": {
"id": 155767,
"name": "L O L",
"profileIconId": 7,
"revisionDate": 1443795620000,
"summonerLevel": 30
}}

{"rofl": {
"id": 56834539,
"name": "ROFL",
"profileIconId": 784,
"revisionDate": 1469541932000,
"summonerLevel": 30
}}

Запрос на два аккаунта, собсвенно, что бы разобрать по любому нужен класс под json, в котором меняется имя под класс. Может я не с той стороны лезу?
>>806577
#393 #806541
Вопрос исторического характера.

Когда слышишь о предшественниках C#, из которых он заимствовал концепции, обычно слышишь о Java, C++ и Delphi.

С первым случаем всё понятно, со вторым более-менее, а насчёт третьего - что такого специфического (чего нет в Java или C++) создатели C# взяли у Делфи? Насколько я помню, там даже полноценного сборщика мусора нет.
>>806550
#394 #806550
>>806541
Хейлсберга с# взаимствовал.
>>807050
#395 #806577
>>806534
Это Dictionary<string, Yoba>
#396 #806582
Начал учить асинки. Есть метод, который добавляет обьект в контекст.
public async Task AddYoba(Yoba yobik)
{
db.Yobas.Add(yobik);
await db.SaveChangesAsync();
}
Когда я вызываю его дальше в коде
await db.AddYoba(someYoba);
Он крашится сетуя на налл. Без авейта(синхронно) работает нормально. В чем проблем?
>>806584
#397 #806584
>>806582
Проебался в остальном коде (
#398 #806634
>>806044
А не надо делать SR.close()?
>>806641
#399 #806641
>>806634
по выходу из блока оператора using у созданных в скобках оператора потоках/любых других классов, реализующих IDisposable, вызывается .Dispose(), что вроде как включает в себя .Close()
#400 #806669
>>802817
Ребят, хелп плиз.
513 Кб, 640x1136
#401 #806671
Нюфаня в треде. Из программирования освоил только HTML(не смейтесь).
Есть 2 вопроса:
1) По шкале от 1 до 10, на сколько сложен C# для изучения с нуля?
2) Смогу ли я кодить примитивные проги в Unity? Просто я на нём как-то пилил 2D поатыормеры, и мне понравился drag-and-drop интерфейс.
>>806673
#402 #806673
>>806671
Не ссы, 0/10. Я за 2 месяца ОЧЕНЬ ленивого обучения (3-4 часа в неделю) написал пару хеллоуворлдов с использованием БД, парсер для авито на WinForms и раннер на юнити. Десктоп проги делай в VisualStudio, там тот же драгндроп только ещё удобней.
>>806676
#403 #806674
Альзо, есть желающие потестить мой хеллоуворлд нотифер для новых объявлений с авиты? http://rgho.st/7dX7XcDSQ
>>806683
240 Кб, 640x1136
126 Кб, 640x1136
#404 #806676
>>806673
Спасибо. И ещё, у меня МакБук.
Стоит ли мне тогда дрочить Swift? Или лучше сразу учить актуальный язык?
VisualStudio есть на мак?
пикрандом
>>806678>>807030
#405 #806678
>>806676
Смотря зачем ты учишь язык. Есть CODE для мак. А вообще погромированние часто путают со знанием языка, а это совсем разные навыки.
#406 #806683
>>806674
Щас бы в 2016 использовать обменники для сорсов.
>>806687
#407 #806687
>>806683
Так ты у меня спиздишь всё и продашь за лям.
>>806694>>806853
#408 #806694
>>806687
MIT лицензию не забудь, а то ж еще делится придется.
#409 #806708
>>796165 (OP)
Господа, самостоятельно копошусь на первых этапах связок с БД. Возник вопрос, как можно вместо уебищного аксессоподобного датагридвью делать простые таблички для вывода на форму?
>>806788>>806916
#410 #806788
>>806708
на формах это норма. А что с ним не так, бро?
#411 #806853
>>806687

>декомпиляция


>реверс-инженееринг


нет, не слышал
>>806865
#412 #806865
>>806853

>аутофелляция


>инженер-римминг


зато ты, ебать, слышал и спешишь об этом всех оповестить, малолетний ты долбоёб.
>>807052
#413 #806874
Сап. У меня есть приложение автотестов. В тестах мне понадобилось залазить в почту гугловскую чтобы проверять полученное в ходе выполнения теста письмо. Дело в том, что автотест всегда выполняется на пересозданной виртуалке, поэтому каждый раз нужно проходить двухфакторную аутентификацию, а автотест не имеет доступа к этому окну. Есть ли какой-то способ получить доступ к ящику только по креденшелам?
>>806879>>806966
#414 #806876
Как определить существет инстанс локального sql сервера или нет? Известно только имя сервера.
>>806918>>807223
#415 #806879
>>806874
1) зачем там включена двухвакторная авторизация?
2) зачем ты используешь гугл?
>>806882
#416 #806882
>>806879
1. А разве она как-то выключается? Я уже сотни всяких мануалов посмотрел, кругом оно юзается (т.е. окошко с пермисиями нужно кликнуть, перед тем как апи заработает).
2. Ну так вроде самый распространенный почтовик. Что, если не его?
>>806892
#417 #806892
>>806882

>Что, если не его?


1) поставить тестовый сервак с почтой
2) yandex/yahoo/mail.ru/.../милион других почтовиков
3) лично я для тестов юзаю https://www.guerrillamail.com/GuerrillaMailAPI.html
>>806897
#418 #806897
>>806892
Спасибо.
#419 #806916
>>806708
Ado .net
#420 #806918
>>806876

бумп
#421 #806966
>>806874
у гугела раньше были так называемые пароли приложений. т.е. в ящик с браузера зайти было по нему нельзя, ток используя соответствующие ендпоинты. как с этим сейчас - не знаю
#422 #807030
>>806676
Visual Studio нет.
Есть MonoDevelop, Xamarin Studio (по идее, её можно использовать не только для создания Xamarin-приложений, кажется, она форк MonoDevelop или что-то в этом роде) и вскоре будет Rider (я так понимаю, платный).
>>807043
240 Кб, 825x1102
603 Кб, 960x1380
#423 #807034
Нафаня итт.
Нашел я на сайте CyberBionic Systematics(ITVDN) такую хуёвину пик, на которой сказано что если вы захотите вкатываться во фронтэнд, то нужно обязательно пройти первую ветвь .net. Так-ли это? Или она нужна только для бекэнда и тд? Хотя на том же сайте я нашел 2 пик, на котором в предварительных требованиях не указано обязательно знание 1 ветви.
Или я что то не понимаю?
>>807037>>807040
#424 #807037
>>807034
Блять, не туда написал.
#425 #807040
>>807034
не нужно проходить.
264 Кб, 1440x795
#426 #807043
>>807030
Ты забыл про VisualStudio Code.

Он тоже поддерживает рефакторинг и отладку,
при этом жрет (VSC+OmniSharp) чуть больше 100MB оперативы и запускается за секунду.
#427 #807050
>>806550
И всё?
#428 #807052
>>806865
так блин, оно ж работает.
мимо другой кун
#429 #807055
>>806372
Не вздумай читать ето говно
Автор туториала так топорно пишет, что желание отпадает читать дальше на втором уроке.
Лучше унылого хохла с ITVDN послушай.
>>807068
#430 #807068
>>807055
я с этого туториала вообще вскочил в аспнет

и, кстати, сей автор тоже хахел. не знаю, зачем тебе эта информация
>>807071
#431 #807071
>>807068

>сей автор тоже хахел


Ещё и из Тернополя. Каждый день русских младенцев ест.
>>807083
#432 #807079
Анончик,
Раз уж тред про .NET, добавь пожалуйста годных учебников по VB.
Спасибо.
#433 #807083
>>807071
вроде из черкасс, не?
>>807087
#434 #807087
>>807083
Ошибся, Ивано-Франковск (но это примерно то же что и Тернополь). Это если мы об одном и том же авторе говорим, я лично о хабровском туториале по ASP.NET MVC: https://habrahabr.ru/users/chernikov/
#435 #807110
>>807079
Одумайся, не учи vb
>>807124>>807190
#436 #807124
>>807079
>>807110
Вопрос к обоим - а какие могут быть причины учить и причины не учить VB.NET?
>>807190
#437 #807181
Где можно глянуть сей курс
http://metanit.com/videocourses.php
Интресно за шо хотят 55 бачей, статейки вроде годные
#438 #807183
>>807079

> VB


Где-то слышал в этом году фразу с которой ржал весь зал "ВП используют только мазохисты и джавафанатики"
#439 #807190
>>807124
>>807110

Причина простая - нет особого выбора. В последнее время много работаю с excell'ем, в котором искаропки отсутствует нужная мне функциональность. Сам я учусь по "C# players guide", но возможности писать напрямую C#-код там нет.
Искал трансляторы кода, почти все они говно, а те что не говно - все равно надо в коде хорошо разбираться.
Мало того, в этом excell'е используется дремучий VBA, но если уж вступать в это говно, то пусть уж будет .NET.
Вот и все.
>>807201>>807884
#440 #807201
>>807190
с мм офисом из .нет приложений можно работать через InteropServices.MicrosoftOffice.%AppName%
#441 #807223
>>806876

Бамп.
>>807224>>807225
#442 #807224
>>807223
сделать запрос к нему, используя простейший адо.нет
>>807226
#443 #807225
>>807223
Что значит инстанс? Какого объекта?
>>807226
#444 #807226
>>807224

Для этого надо знать логин\пароль к БД, а их пока нет. Нужно определить существование сервера.

>>807225

Это не объект, а экземпляр сервара - терминология SQL.
>>807229>>807251
#445 #807229
>>807226
ну логика как бы подсказывает, что без наличия доступа к серверу, нехрен туда лезть. по крайней мере, именно таким бы образом я бы и выстраивал
>>807232
#446 #807232
>>807229

Обнаружение доступных серверов никто не отменял.
#447 #807251
>>807226
Пингани хост и все тогда.
>>807258
#448 #807254
>>797314
Попробуй в своем AJAX запросе указать что ждешь в ответ JSON ( dataType: "json")
#449 #807258
>>807251

Не пингуется, tcp же не всегда может быть включен? Если имя сервера SRVNAME какой хост прописывать?
>>807264
#450 #807264
>>807258
Если локальная установка то localhost:port.
>>807270
#451 #807270
>>807264

А она гарантированно отработает вне зависимости от настроек файрвола компа? Надо что бы у клиентов на любом компе это сработало.

А если порт будет не дефолтный?
>>807282>>807294
#452 #807282
>>807270
sql студейка то не всегда находит, а ты хочешь. Если фаервол блокирует - ты ничем не подключишься, если порт другой - никто не найдет, можешь только все порты на всех устройствах посканить, а если сервер только локалхост слушает, а если named pipes, а если... Выбери себе только нужные варианты, а не всю вселенную.
>>807287>>807289
#453 #807287
>>807282
И да, плюсую тот совет про скл запрос, если инстанса просто нет - будет одна ошибка, если есть, но логин/пароль не подходят - другая, если подходят - безопасность протекла.
>>807290
#454 #807289
>>807282

Похоже этот подход через пинг геморный и не 100% рабочий. Решил открывать подключение с левым именем, если напишет что логин не подошел это значит по любому сервер уже нашелся.
#455 #807290
>>807287

Угу, похоже то что надо.
Всем спасибо!
#456 #807294
>>807270
Как вариант получать список процессов, искать скуль и по айди в списке активных тцп получать слушаемый порт. А так если установка нестандартная то больше никак.
15 Кб, 818x433
#457 #807453
Посмотрите что за пиздец на MSDN.

https://msdn.microsoft.com/ru-ru/library/cc221403(v=vs.95).aspx

>эти скобки

#458 #807479
В WPF кто нибудь пользовался wpf toolkit от xceed, в частности их DataGridControl из community version? Есть ли возможность такого же кастомайза их DataGrid'a, как и родного от майкрософта? И еще, ни у кого случайно нету ссылки на источник подробного гайда по кастомайзу родного DataGrid в WPF?
>>807652
5 Кб, 245x250
#459 #807482
Привет, /пр.
У меня есть нулевой опыт в программировании, некоторый пассивный доход с продуктов компьютерной графики, кириллистическая мечта и бесконечность свободного времени.
Собственно, есть пару вопросов которые серьёзнее, чем может показаться из-за манеры изложения.

Хочу зделоть свой гениальный онлайн-шутер от первого лица, суть такова: графон на уровне тим-фортесс говна и веток, не высокое требование к железу, чтобы сервера были как в контер-страйках и конченный пользователь мог в джва клика скачать и захостить свой сервер.

После пары статей и видео на ютубе на общею тематику про деланье игор и поверхностные обзоры скриптовых языков, решил изучить Си шарп и Юнити для реализации того, что описал выше. Всё правильно сделал? Какие подводные камни?
>>807505
#460 #807505
>>807482

>Какие подводные камни?


Никаких, миллионы онлаен шутеров и полный стим говна не могут ошибаться. Плыви с миром.
>>807649
#461 #807649
>>807505
Двачую
С учетом того что в стим попадает и покупается всякое говно уровня видеолейтед, без покупателей ты наверняка не останешься.
https://www.youtube.com/watch?v=yA2dSTG-jbw
>>807656
#462 #807652
>>807479
В каком смысле кастомайза? Можно хоть весь template переписать, хуль тебе еще нужно?
22 Кб, 1272x228
118 Кб, 312x312
#463 #807656
>>807649
Ёбаный двач не работает. Отказывается отправлять длинные сообщения.
Пикрелейтед.
#464 #807685
>>807656
ваша задумка - калище, мсьё
>>807693
#465 #807688
>>807453
Объзмеился слегка :3
45 Кб, 500x400
#466 #807693
>>807685
ВЫ МНЕ ПРОСТО ЗАВИДУЕТЕ!
ВЫ ВСЕ МНЕ ПРОСТО ЗАВИДУЕТЕ!
sage #467 #807697
>>807656
Ну это что-то из разряда "кипи випку"
#468 #807828
>>807656
Полехчи паринь, я уже спиздил твою идею. Релиз на следующей неделе.
Хотя идея мне не нра, нет изначального повода донатить и корная тусовка может не собраться. А без нее игорь умрет, тихие сервера без нищебродов, но с визгливыми школьниками-мажорчиками будут как никогда тихими.
77 Кб, 1280x720
#469 #807841
>>807453
Это чтобы потом внутрь скобок можно было добавить ||, а снаружи – &&.
sage #470 #807860
>>807453
в форе действительно найс так писать
>>808178
#471 #807884
>>807183
А джавафанатики почему?
>>807190
VBA и VB.NET - это разные языки, я не уверен, что изучение одного поможет в изучении другого. Точнее нет - поможет (уж синтаксис-то точно должен быть похожий), но всё равно придёться знать именно VBA.
#472 #807949
>>807183
Вообще смешно, что такую репутацию имеет мощный современный язык, в котором есть полноценное ООП, полноценные generics, лямбды, LINQ, Async/Await и много чего ещё, в т. ч. то, о чём джависты могут только мечтать.
>>808019
#473 #808019
>>807949
ну VB с трудом можно назвать современным
>>809121
#474 #808163
Вчера в книжном парень подошел спросил с чего начать в шарпе можно, пришлось рассказать ему о преимуществах хаскеля. Ну а хули он.
#475 #808178
>>807860
в if-е тоже?
1457 Кб, 2592x1456
#476 #808189
Всё правильно сделал? Сколько времени примерно займет?
#477 #808195
Посоны я нихуя не пойму. Вот пример кода : http://pastebin.com/qQ2CT2RQ

В общем когда запускаю цикл вместе с Thread.Sleep из этого примера https://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx

Все нормально работает ничего не подвисает, в лейбл все выводится проценты и спокойно могу работать с программой, пока фоново там что-то делается. А вот запускаю код по ссылке в начале где server.Connect весь интерфейс нахуй зависает нельзя ничего сделать и в конце когда уже соединился с сервером, выдает "DONE" и все отвисает, я нихуя не пойму, я же вынес его в отдельный поток, почему он подвешивает основной?
>>808221
#478 #808204
>>808189
Неделю-две, потом дропнешь.
#479 #808209
>>808189
Я себе так купил книжку про питон на 2к+ страниц, лежит теперь где-то за шкафом с коричневыми страницами.
>>808216
#480 #808212
>>808189
Лол, нахуя ты их купил? Можно же было просто скачать. Ты не русский что ли?
#481 #808215
>>796165 (OP)
Господа, посоветуйте годной литературы по WPF MVVM. Ну пожалуйста.
>>808328
150 Кб, 800x800
#482 #808216
>>808209
А я SICP себе взял с ozon, так и не открыл (не ожидал что она такая толстая будет).
#483 #808219
>>808189
Пару лет, минимум.
#484 #808221
>>808195
бля я даун.
#485 #808222
Анисовки, как лучше разрулить этот момент?
Есть набор проксей, из них явно дохуя нерабочих. Чекаю их запросом к определённому url, приходит Json. Как я могу прикрутить к этому асинхронность?
Сейчас работает очень грустно, тк если сервер молчит, то поток виснет на 10-15 секунд.
[code]
_webRequest = (HttpWebRequest)WebRequest.Create(url);
WebProxy myproxy = new WebProxy(proxy.ToString()) {BypassProxyOnLocal = false};
_webRequest.Proxy = myproxy;
_webRequest.Method = "GET";
try
{
HttpWebResponse response = (HttpWebResponse)_webRequest.GetResponse();
_logger.Items.Add($"Work! {proxy.ToString()}");
}
catch (Exception e)
{
_logger.Items.Add($"{e.Message} with {proxy.ToString()}");
return false;
}
[/code]
И на пасте.
http://pastebin.com/F7YntniY
я ещё нюфаня если чё
>>808227
#486 #808227
>>808222
webrequest - уже устарел.
Есть ли у тебя возможнасть использовать httpClient?
Если есть - то делай через него.

Там уже есть обычный асинхронные методы, а не говно с beginInvoke/endinvoke
>>808228
#487 #808228
>>808227
Есть, спасибо, буду делать через него
>>808230
#488 #808230
>>808228
ну только учти, что в тот момент когда ты завалишь асинхронность ее много где по прилаге придётся протаскивать.
Плохого в этом ничего нету. но важно не забыть.
#489 #808328
>>808215
грят, мнение "специалиста" с рутрекера про wpf лучше читать "MacDonald M. - Pro WPF 4.5 in C#. Windows Presentation Foundation in .NET 4.5 (The Experts Voice in .NET) - 2012", но мне не особо помог, хотя я не интересовался детально MVVM и прочими глубокими теоретическими знаниями (хотя там есть инфа и про mvvm, DI и прочее), меня больше интересовали некоторые контролы и основы стайлинга и шаблонов, дак вот, в книгах нихуя такого нету, где приводились бы реально сложные и интересные шаблоны/стили. я пришёл к выводу, что все эти книги лично для меня бесполезны, и объясняют там элементарнейшие основы, которые проще и быстрее загуглить.
60 Кб, 480x360
#490 #808674
Как же мне горит от этого ебаного Зимарина. Там ошибка, там пакет не встает, включи хайпер ви для мертвого виндофона, а андроид уже не запускается и наоборот, про ебаном с яблока я вообще молчу. Зачем эту сырую парашу продвигают
>>810115>>810563
#491 #808779
>>808747
а вот и битордик со смишными картиночками и анализом по пасте подъехал
не задерживайся проходи под шконарь -> >>806369 (OP)
завтра параши (>>802533 (OP) >>804519 (OP) >>806729 (OP) >>796165 (OP)) пойдёшь чистить
#492 #809004
Есть какие-нибудь свежие тестовые задания на Джуна C#? Читаю, делаю маленькие задания, но ближе к делу хотелось бы что-то.
>>809027>>809030
#493 #809027
>>809004
Implement, please, web aplication:

On a main page must placed 2 input box, and submit button
In one input will enter the command that needs to be run. For example: "git log"
In the second path to the folder where you have to run the command

On button click execute commnad

After command will execute you must show command output and spend time

The advantage is:
Implement log
Implement the ability to interrupt command

Но я апплаился не на джуна
>>809073
#494 #809030
>>809066
#495 #809066
>>809030
Кто такую хуиту вообще проектирует?
В один массив -> Подставить minDate в начало и maxDate в конец -> Можно добавить if на удаление даты, если она повторяет minDate/maxDate (Следственно, не добавляем minDate/maxDate) -> сформировать обратно ебанутую кострукцию двумерного массива

Меня возьмут на работу?
>>809072
#496 #809068
Анон, есть MediaElement и различные объекты с анимацией в лице других Storyboard. Можно ли как-нибудь устроить merge для них или сделать привязку к головному Storyboard? А то переделывать Storyboard в коллекцию Animation, а затем добавление в головной Storyboard не хочется. + Управление уникальными Storyboard проще.

Еще проще. Мне нужно сделать привязку по времени многих элементов со своей анимацией (разница лишь в длительности анимации) к MediaElement со своим Timelin'ом в виде видео. Карач, единый старт для всей анимации с минимальными потерями.
>>809080
#497 #809072
>>809066
вообще не понял твоей мысли, но, учитывая их собес, и тебя возьмут
>>809080
#498 #809073
>>809027
Не смог прочитать :(
1609 Кб, 3264x2448
#499 #809080
>>809072
1. Преобразовываешь двумерный массив в List<DateTime>, при помощи LINQ
2. Insert minDate и maxDate по концам
3. Формируешь двумерный массив обратно
4. return

Это должно быть быстрее, чем перебор, поэтому это решение должно их удовлетворять. Но я бы сделал проверку крайних элементов на эквивалентность minDate и maxDate, чтобы не было пары из { minDate, minDate };

Помогите с вопросом >>809068
#500 #809121
>>808019
Почему же это?
>>809413
#501 #809154
>>807183

>ВП


Вижуал Пейсик?
#502 #809305
Подскажите, как правильно сделать авторизацию на клиентском приложении на .aspx сайте через webclient. Суть задачи: надо авторизоваться на сайте и скачать файлик по uri в клиентском приложении. Клиент вводит свой логин пароль сам. Приложение к сайту прямого отношения не имеет, поэтому все вынужден делать на стороне клиента.
>>809676
#503 #809413
>>809121
вб такой же древний, как, к примеру, делфи. если бы то дотнет не ставил за цель интеграцию всех совместимых языков под крышей одного рантайма, то бейсик остался и дальше архаичным говном для макросов мс ворд (я знаю, что вба != вб) и преложэний заводских программистишек
>>809445>>809464
#504 #809445
>>809413

>вба


Всм? vb.net?
>>809464>>809510
#505 #809464
>>809413
VB и VB.NET имеют примерно столько же общего, сколько C++ и C#.
>>809445

>Всм


Что это?
>>809510>>809552
#506 #809497
Есть ли какие-нибудь интерактивные курсики по типу платформы stepic по си шарпу? Просто дело в том, что я могу обучаться только с клоунами, которые прыгают вокруг меня, а с книгами это весьма проблематично...
>>810174
#507 #809510
>>809464

> примерно столько же общего


т.е. немало

>>809445
Visual Basic for Applications
ты из села что ли?
>>809541
#508 #809541
>>809510

>т.е. немало


Т. е. в основном только синтаксис.
#509 #809552
>>809464

>Что это?


В смысле?
#510 #809676
>>809305
Ну бамп жи
#511 #809758
Анон, я тут учу сисярпы уже целую неделю, и не могу понять нахуй нужны конструкции типа {get; set;}.
Они что, типа ограничивают поля на чтение и запись? Если только get, то мы можем читать данные из поля, но повлиять ни на что не сможем? И set - это изменять их?

Как вообще это можно сформулировать на человеческом языке? Алсо, в каких случаях следует юзать get-set фичи?
#512 #809797
>>809758
просто нахуй иди это не твоё, пиздец даун
>>809815
#513 #809815
>>809797

>ответ уровня даже не /pr/, а /b/

>>809833
#514 #809830
>>809758
На заре инкапсуляции посоны сказали что поля не должны выпирать наружу, обращайтесь к ним только через методы getYoba() и setYoba(Yoba yoba). Ну и все согласились. Потом мама-курочка говорит папе-курочке: чет я забался бойлерплейт писать)), давай накинем сахарку! И накинули. Теперь это уже Yoba {get;set;}. А цыплятки потом: да вы охуели там штоле блядь, как теперь readonly property то делать? РУКАМИ? Так оно стало Yoba {get;}

>в каких случаях следует юзать get-set фичи


Во всех!
>>809838
#515 #809833
>>809815
На такие долбоебские вопросы по-другому не овтетишь.
#516 #809834
>>809758
На практике - я чаще всего использую auto properties для того, чтобы разграничить доступ на запись и на чтение.
Например

public double CockLength { get; private set; }

Если и get, и set имеют один модификатор доступа, то смысла использовать их вместо обычных полей, на мой взгляд, нет. Хотя если совсем угореть по ООП, то по идее все поля должны быть приватными, а всё публичное - properties.

А вообще что такое properties ты читал? Если нет, то сначала разберись, что это вообще такое.

Вот гайд, когда использовать properties: https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx (но он касается не auto properties, а обычных).
>>809845
#517 #809838
>>809830

>А цыплятки потом: да вы охуели там штоле блядь, как теперь readonly property то делать? РУКАМИ? Так оно стало Yoba {get;}


А его можно задать в конструкторе, кстати?
>>809839
#518 #809839
>>809842
#519 #809842
>>809839
А нигде, кроме конструктора, задать нельзя?
То есть оно полностью идентично readonly полям?
#520 #809844
Можно при инициализации Yoba {get;} = new Yoba();
>>809846
#521 #809845
>>809834
У тебя поля публчные что ли?
>>809857
#522 #809846
>>809844
Только в шестом
>>809851
#523 #809851
>>809846
Завтра 1 августа 2016
>>809853
#524 #809853
>>809851
Завтра 2 августа
>>809854
#525 #809854
>>809853
Тем более!
>>809856
#526 #809856
>>809854
Ну хуй знает, я общаюсь со своими знакомыми из разных компаний, и пока еще нигде на шестом не пишут.
#527 #809857
>>809845
Большинство - разумеется нет.
Но я реально не вижу причин использовать проперти, если и геттер, и сеттер публичные и не используют никаких проверок. Если что, переделать поле в проперти можно в любой момент.
>>809866>>809867
#528 #809863
>>809856
У них там 3.5 фреймворк то штоле?
#529 #809866
>>809856
в предыдущей конторе перешли на 6 чуть менее года назад

>>809857
ну, логика get/set всегда может измениться без последствий. но, например, как параметр ref/out проперти уже не заюзаешь (пример так себе канеш)
#530 #809867
>>809857

>переделать поле в проперти можно в любой момент


Через тред такая фраза встречается, каждый раз советуют вспомнить, что от когда от твоего кода зависят другие библиотечки и ты поменял поле на свойство - то их придется перекомпилить, если ты просто поменял логику в геттере/сеттере - не придется.
>>809878
#531 #809878
>>809867
Ни разу не писал такой код, надо будет учесть, если что.
8 Кб, 154x154
#532 #809978
Анончики, нужно написать программу, используя WinForms, суть такова:
Есть 4 drop-down ComboBox списка, каждый зависит от предыдущего. Например - планета, страна, город, улица.
Программа должна иметь следующие возможности:
1. При выборе планета => страна => город => улица показывать кол-во домов.
2. Возможность изменить/добавить/удалить запись.

Все возможные варианты с соответсвующим количеством домов записаны в CSV файл, каждая строка - отдельный вариант:
{планета,страна,город,улица : кол-во домов}.

Как это вообще реализуется?
Да, забыл добавить, все что я нагуглил использует DataBinding и SQL, что логично, но я учусь по "C# Player's Guide", и до этого еще не дошел.
Что лучше всего использовать? Список массивов? Dictionary?

Выручай пожалуйста.
>>810000>>810112
#533 #810000
>>809978

> Список массивов


Ты c# вообще? Список твоих моделей конечно же.
Ты либо сам парсишь csv, либо да, ты же учишься. Ну а потом ехал linq через linq.
>>810002>>810811
#534 #810002
>>810000

>Список твоих моделей


Извини, не понял. Объектов? На каждый вариант - создавать объект?
>>810095
#535 #810095
>>810002
Да, это будет объектное представление твоего списочка в csv
#536 #810104
>>809856
я с тобой не знаком, но пишу на 6.
задавай ответы.
#537 #810106
>>802817
В треде ни одно блять програмиста штоле?
Алё, аноны.
>>810109
#538 #810109
>>810106
Так это девопсовская задача, иди нахуй.
>>810111
#539 #810111
>>810109
анон, если у тебя на работе есть девопс - ты щастлив. Но вашпето пограмист должен наверное такое знать, не?
>>810117
#540 #810112
>>809978
ну распарсит csv в классики - это не сложная задачка.
Остальное гуглится по запросу "winforms cascading combobox" если я тебя правильно понял
>>810811
#541 #810115
>>808674
Пишу на замарине полтора года. Брат жив.
Задавай ответы свои.
>>810214>>811909
#542 #810117
>>810111

> должен


ну хз. хорошо, когда ты знаешь и умеешь больше. плохо, когда тебя заставляют выполнять несвойственную должности работу
>>810119
#543 #810119
>>810117
got it.
Ну мне просто казалось что наверное ктото ещё с таким сталкивался.
Лады. Сам разберусь.
#544 #810174
>>809497
codehunt.com
codewars.com
#545 #810214
>>810115
Почему эта хуйня такая глючная, даже хелловорд не запускается без 100500 ерроров? Интересно, Майкрософт хотя бы сделает из неё что то удобоваримое, а то пиздц же.
>>810248
#546 #810228
Почсните за конструкции типа "#if SOME_VAR".
Что это и откуда оно берет значение этой переменной?
>>810229
#547 #810229
>>810228
читай про директивы препроцессора и условную компиляцию
#548 #810248
>>810214
Глючная была год назад. Уже сейчас достаточно стабильная.
Юзаю формс на вижле 2015 комьюнити.
Пишу под иос и дроид. Есть конечно нюансы, но не так, чтобы совсем уж всё плохо.
#549 #810252
нужна современная книжечка по современному с# с задачками внутри. что посоветуете?
>>810280
#550 #810280
>>810252
читай троелсена / рихтера, а потом напиши своё пет проект.
>>810299
#551 #810299
>>810280
а что про Хейлсберга скажешь? я полистал немного, на первый взгляд мне понравилось.
>>810323
#552 #810323
>>810299
ничего не могу сказать, анон.
Я читал сначала троелсена, потом рихтера.

Этого предостаточно для того, чтобы понять как что работает. Последнего перечитываю иногда (всмысле избранные главы).
Если товарищ Хйлсберг годный перец, а он годный, ведь именно он и создавал с#, то смело можешь читать его.
Хз правда, на каком уровне его книги. Ну то есть насколько глубоко он поясняет.
3 Кб, 300x80
#553 #810344
Двач, предлагают работу с devExpress на Asp.Net MVC. Это перспективная хуйня или типа шаропоинта ебалень?
#554 #810348
>>810344
так и не понял, зачем люди используют девекспресс
(в коммерческой разработке с ним не сталкивался)
>>810356
#555 #810351
>>810344
будешь долбиться в жопу. Девэкспрес хорошо только на самплах. как только ты захочешь что-то кастоймазить (а тебе неприменно блять это понадобится) - ты проиграл.
Сам юзал эту хуйню на впф и на мвс. Знаю о чем речь идёт.
#556 #810356
>>810348
ну типа готовые контролы. Меньше тратишь время на разработку UI.
>>810358
#557 #810358
>>810356
я знаю, что такое девекспресс, я не знаю

> зачем люди используют его

>>810361
#558 #810361
>>810358

>Меньше тратишь время на разработку UI.


Я ж вроде пояснил. По идее дешевле купить обосрацца грид/ворд контрол/ещё чтото чем делать с нуля.

Вот и выгода тебе
>>810377
#559 #810377
>>810361
учитывая, сколько оно все стоит, я не думаю. хотя хер знает
в любом случае, если нужна прям такая кастомизация, проще перейти на впф
>>810379
#560 #810379
>>810377
Не, чувак. Бывает необходимость пилить репорты на вебе, или делать охуительные гриды с деревьями и т.д.

Короче, похуй почему. Просто все эти контролы - говно. Они хорошо только в базвовой комплектации. Главное к ним ничего не прикручивать.
#561 #810517
>>810344
Почему Шарепоинт не перспективен?
>>810660
#562 #810557
Мне надо поискать запрос в гугле и считать ссылки на первые несколько результатов.
Поискал решение, охуел от сложности. Можно как-то попроще сделать это? Мне не нужно блять свою поисковую систему создавать, как предлагает гугол.
Вот тут http://stackoverflow.com/questions/18389714/search-keywords-in-google-through-c-sharp-window-application самый нижний ответ норм, но там он юзает API, где мне его скачать-то? К удивлению нихуя найти не смог
>>810566>>810594
#563 #810563
>>808674
А зачем что-то писать под виндофон?
#564 #810566
>>810557
Еще нашел вот это https://github.com/google/google-api-dotnet-client, что это вообще за хуйня, что с ней делать и как использовать в программе?
#565 #810594
>>810557
На удивление, искать в интернете ты вообще не умеешь
https://developers.google.com/api-client-library/dotnet/apis/customsearch/v1

> Install a NuGet package from those available at Google.Apis.customsearch.

>>810596
#566 #810596
>>810594
На удивление, читать ты вообще не умеешь

>Можно как-то попроще сделать это? Мне не нужно блять свою поисковую систему создавать, как предлагает гугол.

>>810601
#567 #810601
>>810596
ты поехал, какую поисковую систему?

> var client = new GwebSearchClient("http://www.google.com");


> var results = client.Search("google api for .NET", 100);


это все, что тебе надо, только вместо ста - int.max или допустимое для апи значение
>>810691
#568 #810660
>>810517
потому что его юзают только конченные извращенцы
#569 #810691
>>810601
Да я поехал, потому что блять хуйня, на которую я планировал потратить 5 минут, превратилась в занозу в жопе.
Ну установил я через эту ебаную консольку кастомсёрч. Пишу:

>using Google.Apis;


про твой код он вообще ничего не знает, подчеркивает.

Пишу как нашел в интронете:

>string apiKey = "ключ";


>Google.Apis.Customsearch.v1.CustomsearchService svc = new Google.Apis.Customsearch.v1.CustomsearchService();


>svc.Key = apiKey;


Подчеркивает svc.Key мол не знает о таком.
И куда мне ключ писать тогда? Просто пиздос
>>810875
#570 #810713
Просто скажите, что надо еще скачать и подключить, чтобы он увидел GwebSearchClient. инбифо мозги
#571 #810811
>>810112
>>810000
Так, так, спасибо, направление я понял. И очень рад, что дошел до этого сам, я не безнадежен!
Значит так, поправь меня если не так:
1. Каждая строка в CSV формируется в объект, поля которого - ряды в этой строке.
2. Этот объект добавляется в список объектов.
3. С помощью LINQ можно уже извращаться с объектами.

Можно пожалуйста ссылку на похожий код для изучения?
Спасибо.
>>810954
#572 #810875
>>810691
в get started для этого api есть пример. ты его пробовал использовать?
#573 #810944
здравствуйте, отцы.

пытаюсь въехать в wpf после пару годов winforms.

пока что не особо успешно. разобрался с контейнерами, хамл как записывать.

сейчас мне нужно сделать вот что.

у меня естьрадиобатон, и я хочу, чтобы когдя я его кликнул, то у пары текстбоксов enabled было равно радиобатон.чекед.
как мне это сделать?
>>810954>>810959
#574 #810954
>>810811
Нет нет нет, пиши сам.
>>810944
Bindings to the rescue!
Можешь сразу забиндить свойства текстбоксов на радиобаттон или почитать mvvm и забиндить свойства контролов на свойство viewmodel
>>810960>>811166
#575 #810959
>>810944
<RadioButton Name="rbAlreadyHas" FontSize="18" GroupName="rbGroup" Checked="rbAlreadyHas_Checked">
Я уже зарегестрирован в системе
</RadioButton>
<ComboBox Name="cbRegisteredUsers" FontSize="18" IsEnabled="{Binding Path=Checked, UpdateSourceTrigger=PropertyChanged, ElementName=rbAlreadyHas}"/>

пробовал вот так, не пашет. только выключает мой комбобокс и все, все зависимости от радиобатона
>>810964>>811477
#576 #810960
>>810954
то есть mvvm,вот это все сразу припиливать?

начальник на работе просто в сраку ебет, чтобы быстрее кодил(
>>810964
#577 #810964
>>810959
Попробуй забиндить на IsChecked, потому что биндить на event здорово, но как то выбивается из концепции.
>>810960
Лучше раньше чем позже. Без этого у тебя получится windows forms 2.0, и хотя концепция тебе знакома и ты все быстро напишешь, и, как следствие, не будешь выебан в сраку, это не wpf way.
>>810968
#578 #810965
Удивительно, как мы привыкли к легаси, даже тред перекатить не можем.
>>811485
#579 #810968
>>810964

>IsChecked


та же хуйня.

<RadioButton Name="rbAlreadyHas" FontSize="18" GroupName="rbGroup" Checked="rbAlreadyHas_Checked">
Я уже зарегестрирован в системе
</RadioButton>
<ComboBox Name="cbRegisteredUsers" FontSize="18" IsEnabled="{Binding Path=IsChecked, ElementName=rbAlreadyHas }"/>

блять, пришлось написать обработчик. винформс 2.0 блят
#580 #811001
Сап, сишарпач, есть один вопрос: Есть несколько viewmodel's и обычных моделей, которые сохраняют в базу данных соответственно, речь про MVC, и в каждом экземпляре есть конструктор, который принимает вьюмодель и устанавливает значения соответственно, так вот, оставить конструкторы для каждой модели, или вынести все это в йоба-фабрику? Ещё я видел где-то на гитхабе что делали не через абстрактную фабрику, а через большой статический класс, который возвращал экземпляры уровня Post->PostViewModel, PostViewModel->Post, как сделать - то?
>>811045
#581 #811045
>>811001
зачем модели знать что-то про вьюмодел?

для конвертации из модели во вм можно использовать любую из библиотек-мапперов. для наоборот можно обойтись чем-угодно, хоть методами-расширения, вопрос в том, что и как ты используешь
>>811055
#582 #811055
>>811045
Я понимаю, я про то, чтобы создать отдельную фабрику, чтобы не писать каждый раз в контроллерах что - то уровня:
Mapper.Map<ModelName>(viewModel);
или
var model = new Model(viewModel);

а создать одну большую фабрику, которая будет все это выполнять, например
var model = ModelFactory.Create(viewModel);
вот вариант статической "фабрики", который я видел, я и хочу узнать как лучше.
#583 #811166
>>810954

>Нет нет нет, пиши сам.


Я так и собирался, но хотелось бы сравнить с кодом того, кто действительно умеет программировать.
И еще один вопрос, если можно:
Когда я выбираю все объекты с определенной планетой (a => a.Planet == Mars), как составить список ну или массив всех возможных стран на этой планете? Естественно, без повторений, чтобы можно было скормить этот список стран в формочку, когда выбирается определенная планета.
Гуглится только "removing duplicates using LINQ", а мне надо не убирать повторы, а изначально составлять список без повторов.
Спасибо большое.
>>811172>>811174
#584 #811172
>>811166
var countriesOnMars = planets.where(x=>x.Planet == mars).SelectMany(planet=>planet.countries).ToList();

Ну или если у тебя один марс только:
planets.First(x=>x.Planet == mars).Select(planet=>planet.countries).ToList();

Если нужны только уникальные - то надо ебануть Distinct() перед ToList.

А ваще - попробуй разберись сам. linq - очень важная штука в соверменном програмировании.
#585 #811174
>>811166
Анон,
Я дебил, гуглил remove duplicates вместо distinct values. Вроде нашел:
List<int> lst_DistinctCountry= objList
.Where(o => o.Planet == "Mars)
.Select(o => o.Country)
.Distinct()
.ToList();
>>811175
#586 #811175
>>811174
молодец, анончик
#587 #811477
>>810959
если у тебя нет никакой другой логики для переключения радиобатона и вообще, почему не чекбокс? разве не логичнее его использовать?, то убирай нахуй обработчик события Checked у него, дай радиобатону имя (x:name = anything), и в комбобоксе или что ты там выключать собрался пифы:
<Combobox ... IsEnabled = "{Binding ElementName = anything, Path = IsChecked ВОЗМОЖНО понадобится вот это ещё: NotifyOnSourceUpdate = True, UpdateSourceTrigger = PropertyChanged}" />
>>811902
#588 #811485
>>810965
не пропусти бротан

перекат https://2ch.hk/pr/res/811482.html (М)
самокат https://2ch.hk/pr/res/811482.html (М)
андеркат https://2ch.hk/pr/res/811482.html (М)
брудершафт https://2ch.hk/pr/res/811482.html (М)
алконафт https://2ch.hk/pr/res/811482.html (М)
#589 #811902
>>811477
я вчера таки подпилил)
вот так

<RadioButton Name="rbNewUser" Grid.Row="0" Grid.ColumnSpan="3" FontSize="18" GroupName="rbGroup" >Зарегестрировать и войти как новый пользователь</RadioButton>
<TextBlock Text="Фамилия" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="0" FontSize="18" IsEnabled="{Binding Path=IsChecked, ElementName=rbNewUser, Mode=TwoWay }"/>
#590 #811909
>>810115
Работаешь где-то?
#591 #812108
програмач, такая задача: надо достать из интернета строки (песни из ласт фа апи, если кому интересно). Допустим у меня 2к реквестов (песен) и мне надо получить ответ максимально быстро, и тут у меня назревают проблемы: если делать через один HttpClient, то это будет долго, так как даже если я накатаю ему много реквестов через GetStringAsync, то через одно соединение он все равно все будет делать последовательно. А еще все это надо как-то завернуть в многопоточность и организовать вытаскивание этих 2к песен (из файла) из этих потоков, чтоб потокобезопасно корочеё Итак, прошу бородачей предложить мне оптимальный вариант, ведь это не так просто, как кажется на первый взгляд
если кому интересно - позже накатаю свой вариант, но не кажется мне идеальным
#592 #815880
Сколько я должен учиться C# и что я в общих чертах должен знать чтобы устроиться джуниором? Это, вероятно, самый платиновый вопрос ваших тредов.
>>816318
#593 #816318
>>815880
Нисколько. Незачем учиться. Сишарп умирает.
>>817477
#594 #816907
Котаны, есть у меня 3 контроллера, по методу в каждом из них, что ищет посты по категории/тегу/тексту, так вот, шаблон для маршрута в стартапе замапен, и все работает, но, я хочу сделать так, чтобы 3 разных маршрута возвращали одну вьюшку, например Category/Development/1 Tag/C#/1 и Search/Hello/1 всегда вызывали одно действие в определенном контроллере, модель в вьюшку передается всегда одна и та же соот., так вот, если я закину 3 метода в один контроллер и пропишу 3 аттрибута [Route()] над одним действием, будет ли это работать?И есть ли другой способ или я просто выбрал неудачную архитектуру?
#595 #817477
>>816318

>Сишарп умирает.


Что видно уже по уровню активности в треде
#596 #817625
Есть абстрактный класс A, в котором есть абстрактный метод.
Есть класс B, в котором нужно перезаписать абстрактный метод класса A, но без наследования B от A. Чтобы прям в конструкторе класса B повесить код в абстрактный метод класса A. Чтобы как в джаве. Как сделать?
#597 #818751
Есть кто-нибудь, кто уже знаком с подписями и сертификатами? Я тут приложение сделал, а оказалось, что на других комплюктерах при запуске выдается предупреждение о неизвестном издателе. Его, конечно, можно проигнорировать, но мне как-то не очень нравится, что такое происходит. Я тут уже перечитал кучу всякой хуеты, пройдя через все круги ада, в итоге после чтения тонн простынь (которые, кстати, абсолютно все посвящены очень старым версиям vs), пришел к выводу, что для нормального сертификата его вообще нужно покупать, а тестовый сертификат действителен всего несколько часов. В общем, я уже ничего не разбираю. Если кто разбирается и поможет нормально сказать, либо кинет ссыль, где все понятно описано, буду премного благодарен.
>>818943
#598 #818943
>>818751
Некоторые компании раздают бесплатно разработчикам. Но да, нужно покупать.
#599 #824757
Ньюфаго-вопрос, прошу помочь.
Хочу сделать рандомную генерацию матрицы из символов. Накидал на c# её реализацию, но почему-то создается лишь из одного символа случайного вся матрица. То бишь рандомный символ выбирается один раз и заполняет всю матрицу. Как это починить?
Вот мой код: http://pastebin.com/L0fiprXK
>>824772
sage #600 #824772
>>824757
22 строку(Random randome = new Random();) перенеси в начало метода\класса.
>>824782
#601 #824782
>>824772
Спасибо большое!
Тред утонул или удален.
Это копия, сохраненная 22 августа 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски