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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
25 Кб, 1000x1000
OFFICIAL C# THREAD №22 # OP #694892 В конец треда | Веб
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем 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/680675.html (М)

НОВЫЙ ВАРИАНТ ШАПКИ

Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека. ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

Breaking news

  • Microsoft анонсировала MSSQL Server для линукса
  • Microsoft купила Xamarin
  • JetBrains готовит IDE для шарпа (Project Rider), ведется активная разработка C# 7.0
  • Литература и видеокурсы

    По поводу литературы на русском: на некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактуальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то можно гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#" или временами заглядывать в соответвующую ветку на рутрекере.

    Автор Название Описание Год
    Литература для ньфагов и стремящихся
    The C# Player's Guide The C# Player's Guide, второе издание Отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода 2015
    Joseph Albahari и Ben Albahari C# 6.0 in a Nutshell Огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином 2015
    Joseph Albahari и Ben Albahari C# 6.0 Pocket Reference Просто выжимка из справочника, можно всегда держать рукой 2015
    Andrew Troelsen C# 6.0 and the .NET 4.6 Framework 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха 2015
    Jay Hilyard и Stephen Teilhet C# 6.0 Cookbook Книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом 2015
    Более серьёзный материал, для освоивших шарп на более-менее серьёзном уровне
    Jon Skeet C# in Depth Написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются. 2013
    Ben Watson Writing High Performance .NET Code Просто охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, чтобы вам перезвонили. 2014
    Jeffrey Richter CLR via C# Это классика, это знать надо 2012
    Еще более хардкорный материал, если уже совсем читать нечего
    Mohammad Rahman C# Deconstructed Введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата. Из-за обилия WinDBG листинга, реального материала достаточно мало, но можно найти что-то интересное 2014
    Mohammad Rahman Expert C# 5.0 with .NET 4.5 Framework Еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода. 2013
    Serge Lidin .NET IL Assembler ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам 2014
    Литература по WPF
    Matthew MacDonald Pro WPF 4.5 in C# - 2012
    Pavel Yosifovich Windows Presentation Foundation 4.5 Cookbook - 2012
    Литература по ASP.NET
    Jon Galloway, Brad Wilson, K. Scott Allen, David Matson Professional ASP.NET MVC 5 - 2014
    Adam Freeman Pro ASP.NET MVC 5 Platform - 2014
    William Penberthy Beginning ASP.NET for Visual Studio 2015 - 2016
    Литература по асинхронности, параллелизму и всему такому
    Stephen Cleary Concurrency in C# Cookbook Книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции 2014
    Eugene Agafonov Multithreading in C# 5.0 Cookbook В основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная 2013
    Richard Blewett и Andrew Clymer Pro Asynchronous Programming with .NET Опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg 2013
    Литература не по шарпу, но так или иначе связанная с языком
    Jeff W. Murray C# Game Programming Cookbook for Unity 3D Разработка на шарпе под Unity 2014
    Jeff Heaton Introduction to Neural Networks for C# Изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов. 2008
    James D. McCaffrey Machine Learning Using C# Succinctly Довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно. Распространяется бесплатно 2015

    Я не умею читать, что посмотреть?

  • Курсы от ITVDN - коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском)
  • Programming with C# - бесплатный курс по сишарпу на EDX
  • Beginning Game Programming with C# - курс на курсере по разработке игр в C# (XNA)
  • C# Fundamentals: Development for Absolute Beginners - 25 небольших эпиздов для ньюфагов от Microsoft
  • Курсы от O'Reilly - набор курсов исключительно по C# от O'Reilly Media (28 часов, на английском)
  • Что еще нужно знать, чтобы взяли работать за еду?

  • 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
  • Ресурсы

  • Вопросы на Stackoverflow - можно найти ответы на множество интересующих вопросов
  • TutorialsPoint (англ) - очень годный туториал, позволяет запускать код примеров
  • ProfessorWeb - много руководств на различные темы
  • Хабр - хаб сишарпа на хабре: статейки, новости, проблемы
  • Онлайн-компиляторы

  • DotNetFiddle - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и присутствует проверка синтаксиса.
  • ideone - менее удобный вариант, но с поддержкой куда большего количества языков
  • C# Pad - что-то вроде REPL'а, но онлайн. Есть автодополнение, выполнять текущую строчку можно по Ctrl+Enter
  • Rextester - онлайн-компилятор с поддержкой десятка языков, в том числе и сишарпа, код компилируется очень быстро
  • FAQ

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

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

    Q: Какую ИДЕ выбрать?
    A: Для Windows самым очевидным вариантом будет Visual Studio Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений

  • MonoDevelop - Возможно самый юзабельный вариант для мака и никсов на данный момент
  • OmniSharp - набор инструментов интеграции в различные редакторы (Vim, Sublime Text, Emacs)
  • VS Code - кросплатформенный полуредактор/полуIDE, начиная с недавнего времени поддерживает даже отладку
  • Project Rider - IDE от JetBrains, которая находится на этапе тестирования. На сайте можно заполнить форму и получать первые EAP. В данный момент функционала мало и IDE еще достаточно нестабильная, но до релиза еще далеко
  • SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабайты нет желания, то возможно SharpDevelop будет лучшим вариантом.
  • Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
  • Q: Пригоден ли С# для мобильной разработки
    A: Очень даже, гугли Xamarin. Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты. Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx

  • Xamarin Mobile Application Development
  • Xamarin Essentials
  • Дополнительные инструменты для разработки на C#

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

    Полезные расширения для Visual Studio, которые упрощают прощесс разработки

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

    Разное

  • Обзор Roslyn | Новые возможности C# 6.0 | Обсуждение фич C# 7.0
  • # OP #2 #694893
    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 #2 #694893
    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
    >>698547>>700708
    #3 #694986
    >>694892 (OP)
    Для чего эта исламская параша на ОП-пикче нужна? Чтобы вызвать больше ненависти? Нельзя было что-то нейтральное закинуть?
    #4 #694990
    >>694986
    Sasi huy hachik)
    #5 #694998
    >>694986
    Как картинка может ненависть вызывать, ну серьёзно? Это просто полумесяц с решеткой
    >>695001
    #6 #695001
    >>694998
    Ты ещё иди в /po спроси чому синежёлтая тряпка пукан рвет аки в /ukr триколор.
    Этож ёбнутые животные, они как православные бабки.
    #7 #695002
    >>694892 (OP)

    > (Project Rider), вероятно в ближайшее время станут доступны первые EAP


    Вообще-то уже доступна и даже было первое обновление с фиксами.

    Хотя на OSX CoreClr еще не починили в багтрекер таску уже завели.
    >>695003
    #8 #695003
    >>695002
    У меня, например, отладка не хочет заводиться на созданных в ВС проектах, нужно будет посмотреть в чем там дело, как время будет. С созданными в самом райдере все нормально. Как только это починят и юниттесты завезут, все невинформовые проекты перетащу в rider и буду понемногу привыкать.
    >>695017
    #9 #695017
    >>695003
    В презентации говори что у них сейчас не поддерживается отладка в проектах скомпилированных
    под другую архитектуру чем сам Rider (типа x64 на x86 и наоборот).
    Нужно в настройках проекта выбрать нужную архитектуру и все заработает наверное.

    Майки в своей VSC сейчас переориентировались на JS и подзабили на ASP.NET,
    так что хорошая IDE для osx/linux очень нужна.
    >>695294
    #10 #695294
    >>695017
    Да вроде бы x86/x86
    #11 #695507
    Вопрос к состоявшимся программистам: разрабатывают ли на шарпе высоконагруженные решения, скажем, для бирж, или эта ниша целиком под Java?
    >>695556
    #12 #695545
    В мире .NET вообще существует понятие спецификации?
    >>695554
    #13 #695554
    >>695545
    Тебе ecma 334 дать почитать или что?
    >>695560
    #14 #695556
    >>695507
    Ниша явы – банки. Шарп – прочий энтерпрайз.
    Супер хуйлоад финансовый софт, где важна каждая микросекунда анализа бумажек пишутся на плюсах и более низкоуровенных языках.
    #15 #695560
    >>695554
    А для всего остального? Linq, ASP и прочее? Чтоб как в Java.
    >>695585
    #16 #695564
    Где можно наблюдать за развитием платформы в живую? Есть какие-нибудь популярные блоги разрабов Майкрософта?
    >>695567
    #17 #695567
    >>695564
    Там много говна вского, можешь в сторону реддита посмотреть, например. Или на гитхабе следить.
    #18 #695579
    У Entity Framework нет провайдера для Oracle, или я туплю?
    #19 #695585
    >>695560
    Все, нашел все, что мне нужно на их гитхабе.
    >>695587
    19 Кб, 315x480
    #20 #695586
    ЧТО ЛУЧШЕ: ДЖЯВА ИЛИ ШАРП?
    >>695588>>695811
    #21 #695587
    >>695585
    msdn же
    >>695589
    #22 #695588
    >>695586
    Для десктопа мне больше WPF нравится, чем то, что я видел для Java.
    >>695985
    #23 #695589
    >>695587
    Мне нужно, чтобы все было в пдф-ках на харде.
    >>695591
    #24 #695591
    >>695589
    Но зачем?
    >>695593
    #25 #695593
    >>695591
    Потому что интернета может не быть.
    >>695595
    #26 #695595
    >>695593
    Зачем именно PDF имею ввиду?
    >>695597>>695780
    #27 #695597
    >>695595
    Можно другой формат.
    #28 #695780
    >>695595
    Курлом хтмл всегда можно стянуть
    #29 #695811
    >>695586
    джава ну конечно же, блять, нет
    >>695981
    #30 #695981
    >>695811
    На самом деле Scala
    #31 #695985
    >>695588
    WPF не кросс плат форменный :(
    >>695989
    #32 #695989
    >>695985

    > кросс плат форменный


    Значение знаешь?
    >>695995
    #33 #695995
    >>695989

    > кросс


    сокращение от "кроссовки"

    > плат


    сокращение от "платить"/"платеж"

    > форменный


    имеющий форму

    а что, не так?
    #34 #696073
    у меня вопрос про массовую печать pdf-ников
    (гугл\стэковерфлоу не помогли)
    вобщем нужно печатать много пдф очень разных объемов

    сейчас это делаю через
    Process p = new Process();
    p.StartInfo = new ProcessStartInfo()
    {
    Verb = "print",
    FileName = file
    };
    p.Start();

    и после каждого файла приходится делать Sleep(); чтоб подождать когда оно отправится

    на разных компах и на разных файликах это занимает разное время, а ставить для всех одинаково большой слип - не айс

    может можно программно узнать, отправился он или нет? чтобы эти слипы не использовать

    или может библиотека какая есть (хотя я все перерыл)
    >>696076
    #35 #696076
    >>696073
    process.WaitForExit()
    >>696079>>701191
    #36 #696079
    >>696076
    для нее разве не надо указывать количество мс, после которых процесс завершится?
    >>696081>>696082
    #37 #696081
    >>696079
    это одна из перегрузок метода

    https://msdn.microsoft.com/en-us/library/ty0d8k56(v=vs.110).aspx
    If the associated process does not exit by the end of the interval because the request to terminate is denied, false is returned to the calling procedure. You can specify a negative number (Infinite) for milliseconds, and Process.WaitForExit(Int32) will behave the same as the WaitForExit() overload. If you pass 0 (zero) to the method, it returns true only if the process has already exited; otherwise, it immediately returns false
    >>696091
    #38 #696082
    >>696079
    Нет, там просто есть перегрузка, в которой можно указать макс. время ожидания. А по умолчанию оно будет вечно ждать завершения.
    >>696084>>696091
    #39 #696084
    >>696082
    1. а я о чем говорю?
    2. ну не указывай, хули там)
    >>696091
    #40 #696091
    >>696084
    >>696082
    >>696081
    проблема в том что акробат после отправки не завершается а остается открытым, если руками закрыть, то срабатывает waitforexit()

    может нужно как-то по-другому отправлять, чтобы акробат закрывался?
    >>696092>>696123
    #41 #696092
    >>696091
    А это уже тебе к докам акробата
    #42 #696123
    >>696091
    Может WaitForInputIdle зайдет, пробовал? Плюс окно прятать.
    >>696154
    #43 #696154
    >>696123
    пробовал вместе с WaitForInputIdle, не получилось.
    окно при отправке спрятано, а после сразу отображается.

    ищу в доках акробата(да и везде в гугле) как не отображать или закрывать после печати, ничего такого нет..:(
    >>696159
    #44 #696159
    >>696154
    навскидку вот че нашел:
    http://stackoverflow.com/questions/24913008/print-pdf-using-c-sharp-without-acrobat

    на MSDN вообще принт-хелпер придумали, но я ебал такие велосипеды
    #45 #696289
    Кароч, нужно ипортнуть написанную дллку прямо в приложуху, по референсам находит ошибку cs1752 (в гугле порыл, ответы только по office), она (ошибка) гонит на отсутствие параметров using (InteropServices), хотя эдакое имеется в длл.
    >>696291>>696297
    #46 #696291
    >>696289
    Больше инфы давай, что за длл?
    >>696302
    #47 #696297
    >>696289
    чо, разве не ответ на твой вопрос:
    http://stackoverflow.com/questions/2483659/interop-type-cannot-be-embedded
    ?
    >>696300
    #48 #696300
    >>696297
    Неа, не помогло
    #49 #696302
    >>696291
    Newtonsoft.Json
    >>696305>>696308
    #50 #696304
    часик в радость, шарпач. посоветуй годных каналов по .net. не для начинающих желательно, а просто всякие полезности

    знаю только https://www.youtube.com/channel/UCJIlkaXVl-6vU3ghQkr51nQ/videos
    >>696311
    #51 #696305
    >>696302
    Как добавляешь в проект?
    >>696310
    #52 #696308
    >>696302
    это что такое страшное ты делаешь с либой, что она хочет интероп?
    >>696312
    #53 #696310
    >>696305
    Пробовал ссылки, через ресурсы.
    >>696313
    #55 #696312
    >>696308
    Вот и не знаю. Онли вызов различных параметров (впоследствии вывод в массив нескольких строк)
    #56 #696313
    >>696310
    nuget'ом стянуть пробовал?
    >>696317
    #57 #696317
    >>696313
    неа, а это чаво такое и как это использовать?

    (Вероятно, глупый вопрос)
    >>696321>>696323
    #59 #696323
    >>696317
    VS -> Package Manager Console -> install-package HuiPizda
    >>696328>>696335
    #60 #696325
    >>696321
    Ага, спасибо, разберусь.
    #61 #696328
    >>696323
    Спасибо, сейчас попробую.
    #62 #696335
    >>696323

    Сборку начал, ошибки нету, но проект все также запускается только с длл в папке. Именно это я хочу исключить, ибо ради небольшой утилиты приходится добавлять кучу библиотек.
    >>696338>>696339
    #63 #696338
    >>696335
    ну ничосе ты захотел, может тебе еще виртуальной машини .NET для работы приложения не надо?
    >>696353
    #64 #696339
    >>696335
    Ты не умеешь в дотнет значит, дллки это норма.
    Энивей можешь в сторону ilmerge/ilrepack посмотреть.
    >>696342
    #65 #696342
    >>696339
    Вот пробовал ilmerge, он сломал приложуху.
    >>696343
    #66 #696343
    >>696342
    Как мерджил?
    >>696353
    62 Кб, 720x960
    #67 #696348
    Скоро буду сдавать экзамен по C#+NUnit, объясните плз где можно почитать про:
    1. атрибуты(Test, TestFixture, SetUp, TestFixtureSetUp, Category ...)
    2. категории (Include, Exclude)
    3. Всякие Assert'ы
    4. NUnit.Framework.TestContext. Что такое, зачем нужно?
    5. Наследование TestFixture, порядок выполнения методов
    >>696351>>697019
    #69 #696353
    >>696338>>696343
    по данному туториалу
    https://habrahabr.ru/post/126089/
    >>696354
    #70 #696354
    >>696353
    Хуй знает, попробуй ilrepack, я давненько пользуюсь, вроде все норм.
    ilrepack /targetplatform:v4 /out:output.exe /parallel "my.exe" "my.dll"
    >>696434
    #71 #696434
    >>696354
    Ошибочка 9009
    >>696459
    #72 #696459
    >>696434
    Какой-то ты невезучий. На загрузи тогда куда-то, я тебе собуреру
    >>696479
    #74 #696480
    >>696479
    Упс, забыл активировать дроп-бокс :)
    >>696491
    #76 #696511
    >>696491
    Да, можешь кинуть проект в sln?
    >>696514
    #77 #696514
    >>696511
    Я его не менял, я ручками собрал. Или ты хочешь msbuild-таксу создать? Если так, то отталкивайся от команды
    ilrepack /targetplatform:v4 /out:output.exe /parallel ".\WindowsFormsApplication1.exe" .\Newtonsoft.Json.dll
    #78 #696602
    >>696351
    Почитал. Объясните, пожалуйста, что такое TestContext и зачем он нужен? Из документации понял только то, что это что-то про информацию об окружении.
    >>696691
    #79 #696691
    >>696721
    #80 #696695
    Насколько быстро можно вкатится в этот ваш C# ?
    >>696701
    #81 #696701
    >>696695
    Смотря насколько глубоко вкатываться.
    >>696704
    #82 #696704
    >>696701
    В среднем по рынку.
    >>696706
    #83 #696706
    >>696704
    Знания английского + алгоритмов (тобишь логики), а далее как пойдет.
    >>696709
    #84 #696709
    >>696706
    Алгоритмы вроде помню с универа а вот с английским похуже.
    Есть ли какие еба примеры с объяснениями более менее больших проектов?
    Сейчас пробую изучать и у меня просто не складывается картинка как из этих небольших кусочков в итоге собирается некая йоба машина (приложение). А все примеры уровня вот хеллоуврод а вот калькулятор.
    >>696728>>696736
    #85 #696719
    Влюбляюсь в язык все больше и больше
    >>696722
    #86 #696721
    >>696691
    Спасибо, но это не NUnit
    #87 #696722
    >>696719
    А я в asp.net core 1.0 влюбляюсь, как же хорошо сделали, модульно, быстро, эх...
    >>696769
    #88 #696728
    >>696709
    литературу говностатейки на хабре по архитектуре проектов пошурши, а там должно быть более-менее ясно, чего да как. хотя, что тут сказать, небольшие кусочки и составляют любое большое приложение. а их взаимосвязь - это уже уровни логики
    #89 #696736
    >>696709
    Компьютер - тупой, представь стандартное обучение, половина программ - просто правильно заученные функции и прям "дико обладать англецким" нужно только в случае, если придется работать с англоязычными клиентами (А также гораздо большее кол-во документации в англ. языке)
    #90 #696769
    >>696722
    Да вот плохо это или хорошо, но хипсто-смуззи-фронтенд теперь там дефакто стандарт. Пиздец, сегодня пол дня убли конфигурируя эти КОМПИЛЯТОРЫ ФРОНТЕНДА,блять.
    >>696886
    #91 #696886
    >>696769
    Хуй знает, я кроме тайпскрипта ничего больше не использую на фронтенде
    120 Кб, 1024x768
    #92 #697019
    >>696348
    Шарпач, поздравь меня. Я не завалил "экзамен" и возможно скоро стану тест автомэйшн инженером. :)
    >>697020
    #93 #697020
    >>697019
    тебе в "мы вам перезвоним" )
    >>697556
    #94 #697439
    Сейчас стало модным словосочетание "Big Data", и я что-то немного забеспокоился. На шарпе же можно заниматься анализом больших данных?
    >>697461
    #95 #697461
    >>697439
    На фшарпе можно, например. Вон Леночка в облаках бигдатами жонглирует, и ты так делай.
    >>697506
    #96 #697501
    Крудошлёпаны, как в шарпе вообще с ком-портом работают? System.IO.Ports.SerialPort ёбаное глючное говно, просто пиздец как мне печёт. Использовать враппер или пинвок для винапишной реализации? Как вообще гуру работают?
    >>697653
    #97 #697506
    >>697461
    Леночка?
    #98 #697556
    >>697020
    а мне однажды сказали "мы вам перезвоним"
    ну я радостный ждал день, два
    но они перезвонили. правда через год когда мне уже нахуй не надо было
    #99 #697653
    >>697501
    и это в 2016 году
    >>697737
    474 Кб, 526x567
    #100 #697658
    ASP.Net, webforms
    Есть SqlDataSource с SELECT запросом который выдает несколько тысяч записей, есть грид у которого он указан в качестве DataSourceID. В гриде есть разбивка по страницам.
    Так вот, что конкретно происходит когда я переключаю страницу? Весь запрос делается заново каждый раз? Потому что страницы ну как-то очень уж долго переключаются, хотя грид завернут в ajax-панель и постбеки не делаются.
    Как это оптимизировать, не отказываясь при этом от SqlDataSource?
    >>697685
    #101 #697685
    >>697658
    Ну про обращается он или нет - можно легко проверить. Грохнуть базу перед переключением. Ну или, хотя бы, изменить в ней запись, которая должна отобразиться.
    По поводу оптимизации - сделать промежуточный шаг со своим кэшем, который будет считывать/записывать когда тебе нужно.
    >>697736
    #102 #697695
    Аноны, есть вопрос. Немного прохладной - я простой хуй 30 лвла, програмерского образования и сертификатов всяких нет, хотя есть две законченные технические вышки и 8 лет стажа в нефтянке. Есть хобби - С#. Изучаю года 4. За это время написал для себя пару мелких прог, типа планировщика, некой запоминалки для обучения английскому, десятка различных технических конвертеров. И самое главное - уже 2.5 года пилю онлайн игрушку. Почти дописал. По сложности можно сравнить с хартстоуном, только графика хуже ну и звуков совсем нет. В ней есть чистый с#, wpf, sql, wcf, многопоточность.
    Короче в чем вопрос - если мой игорь не взлетит - я могу куда-нить в приличное место устроится с таким портфолио? Ангельский так себе, но могу подучить - есть сестра репетитор. Также уверен что могу за краткое время выучить любой фреймворк например как-то выучил ВБА и написал для corel draw плагин, что чертит схему скважины по заданным в табличке размерам.
    >>697699
    #103 #697699
    >>697695
    У тебя все охуенно, кроме возраста, но с такими знаниями тебя вполне могут взять сразу миддлом, например. У меня один знакомый такой же был, только ему 28 было, устроился сразу миддлом, никаких проблем с ним не было, все довольны.
    102 Кб, 600x521
    #104 #697736
    >>697685
    По-умолчанию таки обращается каждый раз.
    Но кэш уже реализован, изобретать велосипеды не требуется, и я уже нашел как сделать то что мне нужно.
    У датасорса добавляем:
    EnableCaching="true"
    CacheKeyDependency="MyCacheDependency"
    В Page_Load:
    if (Cache["MyCacheDependency"] == null)
    {
    Cache["MyCacheDependency"] = DateTime.Now;
    }
    После любого сохранения в базу данных, когда нам нужно загружать данные заново, а не из кэша:
    Cache["MyCacheDependency"] = DateTime.Now;
    ContentGrid.DataBind();
    #105 #697737
    >>697653
    Твои варианты общения с IoT по RS232/485?
    >>697741
    #106 #697741
    >>697737

    >In the book PC 97 Hardware Design Guide,[7] Microsoft deprecated support for the RS-232 compatible serial port of the original IBM PC design. Today, RS-232 has mostly been replaced in personal computers by USB for local communications. Compared with RS-232, USB is faster, uses lower voltages, and has connectors that are simpler to connect and use. However, USB is limited by standard to no more than 5 meters of cable, thus favoring RS-232 when longer distances are needed. Both standards have software support in popular operating systems.

    >>697745
    #107 #697745
    >>697741

    >no more than 5 meters


    Ты мог и не отвечать. + большинство устройств часто использует виртуальный COM порт через USB для передачи данных тк это тупо проще и достаточно.
    #108 #697774
    Аноны, поясните за трудоустройство на дядю в вашей сфере. В частности интересует, как проходят собеседования? Что спрашивают? Если дают тестовое задание, надо его решить прямо при эйчаре? И какое обычно задание дают?
    >>697980>>698205
    #109 #697980
    >>697774
    Всюду по разному, конкретно тебе никто не скажет если не был именно там на собеседовании.
    #110 #698205
    >>697774
    собеседования от телефонного разговора до личной беседы. зависит от расположения, наверное

    спрашивают как минимум знание типов, обобщения, коллекции, linq, равенство объектов, кое-чо по сборке мусора или рефлексии. также, многопоточность, асинхронность, события, делегаты, скорее всего затронут тему sql, орм-ок (или ado.net). возможно, от конторы зависит, прокатются по вебу и юнит-тестированию

    что касаемо тестовых заданий, у меня их было два с половиной, все из них бвыои расчитаны на довольно длительное выполнение (~неделя хз, нахуя). в моей текущей конторе одно время любили давать получасовое задание во время интервью на знание сериализации/коллекций
    >>698210
    #111 #698210
    >>698205

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


    Что за задание?
    >>698214
    #112 #698214
    >>698210
    есть сериализованная коллекция объектов типа:

    A ( string[] Items }

    найти и вывести N самых встречающихся наборов айтемов
    #113 #698312
    Добавляю элемент в коллекцию (List) посредством метода Add. А он добавляется во все элементы коллекции, то есть замещает все уже существовавшие ранее элементы и новодобавленный.
    >>698318
    #114 #698318
    >>698312

    > А он добавляется во все элементы коллекции, то есть замещает все уже существовавшие ранее элементы и новодобавленный



    это, условно говоря, в лист {1,2,3,4} добавляется элемент (5) и после этого лист становится таким: {5,5,5,5,5} ?
    или чо?
    >>698332
    43 Кб, 900x600
    #115 #698331
    >>694892 (OP)
    напишу и тут.
    Анончики, помогите. Я начал учить c# и теперь пришло попрактиковаться. Хочу запилить приложение для мониторинга сайта-прощадки для продаж. Суть в том, чтобы приложение присылало пользователю ссылки на новые лоты, если в описаннии есть ключевое слово. На чем это возможно реализовать? Куда смотреть? Помогите, очень прошу.
    >>698338>>698340
    #116 #698332
    >>698318
    Да. Верно. Но я уже нашел решение.
    У меня в цикле постоянно заполнялся один объект класса такого-же, что и List. То есть создан он был перед началом цикла, и каждую итерацию его поля перезаписывались, после чего он добавлялся в List Add-ом. Я лишь добавил в конец цикла вызов конструктора для добавляемого элемента и все заработало.
    Но возникли вопросы: Это что получается, каждый элемент List связан с экземпляром который в этот элемент добавляли?
    >>698338
    #117 #698338
    >>698331
    парсер сайта с уведомлениями? или у площадки есть API? в чем конкретно вопрос состоит?))

    >>698332
    каждый элемент коллекции является ссылкой (если это referenced-type объект) на созданный ранее объект в куче
    >>698340>>698354
    #118 #698340
    >>698331
    >>698338
    а, я в глаза долблюсь

    > На чем это возможно реализовать?



    ну, консолька, а на чем-то еще)
    можно повыебываться, но зачем?
    >>698354
    #119 #698354
    >>698340
    >>698340
    >>698338
    у площадки нет api. В общем суть: там много обновлений, продавцы постоянно подымают свои старые обявления - и новые теряются в этом мусоре. На сайте есть счетчик просмотров. Нужно чтобы приложение мониторило все объявления по ключевому слову, и если объявление действительно новое - приходило уведомление.
    >>698358
    #120 #698358
    >>698354
    ну парсер. тут готовых решений мало. скорее всего тебе надо будет заюзывать регулярные выражения и все такое. ну а уведомление какое ты хочешь? от Console.WriteLine до почты и push-notification в телефонъ
    >>698363
    #121 #698363
    >>698358
    Для начала хватит Console.WriteLine. У тебя нет каких-то материалов посмотреть или почитать? И спасибо большое, теперь знаю с какой стороны подойти.
    >>698365
    #122 #698365
    >>698363
    материалов по поводу? таким вот жосским парсингом я не занимался никогда максимум, ручной переход и вытягивание значений со страницы браузерной говноигры, но это такое: getElementByTag/Id, foreach
    >>698374
    #123 #698374
    >>698365
    В любом случае спасибо. Сейчас гуглю парсинг, буду разбираться.
    #124 #698378
    Анон, поясни ньюфагу. Установлена последняя версия .net, а версии библиотек 4.0.
    >>698380
    #125 #698380
    >>698378
    каких библиотек? и как это тебе мешает жить? а еще, какая связь между номерами версий библиотек и номером версии фреймворка?
    >>698513
    #126 #698513
    >>698380
    У меня вот такая ошибка

    >The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.

    >>698618
    34 Кб, 604x379
    #127 #698547
    >>694893
    Introduction to Neural Networks with C# (Jeff Heaton)
    Machine Learning Using C# Succinctly (James D. McCaffrey)

    Бля, буду делать лабы всем долбоебам с харкача, если кто-нибудь скинет, где эти книги скачать можно
    >>698549>>698550
    #128 #698549
    >>698553
    #131 #698589
    Нерелейтед вопрос.
    Понравилась компиляция из ресурсов в шапке, немного переделал под ASP.NET и переписал в Markdown.
    Хочу распространить среди студентов, и встал вопрос - как ссылаться на оригинал? Просто указать что "материал взят из pastebin\блабла" ?
    >>698590>>698599
    #132 #698590
    >>698589
    О, распространи мне, будь добр.
    >>698648
    #133 #698599
    >>698589
    Да зачем вообще как-то ссылаться? Бери и распространяй. Если есть желание, можешь даже помочь допилить новую шапку, я по асп особо не добавлял материала, т.к. не приходилось близко с ним работать, так что было бы неплохо: https://github.com/CSharpShapka/2ch.hk-pr-Hats/blob/incoming/CSharpThread.html
    >>698648
    #134 #698618
    >>698513
    ну тут же пишут, ты подтянул библиотеку, которая рассчитана на версию фреймворка ниже
    #135 #698648
    >>698599
    >>698590
    Я пока просто вырезал WPF и другие десктоп технологии и убрал сленг.
    Добавил вот такую интересную штукенцию: http://edu.cbsystematics.com/ru/education/roadmap/
    Ну и конечно http://www.w3schools.com/
    #136 #699252
    Насколько сложно вкатиться в Win10 Mobile, если я довольно долго пишу под ведро?
    >>699302
    #137 #699302
    >>699252
    Несложно, вот только нахуя?
    >>699606
    #138 #699382
    В чем может быть дело, когда при записи коллекции в DataGrid посредством ItemsSource ( коллекция, на момент заполнения DataGrid, инициализирована) DataGrid заполняется 5-ю пустыми строками?
    >>699410
    #139 #699410
    >>699382
    Это автор вопроса. Короче. Нашел в чем дело. В описании полей не были указаны свойства. Добавил свойства с пустыми гетерами и сетерами и все заработало. Вопрос. Почему так?
    >>699596
    #140 #699596
    >>699410
    Потому что reflection. Через него вытаскиваются свойства, и с ними происходит работа.
    #141 #699606
    >>699302
    Ну скоров винфон вытеснит ведро и серьезно потеснит айос, нужно успеть вкатиться, пока не набежала толпа индусов.
    >>699609
    998 Кб, 500x500
    #142 #699609
    >>699610
    #143 #699610
    >>699609
    Ну давай, хуячь круды на своё ведро. Скоро отправишься на парашу истории, к лисперам и фортранистам.
    #144 #699722
    Аноны, вот есть ситуация: допустим, есть одно приложение, написанное мной на шарпе (win forms) которое дважды запущено на одном и том же ПК. Есть ли возможность передать команду из одного экземпляра приложения на другое? Ну к примеру, есть в приложении метод, который обновляет таблицу, заставляя читать заново файл в датагридвью или чо нибудь типа того. Можно ли запустить метод обновления из одного приложения на другом, может там как нибудь через PID приложений или типа того?
    >>699848>>699897
    #146 #699866
    В проекте unit теста не могу добавить пространство с элементами управления WPF. Вставляю "using System.Windows.Controls;" Компилятор не дает собрать такой проект, пишет что мол Controls нет в System.Windows. Читал на форуме MSDN что WPF приложения не подлежат модульному тестингу. Это из-за этого невозможно добавить это пространство? и можно ли как-то это обойти и все-же добавить его?
    >>700162
    #147 #699897
    >>699722
    Поздравляю, ты только что IPC.
    #148 #700162
    >>699866
    ну, тебе недостаточно только using прописать, вроде бы, нужно в References к проекту подтянуть библиотеку, в которой лежит неймспейс System.Windows.Controls же
    #149 #700169
    Господа, изучаю C# после достаточно поверхностного изучения С, хочу сделать приложение для построения графиков чтобы улучшить свои навыки - что посоветуете использовать?
    >>700177>>707849
    #150 #700176
    Подскажите, есть ли какой-нибудь плагин, чтобы удобно просматривать содержимое двумерных массивов при отладке(в виде таблички, например).
    #151 #700177
    >>700169
    System.Windows.Forms.DataVisualization.Charting.Chart
    >>700420
    20 Кб, 400x300
    #152 #700239
    Хочу сказать, что для Notepad++ есть плагин CS-Script.

    Для учебных целей его достаточно, если нет желания устанавливать отдельную IDE или многогиговую Студию.
    >>700426
    #153 #700406
    Возможно ли в VS2013 протестировать события кликов кнопок WPF. Если да, то было-бы круто тутор какой увидеть. Везде в нете только методы возвращающие значения тестят(
    >>700421>>700425
    #154 #700420
    >>700177
    WPFToolkit.DataVisualization
    >>700425>>704283
    #155 #700421
    >>700406
    В WPF наверно надо тестить комманды твоей вьюмодел. А не клики.
    #156 #700425
    >>700420
    third-party контролы для быдла

    >>700406
    зачем тебе тестировать UI-события? тести логику же
    #157 #700426
    >>700239

    > отдельную IDE


    > многогиговую студию


    На https://code.visualstudio.com/
    #158 #700583
    Есть какие годные решения для обработки аргументов командной строки?
    >>700625
    #160 #700708
    >>694893

    >- The C# Player's Guide, второе издание (RB Whitaker)


    Добра и здоровья тебе и родным.
    #161 #700983
    Хочу вкатиться: ничего не знаю кроме паскаля. Поясните за отличия от крестов: почему начать программировать на с#, а не крестах; в чем принципиальные различия языков?
    >>700991
    #162 #700991
    >>700983
    во многом. наверное, из общего - это визуально похожий синтаксис и буква С в названии
    >>700998
    #163 #700998
    >>700991
    А что по проектам? Что пишут на с# и не пишут на крестах и наоборот. Какой более востребован. Еще иногда раньше заходил в треды, в них писали о связках языков или что-то в этом роде. То если если я начну с#, то что дальше и что можешь сказать о крестах в этом плане?
    >>701001>>701022
    #164 #701001
    >>700998
    с# это энтерпрайз по большому счету (не считая юнити). плюс, работа приложения .net осуществляется посредством виртуальной машины, поэтому, в отличии от ++, здесь гиганский даунгрейд в производительности.
    соответственно, шарп очень востребован в вебе, клауде и прочих модных штуках. необходимость в плюсах знаю только в хорошем геймдеве, но я лах и не знаю больше особенностей применения с++
    #165 #701022
    >>700998
    Всё что требовательно к производительности и памяти - плюсы и просто си.
    Остальное, где скорость разработки, поддержка и тд важнее - на шарпе.
    203 Кб, 1280x853
    #166 #701177
    Попросту открываются два окна (программы и cmd соответственно), и моментально закрываются. Вписывал ещё "> file.txt", так он мне пустой файл создает. Прошу, выручите

    namespace ConsoleApplication2
    {

    class Program
    {
    static void Main(string[] args)
    {
    System.Diagnostics.ProcessStartInfo psi;
    const string command = "cmd.exe";
    psi = new System.Diagnostics.ProcessStartInfo(command,"WHERE /R D:\\ *.cfg");
    System.Diagnostics.Process.Start(psi);
    }
    }
    }
    >>701180>>701182
    #167 #701180
    >>701177
    Так а что ты хочешь сделать? Если просто выполнить команду, то почему бы батник не написать?
    >>701186
    #168 #701182
    >>701177
    тебе же надо дождаться завершения работы процесса, не?
    >>701186
    #169 #701186
    >>701180
    Это не все, что нужно сделать. У меня есть кусок пути к файлу и точное название файла. Мне нужно полностью переписать его. Пока что пытаюсь реализовать поиск нужной папки, ибо файлов с таким названием достаточно много, а менять его нельзя.
    >>701182
    Оно моментально закрывается же.
    >>701188>>701189
    #170 #701188
    >>701186
    И зачем ты для этого вызываешь внешнюю команду? Лучше в сторону Directory.GetFiles посмотри
    >>701190
    #171 #701189
    >>701186
    ну естественно. следом за process.start у тебя следует нихуя, а, следовательно, нужно завершать приложение. процесс, управляемый твоей консолью, закрывается вместе с родительским
    >>701190
    #172 #701190
    >>701189
    Так я приписывал "> files.txt", и оно просто создает пустой файл. Что именно я упустил?
    >>701188
    Я пытался. Сможешь помочь с этим дерьмом?
    >>701191>>701194
    #173 #701191
    >>701196
    27 Кб, 866x570
    #174 #701194
    >>701190
    Если паттерн сложнее - можешь энумерировать и сравнивать по регулярке, например
    >>701196
    #175 #701196
    >>701191
    не особо понял, к чему это приписать в моем случае
    >>701194
    Я только вкатился в C#, не особо понял, что ты имеешь ввиду.
    >>701202
    #176 #701202
    >>701196
    Я просто не знаю какая у тебя там задача, если тебе нужны какие-то особные файлы, с каким-то шаблоном или типа того, можешь использовать что-то вроде

    Directory
    .EnumerateFiles("directory", ".", SearchOption.AllDirectories)
    .Where(f => ...)
    >>701208
    #177 #701208
    >>701202
    Задача:
    Поиск файла в определенной директории (первые папки неизвестны, после определения нужной папки - идет точная последовательность папок, и файл с известным названием, текст в котором будет заменен тем текстом того файла, который будет лежать в одной папке вместе с екзешником программы.
    #178 #701309
    >>701208
    т.е. во всех папках, идущих за каким-то хуем следом за ведомой необходимо найти файл с определенным именем и записать в него какую-то НЁХ, содержащуюся в еще одном известном файле, полный путь к которому также будет известен? так?
    >>701313>>701316
    #179 #701313
    >>701309
    Я такой хуйни в самом ебическом трипе не придумал бы.
    >>701334
    762 Кб, 1024x768
    #180 #701316
    >>701334
    #181 #701334
    >>701313
    сам охуевал по мере написания

    >>701316
    ну, епсель. в общем, к твоим услугам Directory.GetDirectories, foreach, StreamReader, StreamWriter. ну и парочка if, если совсем не еблан
    >>701338
    #182 #701338
    >>701334
    Уже заюзал cmd и рад. Осталось решить проблему с запретом преждевременного закрытия cmdшки.
    >>701343
    #183 #701343
    >>701338
    Process p = new Process();
    p.StartInfo = new ProcessStartInfo()
    {
    // инициализуешь, как тебе надо
    }
    p.Start();
    p.WaitForExit();
    >>701351
    #184 #701351
    >>701343
    Вот походу этот вейтфорексит мне и нужен
    >>701352>>701361
    #185 #701352
    >>701351
    а я тебе о чем еще раньше писал?
    >>701356
    #186 #701356
    >>701352
    На тот момент я пытался бороться с моментальным закрытием консоли. Помог ключ \k перед WHERE
    >>701366
    35 Кб, 748x604
    #187 #701361
    >>701351
    Ну и по факту получишь то же самое, что мог бы получить используя Directory.GetFiles, непонятно чего ты добивался.
    >>701384
    #188 #701366
    >>701356
    Лел, или пиши все на шарпе, или все на скриптах, ты зачем то смешиваешь неудобства каждой технологии, а потом как-то неудобно
    >>701384
    #189 #701384
    >>701361
    >>701366
    Что насчет >>701208 этого?
    >>701396
    #190 #701396
    >>701384
    var en = Directory.EnumerateFiles(...).SkipWhile(...);
    var dir = en.First();
    ...
    #191 #701398
    >>701396
    s/EnumerateFiles/EnumerateDirectories/
    #192 #701402
    >>701396
    Не, чет жирно для меня. Еще не глядел эти функции
    >>701406
    #193 #701406
    >>701402
    EnumerateDirectories будет перечислять все директории подряд, SkipWhile будет пропускать директории до тех пор, пока не попадется соотв. условию, First и получит эту директорию. А дальше уже по задаче. А вообще тут много деталей неизвестно: порядок обхода директорий/файлов, идти ли в глубину или нет и все такое.
    >>701409
    #194 #701409
    >>701406
    Думал, вроде как средней сложности задача, а так просто пиздец за пиздецом. Может, есть какой то сборник задач, именно под шарп? Просто выкатился из крестов, решил что то еще попробовать.
    >>701410
    #195 #701410
    >>701409
    Ой, для крестовика освоиться в шарпе достаточно просто, видимо посредственным ты крестовиком был.
    >>701413
    #196 #701413
    >>701410
    Да вот именно, что легко, просто все эти подходы настолько легкие и примитивные, что я удивляюсь, почему я не решал взяться за него раньше
    #197 #701415
    >>701396

    >SkipWhile().First()


    Ну ненад, first же принимает фильтр.
    >>701418>>701419
    #198 #701418
    >>701415
    ты удивишься, но метод имеет перегрузки
    >>701434
    4 Кб, 863x103
    #199 #701419
    >>701415
    Перегрузки-перегрузочки
    >>701434
    #200 #701434
    >>701418
    >>701419
    Я про это и написал, skipWhile здесь нахуй не нужен. Привет.
    #201 #701435
    >>701434
    вангую, что даже IL одинаковый ну почти, почти в итоге будет
    #202 #701437
    >>701434
    Так моя задача решаема?
    >>701465
    #203 #701440
    >>701434
    А ведь ты прав. Бывает у меня иногда такое, вроде бы очевидное решение, а я все равно лишнюю сущность добавлю и не замечу. Добра тебе.
    >>701442
    #204 #701442
    >>701440
    Хотя с другой стороны ему, вероятней всего, нужно будет этот итератор дальше использовать, чтобы итерировать после SkipWhile'а. У него вроде сначала ищется директория, потом, после того как она найдена, поиск продолжается.
    >>701465
    #205 #701443
    Какие слова здесь в спам-листе?
    >>701445
    #206 #701445
    >>701443
    Я знаю только про sync_h
    >>701446
    #207 #701446
    >>701445
    Без подчеркивания естественно
    345 Кб, 1920x1080
    #208 #701448
    Доброго времени суток, народ, у меня вопрос к присутствующим здесь мастерам Windows Presentation Foundation.
    Моя задача
    Небольшой текстовый редактор (в качестве диплома), только с разнообразными фичами, вроде сниппетов, вставки формул и т.д.

    Очевидное решение
    Строить приложение на базе RichTextBox и FlowDocument

    Проблема
    Не совсем понимаю, как контейнер FlowDocument разбивает содержимое на страницы. Вернее, в какой момент, например, тот же Word понимает, что пора переходить на новую страницу?
    Из чего возникает резонный вопрос: если я хочу на UI отображать большой документ на разных визуальных страницах, то как это лучше всего реализовать? Должны ли быть свои RichTextBox на каждую визуальную страницу, или лучше написать свой собственный контейнер FlowDocument (который, очевидно, будет хуже самого ричбокса) разбивающий содержимое на разные страницы.
    Кстати, есть мнение, что RichTextBox не является самым оптимальным элементом управления для таких целей.

    Помогите советом, пожалуйста.
    #209 #701461
    А расскажите, пожалуйста, насколько сложно вкатиться в шарп при условии, что я имею довольно большой опыт разработки на Java? Есть инфа для свитчеров? Опыт переходивших с разработки под андроид на виндофон, приветствуется.
    >>701464
    #210 #701464
    >>701461
    Ну, немного сложнее, чем в другую сторону. Можешь попробовать по небольшой книге "C# Precisely" пробежаться, на разницу погядеть.
    #211 #701465
    >>701437
    Ну ты если хочешь чтобы за тебя сделали, то пиши полностью что тебе надо.
    >>701442
    Да тут похоже поиск ветви в дереве, так что с итератором посложнее будет надеюсь, что нет
    >>701470
    #212 #701470
    >>701465
    Задача: >>701208
    Я не хочу, что бы решили за меня, а в полных подробностях рассказали, как именно это сделать.
    #213 #701479
    >>701470
    а это не одно и то же?
    #214 #701482
    >>701470
    Ну лол, ищешь папку, идешь в другую папку по точному пути, берешь в ней файл по известному имени и заменяешь его содержимое из другого файла, имя которого тебе известно, и все это без задней мысли.
    >>701489
    472 Кб, 552x624
    #215 #701489
    >>701482
    Ну конечно
    >>701495
    #216 #701490
    >>701470
    Берешь классы File и Directory в неймспейсе System.IO для поиска/замены и решаешь, у тебя же просто несложный алгоритм.
    >>701494
    #217 #701494
    >>701490
    Ты уверен?
    #218 #701495
    >>701489
    за тебя это говно никто писать не будет
    >>701496
    #219 #701496
    >>701495
    А я и не прошу.
    >>701499>>701500
    #220 #701499
    >>701496
    ну тебе уже со всех сторон обсосали, что надо сделать. а ты выебываешься еще
    184 Кб, 579x263
    #221 #701500
    #222 #701506
    ООПоны, нужна помощь. Понадобилось создать структуру, на экземпляр которой можно было бы брать указатель в unsafe блоке. Объявил структуру unsafe, да. Единственное но - мне необходимо, чтобы в структуре была строка. И тут, внезапно, как я понял, поскольку строка ссылочный тип, то придётся мне сосать хуй придумать, как запихать строку через указатель на char. собсна, затем сюда и пишу. Аноны, как запихать стринг в стракт, шобе можно было указатель взять?
    >>701509>>701514
    #223 #701509
    >>701506
    структура по-дефолту в стеке сидит жы. или ты ее пакуешь?

    ну и по сабжу-то, вроде бы как одна из перегрузок конструктора string принимает char*. не?
    >>701512
    #224 #701512
    >>701509
    хз, принимает ли string char, но вот char инициализироваться string'ом не хочет. насчёт того - пакую ли я структуру - не очень понимаю термин "паковать". имеешь ввиду, заворачиваю ли её в класс? если это имеется ввиду, то нет. просто думал, что unsafe прихуячить к объявлению структуры лишним не будет
    >>701520
    #225 #701513
    char*
    #226 #701514
    >>701506
    struct Foo{
    public string Bar;
    }

    public unsafe void Method(){
    Foo obj = new Foo();
    fixed(char* str = &obj.Bar){
    // code here
    }
    }

    Как-то так, я полагаю.
    >>701519>>701526
    #227 #701519
    >>701514
    & там не нужен.
    #228 #701520
    >>701512
    паковать = упаковка в object. т.е. перенос value-type экземпляра в кучу
    >>701526
    #229 #701526
    >>701514
    Не совсем то, что мне нужно, по моему. Я хочу эту структуру передавать через windows'овский SendMessage(), и одним из параметров там будет указатель на структуру, значт мне нужно как то этот указатель получить, для этого мне нужно, шобе все поля структуры были типами значения. Вот щас писал это, и у меня закрались сомнения. Если структура - тип значения, значт, по идее хранится в стеке, который у каждого процесса свой (??? или нет, не знаю), то даже если я передаю другим процессам посредством SendMessage указатель на структуру, созданную в другом процессе, в процессе-приёмнике сообщения полученный указатель нихуя мне не даст? Или можно для межпроцессного взаимодействия использовать передачу указателя на структуру всё таки?

    >>701520
    Ну то есть заворачивал ли её в какой нибудь класс, т.к. любой класс наследует object?
    #230 #701528
    >>701526
    В P/Invoke всё по-другому работает. Там вполне можно использовать StringBuilder в качестве char*, например. А передаваемые структуры должны быть особым образом помечены атрибутами.
    Почитай про эту технологию. Извини, я не достаточно компетентен в этом вопросе.
    #231 #701529
    >>701526
    та какой класс, шош ты тугой такой
    https://msdn.microsoft.com/en-us/library/yz2be5wk.aspx
    есть у тебя struct A {}

    var a = new A(); <-- го в стек

    var packedA = (object) a; <-- го из стека в кучу

    var ololoA = (A) packedA; <-- из кучи в стек
    #232 #701530
    >>701526
    ConcreteStruct s = new ConcreteStruct();
    object o = s; // boxing
    ConcreteStruct s2 = (ConcreteStruct)o; // unboxing
    #233 #701670
    Есть XML. Из-за атрибута узла XmlNode.SelectSingleNode не может прочесть содержимое этого узла. Как это обойти?
    #234 #701694
    Я вам завидую, парни и девушки со строгой типизацией.
    мимо из JS
    >>701717
    #235 #701717
    >>701694
    Ему дали тайпскрипт, а он все еще ходит и завидует.
    >>701723>>702100
    #236 #701723
    >>701717
    Так это хэловордщик, как и "плюсовик" выше.
    >>701730
    111 Кб, 300x240
    #237 #701730
    >>701723
    Я с байтами ебался раньше, чем ты узнал, что такое шарп. На плюсовика он пиздит, ты гляди.
    >>701732>>701802
    #238 #701732
    >>701730
    На самом деле байты ебали тебя.
    >>701758
    #239 #701758
    >>701732
    Вполне
    #240 #701802
    >>701730
    Это как бы подтверждение что ты не писал на плюсах и не видишь разницы с си, а так же эмперическое подтверждение что твоя мать шлюха :3
    >>701837
    22 Кб, 413x395
    #241 #701837
    >>701802
    Хуя школяр завернул
    Поди, пол дня готовился
    >>701858
    #242 #701858
    >>701837
    Думал ещё пол дня потратить на поиск смищной картинки, но понял что большего сын обоссаной шлюхи, который может только менять тему, тащемта не стоит.
    28 Кб, 500x367
    #243 #702018
    Пиздуйте работать, сыновья ...
    #244 #702100
    >>701717
    Тайпскрипт проверяет типы только при компиляции, а не в рантайме.
    >>702106
    #245 #702106
    >>702100
    Тебе этого мало?
    >>702469
    #246 #702136
    Гайз, как из cmd весь текст построчно занести в массив?
    >>702146
    #247 #702146
    >>702136
    О, ты опять выходишь на связь решая все через жопу.
    http://stackoverflow.com/questions/1547476/easiest-way-to-split-a-string-on-newlines-in-net
    >>702156>>702157
    #248 #702156
    >>702146
    По другому не получилось, ну что ты
    #249 #702157
    >>702146
    Алсо расскажи, можно ли получить полный путь файлов с заданной маской?
    >>702182
    #250 #702182
    >>702157
    Што? where.exe отдает полные пути, EnumerateFiles тоже, в чем проблема?
    >>702191
    #251 #702191
    >>702182
    В том, что я взялся 3 дня назад за шарп :)
    #252 #702221
    Int мутабельный тип?
    Если если например
    i=10;
    i=i+1;
    Это изменит значение в стеке с 10 на 11 или же создаст новое?
    #253 #702222
    >>702221
    структуры иммутабельны
    #254 #702228
    >>702221
    Положит значения в eval stack, сложит их там и заменит значение переменной stloc'ом, вроде бы. Не эксперт в этих делах. Или ты на уровне процессора имеешь ввиду?
    #255 #702245
    >>702221
    https://social.msdn.microsoft.com/Forums/en-US/0eab9d9a-330d-489e-a29f-10ba65296e87/are-integers-immutable-?forum=csharpgeneral

    Вот нашел

    > From one perspective, value types can be considered mutable, if you interpret "instance of value type" as the variable itself. From another perspective, value types are immutable, if you interpret the variable as holding the "instance of value type".



    > What he is saying is that the literal '5' is immutable. You can't change its value. Nor can you change the value of a string "like this one", or the value of null. They are immutable. Integers (as in 'int a') are mutable, unless they are declared const.

    >>704228
    #256 #702246
    Анонсы, как работать с Systems.IO.Directory.EnumerateFiles ?
    Наведите пример, буду благодарен.
    >>702254>>702280
    #257 #702254
    >>702246
    забей хуй, может, а?
    >>702256
    #258 #702256
    >>702254
    Ну пожалуста :(
    >>702260
    #259 #702260
    >>702256
    foreach / linq
    #260 #702263
    Изменит старое, создав новое и заменив им старое.
    >>702267
    #261 #702267
    #262 #702280
    >>702246
    var files = System.IO.Directory.EnumerateFiles("path\\directory");
    foreach(string file in files)
    Console.WriteLine(file);
    >>702372
    #263 #702372
    >>702280
    добра :)
    #264 #702465
    ребятки, есть ли необходимость использовать полноценный паттерн Dispose для классов, имеющих управляемые ресурсы точнее, оболочек над ними, к примеру, DbContext?

    либо достаточно реализовать IDisposable для класса и вызывать Dispose() у экземпляра DbContext?

    либо же вообще положить хуй на это дело ну, если мы, к примеру, имеем дело с веб-приложение и управляет жизнью объектов какой-нибудь IoC-контейнер Per Request и не заморачиваться?
    #265 #702469
    >>702106
    Я хочу, чтобы моё приложение внезапно падало с ошибкой Incorrect type.
    >>702476
    #266 #702476
    >>702469
    Я тебе еще на стадии проектирования могу сказать, что ты долбоеб.
    #267 #702484
    Аноны, в чём может быть проблема: посылаю сообщение из одного активного приложения другому (оба по сути - одно и то же приложение, запущенное n раз) посредством метода SendMessage (IntPtr handler, uint msgCode, IntPtr wParam, IntPtr lParam) из user32.dll, и в качестве lParam посылаю указатель на структуру, созданную и уже инициализированную в приложении, которое посылает сообщение. На момент отправки указатель указывает на инициализированную структуру, но когда другое приложение принимает сообщение, под указателем находится неинициализированная структура, или я неправильно посылаю. И ещё, в интернете натыкался на то, что если и засылать структуру в lParam, то у неё нужно определённые поля объявить, или не важно? Кастовать принятую в другом приложении структуру пробовал по разному, но всё безрезультатно.
    >>702499
    #268 #702499
    >>702484
    msgCode какой?
    >>702501
    #269 #702501
    >>702499
    Свой кастомный же, в моём случае поставил Ax123. Я в зависимости от содержимого структуры хочу выполнять определённые действия. Ты про то, что код не должен быть кратен 2?
    >>702502>>702507
    #270 #702502
    >>702501
    тьфу, 0хА123
    >>702506
    #271 #702506
    >>702502
    Кажись, начал догадываться в чём проблема - неправильный каст, щас попробую скастовать как надо.
    #272 #702507
    >>702501
    Я про маршалинг. Если ты используешь кастомное сообщение ты не можешь просто передать адрес структуры, так как этот адрес имеет смысл только для процесса которое эту структуру создало. В другом приложении этот адрес будет указывать на рандомный кусок памяти.
    >>702512
    #273 #702512
    >>702507
    Кхм, про маршалинг я нихуя не знаю. Не объяснишь, как тогда через sendMessage() отослать другому процессу структуру? Ну или хотя бы линк на достоверный мануал
    >>702522
    #274 #702522
    >>702512
    Я хуй знает как в сишарпе это делается, я прост омимокрокодил. Попробуй что-то типа такого
    [DllImport("user32.dll")]
    public static extern int GetClassName(IntPtr hwnd,
    [MarshalAs(UnmanagedType.LPStr)] StringBuilder buf,
    int nMaxCount);
    >>702527
    #275 #702527
    >>702522
    Ну а в целом что означает маршалинг в данном случае? Типа я сообщаю ОС о том, что по такому то адресу находится такая то структура, и после этого по этому адресу любой процесс при правильном касте может получить значения из этой структуры?
    >>702540
    #276 #702540
    >>702527
    Ты сообщаешь системе что данный аргумент - адрес в адресном пространстве процесса, тоесть виртуальный адрес в виртуальной памяти, а не реальный адрес физической ячейки памяти в которую непосредственно вписана структура. Следовательно он не передается напрямую, а определенным образом изменяется, и другой процесс получает (тоже виртуальный скорее всего) адрес по которому он может прочитать структуру.
    ## Mod ## #277 #702574
    По просьбе ОПа в шапку на пробу добавлена версия, разрабатываемая в рамках экспериментальной программы кастомных шапок. Предварительная информация о программе и исходники шапок находятся здесь: https://github.com/pr-hats/2ch.hk-pr-Hats/wiki
    >>702865>>702985
    #278 #702865
    >>702574
    \r\n в шапке мешает.
    >>702866
    #279 #702866
    >>702865
    Зашёл в тред и он пропал. В пхп теперь сделай так. У них в 1 пост не влазит.
    #280 #702985
    >>702574

    > pr-hats


    > hats


    Ты бы еще panamas назвал.
    19 Кб, 340x299
    #281 #703037
    Ребят, суть токова: пилю простецкий тестик с двумя радиокнопками и кнопкой "далее". Мне нужно, чтобы в процессе выполнения цикла программа ждала, пока я не нажму на кнопку "далее".
    Вот этот код прокатил:
    (buttonNextClicked — флаг, детектирующий, нажата ли кнопка "Далее")

    while (!buttonNextClicked)
    {
    Application.DoEvents();
    }

    но теперь, когда тест только начинается, событие ждёт клика в любом месте формы, а уже потом работает адекватно и всё как надо перекулючает. т.е тест запускается — ждёт один клик, до его все кнопки и прочее даже не выделяются — клик происходит — всё пашет как надо.

    Поскажите, как эту хрень убрать? Сымитировать нажатие мыши? Или есть более красивые пути?
    >>703041
    #282 #703041
    >>703037
    Почему не навесить событие buttonClick?
    >>703042
    #283 #703042
    >>703041
    Я так понял что у него в событии buttonClick висит флаг buttonNextClicked, который в while потом и передаётся, чтобы задетектить, когда остановить while и внешний цикл for пошёл на второй круг. Может не так понял, хз.
    566 Кб, 1075x714
    Microsoft Build 2016 #284 #703066
    Ну что ананасы, будете смотреть?

    https://build.microsoft.com
    >>703072>>703179
    #285 #703072
    >>703066
    Будем-будем
    #286 #703179
    >>703066
    расскажите в двух словах, че будет-то? кроме раздачи халявной 10ки ессессно
    #287 #703183
    Эй народ,подкиньте туториалсов по вебхукам(че это,как юзать)(откопал свой старый проект WoL бота для телеграмма),а то весь инет уже перерыл и нихуя не понял.
    >>703189
    #288 #703189
    >>703183
    Второй апдейт к 15 студии пришел, кстати
    52 Кб, 1007x644
    #289 #703305
    Неужели они осилили установщик, который не будет тянуть десятки гигабайт со всяким бесполезным говном?
    >>703306
    #290 #703306
    >>703305
    Хотя идея выпустить Visual Studio 15 после Visual Studio 2015 кажется ебически тупой, это же сколько путаницы будет
    >>703309
    #291 #703309
    >>703306
    Это подойдет для вкатывания?
    >>703310
    #292 #703310
    >>703309
    Думаю да, но вангую, что она пока еще не очень стабильна. Я сейчас на виртуалку поставлю, погоняю немного, и отпишусь.
    >>703313
    #293 #703313
    >>703310
    Очень буду благодарен. А то обычный комунити не ставится, ошибки ошибочки 2016
    >>703315
    #294 #703315
    >>703313
    А какие конкретно ошибочки?
    >>703321
    #295 #703319
    Удивительно быстро студия поставилась, за минут 5. Обычно по 40минут-часу ждал.
    #296 #703321
    >>703315
    Сбой пакета пишет. Попозже скрин залью, сейчас удаляю кой-чего
    55 Кб, 1366x768
    #297 #703324
    Вроде особой разницы с 2015 студией нет, но зато сама студия занимает места в 2 раза меньше, работает быстрее, кучу бесполезных экстеншенов не поставила, установилась быстро. Вроде как и удаляется полностью без проблем. Ну а так это все-таки первое превью только
    >>703327>>704021
    #298 #703327
    >>703324
    А, так это энтерпрайз ведь?
    >>703334
    #299 #703334
    >>703327
    Лол, я вроде коммьюнити качал
    #300 #703340
    >>703365
    #301 #703349
    О мой год.
    Почему мне никто не рассказал про TypeScript.
    Такая-то няшка. Типы, классы, интерфейсы.
    Ебал я в рот эту динамическую парашу.
    Я кончил.
    >>703360
    #302 #703358
    Алсо, вероятней всего в седьмом шарпе все-таки будет паттерн-матчинг
    #303 #703360
    >>703349
    Ну и нахуя он нужен, если есть GWT?
    >>703361>>703380
    #304 #703361
    >>703360
    При чем тут вообще GWT?
    #305 #703365
    >>703340
    Апать cmd.exe?нахуй надо,если есть опенсорсный баш,который проще привинтить к винде.
    >>703366
    #306 #703366
    >>703365
    Так это не только баш, а полноценная убунта, с репозиториями, с apt-get'ом, вот этим всем
    >>703385
    #307 #703380
    >>703360
    Наркоман?
    При чем тут GWT?
    Мне непривычен жс при разработке фронтэнда. Сегодня на build2016 увидел typescript и охуел.
    #308 #703385
    >>703366
    Мы вставили тебе убунту в винду,чтобы ты мог юзать ось конкурентов в то время,когда сидишь в нашей.
    >>703391>>703392
    #309 #703391
    >>703385
    Как что-то плохое, юниксовое окружение - это единственное чего мне не хватает в вин, сам сижу с запущенным в headless режиме виртуалбокса арчем, запущенным в нем ssh и общими папками. Неудобно, но тепримо. А вот нативная имплементация это вообще круто, только вангую, что завезут только в десятку, так что мне придется и дальше сидеть как сижу.
    >>703396
    #310 #703392
    >>703385
    sudo apt-get install kaspersky-full-no-reg-sms-free
    #311 #703396
    >>703391
    Майки про семерку уже почти забыли.вангую через годик-другой поддержку прекратят,как хп.
    >>703399
    #312 #703399
    >>703396
    Так у меня и не семерка, 8.1, но подозреваю, что даже на пред. версию не выпустят, не зря же у них такая агрессивная кампания по переводу всех на десятку.
    >>703401
    #313 #703401
    >>703399
    И как 8.1?Лично мне и на семерке норм.
    #314 #703411
    Почему Assert.AreEgual при сравнении двух объектов созданных одинаковыми конструкторами не считает объекты одинаковыми? Неужели нужно, чтобы класс объектов реализовывал IComperer?
    #315 #703414
    >>703411
    Equals переопредели
    >>703417
    #316 #703417
    >>703414
    >>703411
    у меня, кстати, была такая же фигня и после определения Equals. конечно, я подозреваю в том, что я где-то лажал, но при этом Assert.IsTrue(obj1.Equals(obj2)) не валил тест
    >>703425
    #317 #703424
    Мб конфу в телеграме запилить,как политота?
    #318 #703425
    >>703417
    м, я переопределял IEquatable<T>. а Assert юзает object'овский equals. вот и причина подъехала, видимо
    #319 #703435
    >>703411
    Поробуй IEquatablе<T> реализовать кастомно.
    #320 #703457
    >>702221

    >Int мутабельный тип?


    Вот и засралась голова. Следующий вопрос наверно будет про лямбды: являются они делегатами или просто встраиваются в место вызова.

    Алсо, завидую что в новом шарпе есть модификатор inline для методов.
    >>703661>>704228
    #321 #703661
    >>703457

    > Алсо, завидую что в новом шарпе есть модификатор inline для методов.


    Вут? Ты про AggressiveInlining?
    >>704180
    #322 #703846
    Господа, в чем отличие использования делегата от именного вызова функции?
    >>703947
    #323 #703947
    >>703846
    Ни в чем, если ты можешь обращаться к функции и к делегату непосредственно.
    Гугли что такое указатели на функции в C++.
    >>703994
    #324 #703952
    Посоны, что в asp.net mvc используется для dependency injection? Unity?
    #325 #703994
    >>703947
    А нахуя тогда ввели делегаты?
    >>704000
    #326 #704000
    >>703952
    не юнити точно но что, не знаю

    >>703994
    потому, что ты не можешь передать в метод/класс функцию. тут, конечно, можно обойтись интерфейсами но делегаты имеют поддержку на уровне jit
    >>704056
    sage #327 #704021
    >>703324
    а ссылочку можешь на неё кинуть? Чёт не нахожу на сайте майков.
    >>704024
    #328 #704024
    >>703952
    ninject
    >>704021
    сажа прилипла
    >>704038
    #329 #704031
    >>703952
    Так в новый ASP.NET MVC же завезли di, разве нет?
    >>704038
    #330 #704038
    >>704031
    Так завезли, вот как его релизнут так сразу.
    >>704024
    Спасибо, тоже на него смотрел, просто в доках везде unity.
    >>704041
    #331 #704041
    >>704038
    ninject довольно медленный
    плюс, по дефолту он не встроен в mvc лол
    >>704046
    #332 #704046
    >>704041
    По дефолту там ничего не встроено, мне самому штоле писать. Можно autofac еще попробовать конечно, ну или new().
    #333 #704056
    >>704000
    А почему нельзя внутри метода/класса вызывать функцию?
    >>704066
    #334 #704066
    >>704056
    можно. но если ты не хочешь привязываться к определенному поведению? вот например, как реализовать выборку IEnumerable.Where() без делегата?
    >>704113
    #335 #704113
    >>704066
    Я сишарп только начинаю изучать, поэтому не особо понимаю работу выборки через этот интерфейс
    >>704145
    #336 #704145
    >>704113
    да забей на ienumerable. если у тебя есть объект или их коллекция, тебе необходимо произвести над ним операцию отсортировать коллекцию, при этом действие не может быть определено статически. i.e. ты это перекладываешь на рантайм
    #337 #704174
    Ананасы, помогите тупому, а то скоро ебанусь от дотнета. Нужно на WPF скачать немного картинок по прямым ссылкам и затолкать в ListBox. Скачать получается, забиндить текст в ListBox тоже, но соединить всё это не получается. В гугле какая-то каша, нихуя не могу понять.
    >>704244
    #338 #704180
    >>703661
    Да.
    В нете 3.5 была только опция MethodImplOptions.NoInlining , а с отстальным как решит оптимизатор/повезет. Теперь можно явно сказать компилеру какие методы нужно упаковывать ногами.
    >>704199
    #339 #704199
    >>704180
    AggressiveInlining все равно не гарантирует, что метод будет заинлайнен
    #340 #704228
    >>703457

    > Вот и засралась голова.


    В смысле засралась?
    Что не так в моем вопросе?
    >>702245 вот этот ответ все разъяснил
    #341 #704244
    >>704174
    Вставь в каждый ListBoxItem по картинке(Image) привязуй их к картинкам(src,вроде).Типа
    <ListBox>
    <ListBoxItem>
    <Image src="{Binding путь_к_картинке}"/>
    </ListBoxItem>
    ......
    </ListBox>
    >>704255
    #342 #704255
    >>704244
    там, по-моему, должен быть проперти ItemsSource, к которому надо биндить, не? иначе, откуда ты знаешь, сколько listboxitem-ов тебе нужно наебенить?
    >>704306
    #343 #704260
    А между тем Xamarin стал бесплатным
    >>704261>>704262
    #345 #704262
    >>704260
    НУ НАКАНЕЦТА! Вот теперь заживем. Как же я ненавижу жабу, но эти дикие прайсы были просто пиздец. Кодил со слезами на ней для ведра.
    >>704265
    #346 #704265
    >>704262
    Такая же хуйня, братишка, такая же хуйня. У нас еще и работы на ксамарине все больше становится за последнее время, может с этой новостью все станет еще лучше
    #347 #704283
    >>700420
    Как сделать так, чтобы отображалась палитра контролов WPFToolkit?
    #348 #704306
    >>704255
    Мб автору надо известное количество картинок в листобокс засунуть.А впрочем,ты прав.
    #349 #704572
    мож переиначим тред в следующем перекате как .NET тхрэад?
    >>704575>>704584
    #350 #704575
    >>704572
    а не похуй ли?
    >>704617
    #351 #704579
    Пацаны, какой есть аналог у modelstate, например, в консольном приложении. Я расписал атрибуты у свойств объекта, как мне теперь проверять соответствие этим атрибутам?
    >>704617
    #352 #704584
    #353 #704617
    >>704575
    публика пущай решает. как по мне, вполне логично
    >>704579
    как это делает веб-приложение: пробегать по свойствам экземпляра и вызывать методы атрибута для его (экземпляра) валидации, наверное
    имя #354 #704645
    Двачата, никогда не юзал бд, а на неделе полез в сторону entity fraemwork, посмотрел пару туториолав и у меня возник вопрос: допустим у меня в таблице овер9000 строчек, но мне оттуда нужна одна.Итак, создал dbcontext, вытянул таблицу, через линк выцепил одну строчку которую надо, показал.Внимание вопрос: в этом случае ко мне потянутся все овер9000 строчек и только потом файндится одна, или он более умный и составит правильный sql запрос, по которому вернет одну правильную строчку?
    #355 #704685
    >>704645
    Вангую, что только одна.
    мимошел
    >>705010
    #356 #704686
    >>704645
    Конечно одну, линк именно для этой цели лениво вычислим.
    >>705010
    #357 #704730
    >>704645
    Одну естественно, а вообще как вызовешь.
    >>705010
    #358 #704735
    >>704645
    линк то энтити вытащит одну(как L2S)
    >>705010
    #359 #704793
    Шарпач, пытаюсь освоить аттрибуты.
    Как пройтись по всем аттрибутам в классе?
    http://pastebin.com/VciCcBJE
    >>704824
    #360 #704823
    Господа, помогите с этическим выбором.
    Есть одна программа с расчетом около 40 показателей, каждый считается по своим рукоблудным формулам, пересекаются разве что промежуточные расчеты(средние всякие, проверка на приемлемость отклонений етс).
    Правильно ли будет на каждый показатель организовать свой класс, а пересекающиеся расчеты выделить в один общий. Или можно все в одном хуярить.
    >>704843
    #361 #704824
    >>704793
    [code]
    Атрибуты полей:
    Attribute[] attrs = Attribute.GetCustomAttributes(element, typeof(CustomAttributeType), true);

    Атрибуты типа ( [Header("Main")] в твоем случае) :
    CustomAttributeType[] typeAttrs = (CustomAttributeType[])type.GetCustomAttributes(typeof(CustomAttributeType));

    [/code]
    #362 #704825
    >>704824
    Лол блядь, в ебаной пиздабе нет тега code.
    #363 #704827
    >>704824

    >CustomAttributeType[] typeAttrs = (CustomAttributeType[])type.GetCustomAttributes(typeof(CustomAttributeType));



    Type type.
    >>705096
    #364 #704828
    >>704824

    >Attribute[] attrs = Attribute.GetCustomAttributes(element, typeof(CustomAttributeType), true);



    MemberInfo element
    >>705096
    #365 #704843
    >>704823
    Слишком общий вопрос, тут может и так и сяк быть лучше. Но в принципе если у твоих показателей нет необходимости включать в себя какие-то дополнительный данные (т.е. у тебя только формула вычисления и зависимости через аргументы), то класс под каждый показатель заводить нахер не надо.
    >>704865
    #366 #704865
    >>704843
    Спасибо.
    А если я потом захочу сделать ввод данных выборочно по одному из показателей или по нескольким из, то все же заранее по классам может разнести?
    #367 #704932
    Хлопци, поясните вот за какой момент: много ли времени занимает обработка исключения посредством try-catch блоков? Нормальная ли практика пихать их везде и всюду, или с такой архитектурой код будет заметно медленнее кода, написанного так, что исключения просто не могут возникнуть?
    #368 #704945
    >>704932

    > много ли времени занимает обработка исключения посредством try-catch блоков


    по сравнению с

    > написанного так, что исключения просто не могут возникнуть


    ну конечно медленней. как минимум на время построения экземпляра исключения

    > Нормальная ли практика пихать их везде и всюду


    ну а сам как думаешь?)
    исключение нужно выбрасывать в действительно исключительной ситуации (кэп, здарова).
    ну, а также в случае, если тебе необходимо быстро решительно прервать выполнение большого куска бизнес-логики, при некоей возникшей ситуации. отличным примером этому служит Task-и с подключением CancellationToken. либо же прерывание веб-запросов (также, используя CancellationToken)
    >>705533
    #369 #704947
    >>704932

    >много ли времени


    Очень много. Пиздец как много на самом деле.

    >Нормальная ли практика пихать их везде и всюду


    Нет
    >>705533
    #370 #705010
    >>704735
    >>704730
    >>704686
    >>704685
    да это же просто сочный сон! Очень удобно
    Теперь может кто-нибудь подскажет как завести entity, чтоб первый запрос двигался как-то побыстрее? Или может есть альтернативы этого изящества?
    >>705012
    #371 #705012
    >>705010

    > как завести entity, чтоб первый запрос двигался как-то побыстрее


    шошо?

    > Или может есть альтернативы этого изящества


    альтернативы EF? ну NHibernate, например
    и вообще https://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET
    >>705020
    #372 #705020
    >>705012
    ну чтоб ответ на первый запрос пришел я жду слишком много для 2016 года (несколько секунд), остальные же летят заметно побыстрее. Разве никто не замечал?
    entity полностью устраивает за исключением вышеописанного. Это проблема всех orm или только entity?
    >>705022>>705026
    #373 #705022
    >>705020
    у тебя веб-приложение, или с консолей/формов происходит тоже самое?
    >>705029
    sage #374 #705026
    >>705020

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


    Это у тебя что-то не так. Может это просто первый запрос, когда разогревается clr, это вообще нормально.
    >>705027
    #375 #705027
    >>705026
    какое блеать разогревается CLR?
    #376 #705029
    >>705022
    это происходит со всем при первом запросе в программе
    в веб-приложении не сильно заметно, потому что оно в памяти постоянно, но если iis выгрузит домен веб-приложения, то при запросе на страничку первый запрос к бд долгий. Остальные летят
    #377 #705096
    >>704824
    >>704827
    >>704828
    Не получается пройтись по аттрибутам свойств в классе. И по самим свойствам тоже.
    http://pastebin.com/m6AirJWJ
    >>705103
    #378 #705103
    >>705096
    https://dotnetfiddle.net/dtlw9l
    хули там у тебя не работает?
    >>705110
    #379 #705110
    >>705103
    Ну а где ты видишь, чтобы цикл выводил значения Title и Value?
    >>705113>>705115
    #380 #705113
    >>705110
    где ты видишь, чтобы класс Cast имел аттрибут Option?
    >>705114>>705119
    #381 #705114
    >>705113
    атрибут*

    да что ж я блять вечто с этими тт
    #382 #705115
    >>705110
    Ты какой-то тупой.

    Где ты видешь в этом коде сохранение параметров конструктора и перегрузку ToString() ?

    class Option : Attribute
    {
    public Option(string op, int hui)
    {
    }
    }
    >>705117>>705119
    #383 #705117
    >>705115
    та даже дело не в этом-то
    #385 #705120
    >>705119
    https://dotnetfiddle.net/dtlw9l
    поправил, спейшл фо ю
    >>705124
    #386 #705124
    >>705120
    Получить аттрибут класса... и в моём коде это работает.
    Не могу получить аттрибуты свойств в этом классе.
    Вот эти: [Option("p1", 12)]
    >>705127>>705128
    #387 #705127
    >>705124
    ну так посмотри, откуда ты их вообще пытаешься получить
    #388 #705128
    >>705124
    Так ты сначала получи список свойств класса и у них уже атрибуты дергай
    >>705130
    #389 #705130
    >>705128
    так и как это сделать?
    >>705131
    #390 #705131
    >>705130
    GetType().GetProperties(BindingFlags.GetProperty|BindingFlags.Public|BindingFlags.Instance).SelectMany(mi=>mi.GetCustomAttributes<YourAttribute>())
    >>705132
    #391 #705132
    >>705131
    спасибо
    >>705138
    #392 #705138
    >>705132
    И еще добавляй Attribute к названиям классов, который наследуется от System.Attribute. Ну типа OptionAttribute вместо просто Option
    >>705160
    #393 #705160
    >>705138
    учту, спасибо
    #394 #705383
    https://www.reddit.com/r/csharp/comments/4ctoy7/exploring_pattern_matching_in_c/
    Вот, кстати, немного о паттерн-матчинге в седьмом шарпе
    >>705411
    #395 #705411
    >>705383
    в статье настолько примитивные примеры, либо я правда не понял, зачем оно все это нужно? ну, скажем:

    int? value = 25;
    if (value is int x)
    {
    // use x
    }
    х вместо value.Value задуман ради экономии времени печатанья 10 символов?

    Type? v = x?.y?.z;
    if (v.HasValue)
    {
    var value = v.GetValueOrDefault();
    WriteLine(value);
    }

    а тут вообще нихуя не понятно, мы, зная, что nullable-структура содержит данные, лезем в GetValueOrDefault

    сможет новый паттерн матчинг позволить напечатать некоторое:
    object op = "hui";
    if (op is string kek) {}
    ?

    если нет, то зачем все это)
    #395 #705411
    >>705383
    в статье настолько примитивные примеры, либо я правда не понял, зачем оно все это нужно? ну, скажем:

    int? value = 25;
    if (value is int x)
    {
    // use x
    }
    х вместо value.Value задуман ради экономии времени печатанья 10 символов?

    Type? v = x?.y?.z;
    if (v.HasValue)
    {
    var value = v.GetValueOrDefault();
    WriteLine(value);
    }

    а тут вообще нихуя не понятно, мы, зная, что nullable-структура содержит данные, лезем в GetValueOrDefault

    сможет новый паттерн матчинг позволить напечатать некоторое:
    object op = "hui";
    if (op is string kek) {}
    ?

    если нет, то зачем все это)
    >>705476
    #396 #705420
    Не, ну Xamarin... Чуете что будет с рынком разработок на мобильные, да?
    #397 #705424
    >>705420
    То же, что и сейчас?
    #398 #705439
    >>705420
    Никому не всрался нахуй этот ксамарин, пока там сплошные костыли на каждую платформу и еще приходится тащить с хэловордом по 20-30 мб говна.
    #399 #705476
    >>705411
    снимаю вопрос, лол
    #400 #705533
    >>704932

    >много ли времени занимает обработка исключения посредством try-catch блоков?


    Вот эти
    >>704945
    >>704947
    господа абсолютно правы. Ловля исключений - это исключительно долгий процесс. Местами код может исполняться в десятки раз дольше, лол. Ну тащемта ты сам это можешь проверить на примере парсинга относительно большого файла, например.
    Поэтому лучше сводить try catch к минимуму, а лучше вообще не использовать. Проверить несколько условий всё равно быстрее, чем в итоге разбираться с исключением.

    >>705420

    >Xamarin...


    Да срали все на эту парашу, пока она платная или я что-то пропустил за время своего мартыханства на asp.net?.
    #401 #705544
    >>705533

    >платная


    >я что-то пропустил


    This.
    >>705555
    #402 #705555
    >>705544
    Это ты про Starter версию?
    >>705608
    #403 #705559
    Шарп для фриланса подходит?
    Если да, то какие задачи обычно стоят перед фрилансером? Что нужно знать для их решения?
    >>705565
    #404 #705565
    >>705559

    >Шарп для фриланса подходит?


    Да, работы дохуище.

    >Если да, то какие задачи обычно стоят перед фрилансером? Что нужно знать для их решения?


    С вероятностью овер 90% это будет ASP.NET.
    >>705591
    #405 #705591
    >>705565

    >>Шарп для фриланса подходит?


    >Да, работы дохуище.


    >


    >>Если да, то какие задачи обычно стоят перед фрилансером? Что нужно знать для их решения?


    >С вероятностью овер 90% это будет ASP.NET.


    В какой момент можно начинать выполнять простые проекты? Как понять, что ты уже готов?
    #406 #705608
    >>705555
    Нет
    #407 #705767
    >>705533

    > Проверить несколько условий всё равно быстрее


    от задачи зависит. охренеешь проверять условия, если в глубину нескольких сервисов ушел
    #408 #705849
    >>705533
    А тогда такой вопрос: много ли времени занимает установка трай-кэтч? Например исключение вылетает только в 1% случаев, будет ли просед по производительности в остальных 99% случаев, когда исключение не вылетает, но я навтыкал неведомо сколько траев?
    >>705850>>705858
    #409 #705850
    >>705849
    Все норм будет, никаких проседаний
    #411 #705886
    Аноны, оно файл не создает, нихуя не пишет соотвественно, а нужну строку выводит?

    namespace ConsoleApplication
    {
    class Program
    {
    static void Main(string[] args)
    {
    Process search = new Process();
    search.StartInfo = new ProcessStartInfo("cmd", "/k WHERE /R D:\\ config.cfg > temp.txt && exit");
    search.Start();
    search.WaitForExit();
    string[] paths = File.ReadAllLines("temp.txt");
    Console.WriteLine(paths[1]);
    Console.ReadLine();
    }
    }
    }
    >>705889>>705914
    30 Кб, 320x320
    #412 #705889
    >>705886
    Бляяядь, снова ты.
    >>705894
    4 Кб, 192x42
    #413 #705894
    >>705889
    Ты ночуешь тут?
    >>705895
    #414 #705895
    >>705894
    Но сейчас же день. У меня вкладочка в хроме прикреплена
    >>705896
    1 Кб, 24x24
    #415 #705896
    >>705895
    Ну дык помоги, ну
    >>705897
    #416 #705897
    >>705896
    Не буду, я тебе уже и решение с вызовом внешней утилиты давал, и с методами из system.io.file, но ты все равно вернулся к этой хуйне и даже умудрился сделать все еще хуже. Я пас.
    >>705900>>705902
    1 Кб, 48x48
    #417 #705900
    >>705897
    Ха, я в этот раз юзнул тот метод, который мне предложили тут.
    1 Кб, 88x31
    #418 #705902
    >>705897
    Из за таких уебков, как ты, все желание пропадает.
    >>705909
    #419 #705909
    >>705902
    Почему уебков? Я ему написал 2 решения, объяснил как делать правильно, проверил чтобы все работало, а он опять свою хуйню лепит.
    #420 #705914
    >>705886
    у тебя дефолтный путь для cmd отличается, скорее всего, от пути запуска твоего высера
    #421 #706054
    Xamarin сделали бесплатным, но теперь нельзя скачать xamarin studio для windows. Извольте ебаться с уебищной студией. Охуеть.
    >>706056>>706369
    #422 #706056
    >>706054

    > уебищной студией


    Да ты охуел!
    #423 #706102
    Двачата, посоветуйте годных книг/статей по machine learning/нейронным сетям,а то заебался уже искать
    >>706114>>706123
    #424 #706114
    >>706102
    в шапке же. плюс coursera
    >>706116>>706117
    #425 #706116
    >>706114
    в шапке одна книга по machine learning
    #426 #706117
    >>706114
    На 148 страниц
    #427 #706123
    >>706102
    thoughtful machine learning
    >>706141>>706142
    #428 #706141
    >>706123
    я в руби не шарю
    #429 #706142
    >>706123
    зачем,по твоему,в C# тред написал?
    >>706145
    #430 #706145
    >>706142
    Адаптировать под шарп не можешь? Штож ты за программист такой.
    >>706248
    #431 #706165
    Поясните за .net для стартапов. Неужели он используется только в тырпрайзе? Мне конечно повезло один раз, я попал в стартап, где использовали C#, но инфраструктура(самопис-driven development и сервак в подвале) у нас своя была потому что на тот момент небыло подобных костылей, и приходилось по своему все реализовывать.
    Нигде не видел штоб использовали .net, везде руби-хуюби.
    Вот например я буду реализовывать свою ниибически крутую идею. Где мне деплоить свой охуительный прототип? bizspark уже требует зарегестрированную компанию, и что-то вроде heroku в мир дотнета не завезли еще appharbor недоделанный какой-то и то есть поддержка от васяна с прикручиванием mono, который тоже не ахти. Ощущение, что все завязано на мелкомягких, и от них просто так не уйти.
    >>706169>>706171
    #432 #706169
    >>706165
    А Azure чем не устраивает?
    >>706175
    #433 #706171
    >>706165
    Нахуй оно тебе? Возьми Питон и не еби мозга. Или какую-нибудь Джаву/Скалу для йоба-устойчивости/производительности.
    >>706179>>706185
    #434 #706175
    >>706169
    В прошлом году дали триал, уже попользовался им. Не хочется регистрировать новый акк для каждой своей затеи. Пошел искать всевозможные варианты и чет приуныл.
    >>706176
    #435 #706176
    >>706175
    Да там же все копейки стоит, хуле того триала.
    #436 #706179
    >>706171
    Просто опыт не хочется проебывать. 4 года уже с ним работаю. C# такая-то няшка.
    >>706180
    #437 #706180
    >>706179
    Врядли у тебя стартап на год фуллтайма. Попробуешь не менее няшную Скулу (Питон не могу назвать нашей, он просто практичный), расширишь сознание кругозор, никуда твой опыт не проебется.
    >>706182
    #438 #706182
    >>706180

    >Скалу


    пиздец, аж стыдно стало от такой опечатки
    #439 #706185
    >>706171
    А ты в чем-то прав. Подумал я, что не стоит акцентироваться на одном языке\платформе.
    Сейчас же фп модно? Пойду тогда на closure побылдлокожу.
    Добра.
    >>706187
    #440 #706187
    >>706185
    Да, фп, еще мощные системы типов (Scala-Kotlin-Swift очень похожи). Хотя динамика тоже полезна весьма.
    #441 #706248
    >>706145
    лень.+ на тостере годную книгу(Саймон Хайкин-"Нейронные сети.Полный курс") нашел
    >>706302
    #442 #706302
    >>706248
    збс, схоронил
    #443 #706369
    >>706054
    Да ты охуел поц, этот сраный XamarinStudio даже C# 6.0 не поддерживает и тормозит нехуйски.

    До сих пор ебусь с ней из-за того что работаю на маке (а там нет VS)
    #444 #706383
    Где достать ништяков под двенадцатый dx? Подразумеваю, что мелософт перестал поддерживать XNA в далёком 2010 году за исключением небольшого рефреша.

    Что же делать, неужели переходить на кресты?
    >>706508
    #445 #706508
    >>706383

    >Где достать ништяков под двенадцатый dx?


    В гугле забанили? SharpDX
    #446 #706561
    Анон, выручай. Нужно в Sharepoint сделать сайт одностраничку с контактами и возможностью добавлять/редактировать всё это. Могу запилить это в студии, не знаю как это правильно залить на сайт.
    С меня тонны нефти
    >>706563
    #447 #706563
    >>706561
    Из полезного смог нагуглить только "давайте создадим сайт" и "давайте поставим СПП дизайнер"
    TEST Аноним #448 #706573
    >>706719
    #449 #706719
    >>706786
    #450 #706786
    >>706719
    пример разработки. таким кодом нужно восхищаться, очевидно ж
    >>706842
    sage #451 #706842
    >>706786
    Двачую, такие то конструкторы.
    >>706891
    #452 #706891
    >>706842
    Хуёвые

    > public Color(byte red, byte green, byte blue) : this(red, green, blue, 255) {}

    #453 #706894
    >>706891
    про сарказм не слышал?
    на самом деле, конпелятор все-равно сгенерит код, который представил нам неуважаемый аноний
    #454 #706898
    >>706891
    Я бы еще класс sealed сделал, и в unchecked бы GetGrayscale обернул
    #455 #707212
    >>706891
    Параметры по умолчанию для кого придумали?

    >>public Color(byte red, byte green, byte blue, byte alpha = 255)

    >>707213
    #456 #707213
    >>707212
    а разница?
    >>707214
    #457 #707214
    >>707213
    Короче. Нет необходимости ручками объявлять перегрузку конструктора.
    >>707215
    #458 #707215
    >>707214
    а если не лень, то разница?
    >>707218>>707220
    #459 #707218
    >>707215
    Нет никакой разницы. Не хочешь использовать синтаксический сахар, не используй.
    #460 #707220
    >>707215
    То ты уебан, который портит код и увеличивает время компиляции.
    >>707221
    #461 #707221
    >>707220

    > увеличивает время компиляции


    WAT
    284 Кб, 852x388
    Рудик #462 #707229
    Сможет кто перевести на понятный язык С#?
    >>707230
    #463 #707230
    >>707229
    тут все ясно интуитивно
    >>707231
    #464 #707231
    >>707230
    Нихрена не могу догнать, как это оформить
    >>707235
    #466 #707236
    >>707235
    Cпасибо тебе, друг
    #467 #707348
    Имеется MacBook Pro mid 2012, ставлю на него Windows 10, картинка очень ужасная, глаза очень сильно устают.
    Хватит ли мне Parallels чтобы полноценно вкатиться в C# и .NET?
    Mono хватает только чтобы синтаксис выучить.
    >>707351
    #468 #707351
    >>707348
    А что для тебя полноценно? С гуем и всем таким?
    >>707352
    #469 #707352
    >>707351
    По идее в ASP.NET хочу вкатиться.
    >>707355
    #470 #707355
    >>707352
    Новый ASP.NET Core попробуй, вроде бы на маке доступен
    https://get.asp.net/OtherDownloads
    >>707363
    #471 #707363
    >>707355
    Зачем мне новый, если я в итоге хочу в работу вкатиться, а в тырпрайзе все новое не сразу (далеко не сразу).
    >>707366
    #472 #707366
    >>707363
    Там различия не такие уж серьёзные, если что. Можешь писать так, будто бы на пятом асп сидишь, лол.
    >>707368
    #473 #707368
    >>707366
    А вижуалку где я возьму? А опыт работы с виндой?
    Не, мне надо чтобы нативно все было.
    >>707369
    #474 #707369
    >>707368
    Ну нативно с виртуалками костыльно будет, купи себе недорогой ноут, поставь туда винду и пиши на нем, я в свое время так сделал.
    >>707373
    #475 #707373
    >>707369
    Я думаю макмини купить для этого, просто с двумя ноутами буду как дебил. С другой стороны что мне с макбуком делать, если я не смогу на нем даже пейсать не дома? А новый макбук пока не осилю купить.
    #476 #707374
    Дорогие друзья, подкажите что конкретно нужно знать чтобы вкатываться в фриланс? А то тут пишут asp.net и ни слова более.
    >>707389
    #477 #707380
    Сколько не изучаю учебники по шарпу, нигде не могу применить навыки ООП, видимо сказывается сишное прошлое. Точно помню, что ООП активно используется в визуальном оформлении, посоветует кто книжку по WPF, вообще стоит с ним замарачиваться? Просто пока с инетом проблемы, мсдн не потеребить.
    #478 #707386
    >>707380
    так начни читать учебники по ООП\ООД. на любом С подобном языке
    #479 #707389
    >>707374
    каких слов ты еще ждешь? Entity Framework, например?

    >>707380
    в шапке есть книги про WPF. наследуя один класс от другого, ты используешь ООП. что конкретней тебе непонятно, там три принципа всего-то
    #480 #707392
    >>707380

    >>707389

    вдогонку, PF в 95% случаев не стоит связываться. но для поднятия скила и общего уровня очень даже будет плюсом. также в платформе есть основа для использования паттернов, что также тебе поможет в чем-то
    #481 #707396
    >>707389
    Какая версия востребована более? Какие доп. знания нужны помимо sql того же? В таком роде.
    >>707417
    #482 #707401
    >>707389
    А интерфейсы, делегаты, коллекции, рефлексия?
    >>707412>>707417
    #483 #707412
    >>707401
    Это все базовый сисярп
    #484 #707417
    >>707401
    товарищ же спрашивает не на собеседование в контору

    >>707396
    5-6-скоро 7. не думаю, что ты увидишь что-то более древнее. если да, то мне тебя искренне жаль.
    что касается EF - умение в Code First
    ну, еще, если ты не собираешься макакокодить, то индексы, триггеры, T/SQL

    кроме этого основу по веб-говну почитай, наверное
    #485 #707422
    >>707417
    Те вот эта вся херотень, впринципе, не особо нужна, пока ты не познаешь дзен и не начнешь упираться в особенности языка?
    >>707749
    #486 #707430
    >>707417
    Благодарю. Добра тебе.
    #487 #707443
    >>707417
    А как себя отрекламировать? Не будет же заказчик нанимать мимохуя, который никак себя не проявил?
    >>707749
    #488 #707449
    После Пистона кто-нибудь на С# перекатывался? Есть смысл? Ваши советы?
    >>707455
    #489 #707455
    >>707449
    А после рубей перекатывался, по сути та же хуйня
    >>707461
    #490 #707461
    >>707455
    Что полезного можно написать, чтобы взяли на работу?
    В Пистоне кручусь около веб-фреймворков, рест-апи, сетевой хуйни.
    >>707486
    #491 #707486
    >>707461
    Гугли asp.net mvc
    >>707497
    #492 #707496
    >>694986
    жалкому кафиру пригорело
    #493 #707497
    >>707486
    Я в курсе что это.
    Что можно использовать в приложении, чтобы быть не совсем хуём с горы? Использованием передовых возможностей С# или элегантным паттерном смогу ублажить работодателя?
    >>707501
    #494 #707501
    >>707497
    Если постараешься. Можешь еще количеством попробовать
    #495 #707749
    >>707422
    что по-твонму такое дзен? эта вся штука покрывает 50% работы любого приложения

    >>707443
    унижаться и быть согласным писать код за жрат
    тащемта давно не фрилансирую, поэтому не знаю. попробуй соврать, что у тебя есть портфолио
    #496 #707758
    Анончесы, в чём разница между использованием следующих параметров при вызове Task.Run():
    Task T = Task.Run(()=>
    {
    //some code
    });
    ===
    и
    ===
    Task T = Task.Run(new Action(()=>
    {
    }));
    ===
    ?
    >>707769
    #497 #707769
    >>707758
    Ни в чем, IL будет идентичным.
    >>707773
    #498 #707773
    >>707769
    IL? Intermediate language?
    >>707775
    #499 #707775
    >>707773
    Он самый. Можешь в LINQPad сам такие штуки проверять, например.
    #500 #707822
    А что надо знать чтобы взяли работать за деньги?
    #501 #707849
    #502 #707973
    Хлопци, а чем отличаются атрибуты [STAThread] от [MTAThread] при использовании тредов?
    #503 #708146
    Перекот
    >>707882 (OP)
    Тред утонул или удален.
    Это копия, сохраненная 22 апреля 2016 года.

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

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