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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
6 Кб, 400x400
OFFICIAL C# THREAD №23 # OP #707882 В конец треда | Веб
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

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

Breaking news
- Xamarin стал бесплатным для небольших команд
- Вышла первая preview-версия новой Visual Studio - https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs

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/694892.html (М)
# OP #2 #707883
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

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

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

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

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

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

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

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

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

14. Литература по асинхронности, параллелизму и всему такому
- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
- Pro Async_hronous Programming with .NET (Richard Blewett, Andrew Clymer) - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в 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
#3 #707945

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


А русской версии нет? CLR via C# не зашёл, непонятно нихуя.
>>707968>>707970
#4 #707968
>>707945
CLR via C# не для ньюфагов. Русской вроде нет, но можешь "Язык программирования C# 5.0 и платформа .NET 4.5" Троелсена поскать
>>708666
#5 #707970
>>707945
пичаль, слр виа читается довольно легко

> C# 5.0, Справочник. Полное описание языка


эту попробуй тогда
#6 #708063
Зачем нужен CLR, какой от него толк? Читал википедии нихуя не понял.
>>708189>>708344
92 Кб, 435x313
Отладка в VS Code #7 #708080
Кто-нибудь смог заставить ее ОТЛАЖИВАТЬ core clr приложения?

Скиньте мануал, а то какие-то экстеншены, лаунчеры, таск конфиги - я запутался.
>>708148>>708173
#8 #708148
>>708080
Не работает еще отладка core clr:

> Q: What are the supported debugging scenarios?


> A: Debugging of Node.js based applications is supported on Linux, OS X, and Windows. Debugging of C# applications running on Mono is supported on Linux and OS X. ASP.NET Core applications are compiled using the Roslyn compiler, not the Mono compiler. ASP.NET Core debugging will be available through a VS Code extension.

#9 #708154
Анон, подскажи слоупоку..
Есть 2 папки:
1я-содержимое не трогаем
2я-найти файлы как в 1й, и их уладить. Оставить уникальные.
Вова пишет так:
цикл для массива 1{
цикл для массива 2{
если 1==2[y], удалят
}}
А теперь поговорим об оптимизации :3
>>708160>>708189
#10 #708160
>>708154
А что там с оптимизацией? 4-гига-2-ядра мало для такой тривиальной задачи?
>>708162
#11 #708162
>>708160
Форма начинает зависать, это раз.
И хотелось бы увидеть как эти задачи решаются более правильным путем.
>>708168
#12 #708168
>>708162
a s y n c
#13 #708173
>>708080
ОК, я не правильно выразился, сейчас уточню.

Я разрабатываю на OSX используя полный "framework dnx451" (mono). По идее должна работать, не пойму как его запустить.
Ни в магазине ни в github нет описания использования:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug
https://github.com/Microsoft/vscode-mono-debug
>>708174
#14 #708174
>>708173
Так у тебя моно или coreclr?
>>708175
#15 #708175
#16 #708179
Зашел на сайт монодевелопа, а там кнопка download xamarin studio.
Я что-то пропустил?
>>708345
#17 #708189
>>708154
как у тебя происходит файл1 == файл2?

>>708063
выполняет инструкции IL
в общем-то, c#/vb.net/f# код копмиляется в инструкции IL, CLR компилит на лету это говно во что-то более машиннокодное и отдает на выполнение дале
#18 #708242
господа, что делать если голова при работе становится ватной и ты перестаешь что-либо соображать, выполняя лишь базовые функции. Кофе, прогулка, тренировка? Не могу настроить себя на каждодневную, но короткую работу тк производительность труда стремительно падает. Старость, в 26 то лет?
>>708247
#19 #708246

>Вышла первая preview-версия новой Visual Studio


Как понимаю, для веба там ещё ничего нету?
>>708248>>708249
#20 #708247
>>708242
отвлекайся на что-нибудь, хобби себе найди)
если я правильно понимаю, у меня такая же фигня. я это связываю с апатией от каждодневных if-else ибо заебало
#21 #708248
>>708246
Вроде бы нет, но пока можно и 2015 обойтись
15 Кб, 558x481
3 Кб, 370x181
C# 7.0 Patten Matching #22 #708249
А ПМ то не настоящий (ну или хотя бы не полный).
По структуре не сравнивает, а только убирает лишний каст.

>>708246
Да, там пока только wpf, формы и консолька, и "новые фичи C# 7"
>>708250>>708253
#23 #708250
>>708249

> По структуре не сравнивает, а только убирает лишний каст.


Естественно, как ты себе это представляешь?
>>708256
#24 #708253
>>708249

>А ПМ то не настоящий (ну или хотя бы не полный).


И is выглядит и читается не оче.
#25 #708256
>>708250
К примеру как в Scala, на то он и называется "Сопоставление с образцом".
Так то можно сказать что и у swift (там есть аналогичная конструкция) есть ПМ.

Вот создатели kotlin, прямо заявляют что у них НЕТ ПМ, а есть просто авто-каст.
>>708257
#26 #708257
>>708256
Возможно на Record'ах такая поддержка будет.
>>708259
#27 #708259
>>708257
А вот это кстати возможно, но в текущей версии их нет
>>708269
#28 #708269
>>708259
Ну так самая первая превьюха, слишком недопиленная, но нужно же было что-то на build 16 показать, лол. Так что ждем что дальше будет.
#29 #708344
>>708063
вкратце - все языки дотнета компилируются в простой псевдоассемблер виртуальной машины, который уже во время исполнения компилируется в машинный код нужной платформы.
собственно такой подход используется в быстро набирающих популярность LLVM компиляторах, разве что тут мы получаем "полуфабрикат", который докомпилируется потом а у ллвм оно сразу компилируется в бинарник.

профит в разделении задач разработчиков компилятора на 2 не связанных задачи. с одной стороны разработчику языка нужно реализовать только транслятор в промежуточный язык и не заморачивается оптимизацией под конкретное железо. с другой стороны низкоуровневая оптимизация ложится на разработчиков компилятора из промежуточного языка, которому уже пофик на особенности языка высшего уровня который был в оригинале - у него есть "простой" код для стековой машины.
>>708377>>708454
#30 #708345
>>708179
мелкософт купила ксамариан и выложила его бесплатно.
#31 #708347
Хлопци, а чем отличаются атрибуты [STAThread] от [MTAThread] при использовании тредов?
>>708350>>708357
Данная сборка запрещает вызывающие стороны с частичным доверием. #33 #708353
Куда копать?
>>708355
#35 #708357
>>708347
А по подробнее можно? Там ничего толкового кроме того, что [STAThread] используется для работы с СОМ-объектами ничо не связано. Меня интересует в чём будет разница работы треда с threadApartmentState MTA и STA. И что вообще такое single thread apartment? Типа все треды будут выполнятся на одном логическом ядре ЦПУ? Типа приложения на вин формс априори одноядерные?
#36 #708358
блят, промахнулся
>>708350
>>708357
#37 #708364
>>708357
https://support.microsoft.com/en-us/kb/287087
не все треды всего приложения, а тред, который работает непосредственно с COM
>>708370
#38 #708367
>>708357
STA значит что ком-объекты не заточены под мультипоточность и работать с ними можно только из одного потока. в частности такая фигня с винформс
#39 #708370
>>708364
Ну дак а в чём будет разница работы треда с threadApartmentState MTA и STA если я не использую СОМ-объекты? И что вообще такое thread apartment и в чём разница между single и multi кроме очевидного из перевода - сингл - один "апартамент", и мульти - много "апартаментов"? Апартаменты то это шо?
>>708374>>708403
#40 #708374
>>708370
Формы используют
>>708380
#41 #708377
>>708344
Хорошо объясняешь, тебе бы книги писать, лол.
#42 #708380
>>708374
Это вот ответ на какой вопрос?
#43 #708396
>>708355
Есть предопложение, что дело не в моей сборке, а в библиотеке ImapX. Может быть такое?
>>708405
#44 #708403
>>708370
в общем, все ответы в интернетах по поводу ThreadApartmentState сводятся к COMу, лол
но, исходя из:
http://stackoverflow.com/questions/127188/could-you-explain-sta-and-mta

> The STA model is used for ХУЙ objects that are not thread safe


т.е. представляй себе ситуацию, когда ты ни в коем хуе не сможешь синхронизировать стейт какого-то объекта в многопоточном окружении и вот тут какой-то даун, не применив презерватив со специальной смазкой пытается доступаться к объекту. в этом случае тебе нужно чекать:
- можно ли тыкать объект в многопоточном окружении
(если нет, то) - является ли тред, с которого идет попытка доступиться к объекту тем, в котором он (объект) и был создан
я так думаю, что пропертю ThreadApartmentState добавили конкретно для такого алгоритма
#45 #708405
>>708396
я хуй знает, чесслово
#46 #708454
>>708344
Спасибо за ответ.

Есть ли смысл изучать CLR, будет ли он востребованный в будущем?
>>708457
#47 #708457
>>708454
что ты подразумеваешь под

> изучать CLR


?
>>708465
#48 #708465
>>708457
Нужно ли менять стиль программирования под CLR?
#49 #708468
>>708465
ШТО?
>>708477
#50 #708469
>>708465
поехавший
#51 #708471
>>708465
попробуй, расскажешь тут потом, как
#52 #708477
>>708468
Ну так есть книга CLR via C# я так понял она отом как правильно писать код, чтобы CLR етот код правильно воспринимал.
#53 #708479
>>708477
NYET
а вообще открой и почитай
>>708481
#54 #708481
#55 #708484
>>708477
не, она больше о внутреностях. как работает виртуальная машина дотнета, во что скомпилируется твой код и прочая. стилистика тут не при чем воопше. более того в шарпе обычно куча способов написать разный код, который скомпилируется одинаково.
т.е. базово что-то вроде
var a = from i in list where i % 2 == 0 select i;
IEnumerable<int> a = list.Where(i => i%2 == 0);
даст полностью одинаковый код.
>>708487
sage #56 #708487
>>708484
пиздец, ну и говно у вас вместо языка.
#57 #708488
>>708487
А что тебе не нравится? нормально же читается.
#58 #708489
>>708487
сравнивает одну фичу синтаксического сахара платформы с возможностями языка
лел
#59 #708493
>>708477
Это достаточно веселая книга, где стандартные вещи (ну методы там, константы, поля, ивенты) рассматриваются на более низком уровне (на уровне IL обычно) + разные неочевидные вещи, например, связанные с виртуальными методами. Ну и про многопоточность там очень много чего интересного.
>>708571
#60 #708570
>>708487
кекнул с тебя, глупыш.
#61 #708571
>>708493
а вот этого двачну.
Книга в свое время дала мне збс буст в тех. плане.
#62 #708618
Как подключить файл к батону??? Что б при клике по батону открывался файл!!! Плз хелп
>>708621>>708644
#63 #708621
>>708618
Process.Start
#64 #708644
>>708618
открывался внутри твоей программы, или запускалось дефолтное приложение, которое работает с файлами конкретного расширения?
#65 #708663
Есть какие-то видеоуроки по синтаксису C# которые вы посоветуете?
>>708682
#66 #708664
Поясните за такой

Пример.
1. Используем интерфейс IEnumerable
IEnumerable<Student> students = db.Students; / обращаемся к репозиторию/
var oldStudents = students.Where(st => st.Age > 25).ToList(); / получим всех студентов старше 25 /

/
В этом случае сначала сервер БД отдаст клиенту (приложение) все элементы из таблицы 'Студенты'
и только потом клиент (приложение) отфильтрует их по возрасту.
На стороне БД выполнится только запрос вида:
SELECT FROM STUDENTS
/

2. Используем интерфейс IQueryable
IQueryable<Student> students = db.Students; / обращаемся к репозиторию /
var oldStudents = students.Where(st => st.Age > 25).ToList(); / получим всех студентов старше 25 /

/
В этом случае на стороне БД выполнится запрос вида:
SELECT FROM STUDENTS
WHERE AGE > 25
/

Но этот пример противоречит отложенному выполнению.
Ведь запрос выполняется только при непосредственном перечислении или после использование ToList, ToArray и т. д.
>>708676>>708793
#67 #708666
>>707968
C#5.0 никому нахуй не надо после выхода шестерки
#68 #708667
>>708666
в юнити до сих пор недочетверка
#69 #708676
>>708664
ммм.. первое - с чего вдруг в первом случае условие выполнится на стороне клиента?

второе - ты оба раза явно используешь ToList(), как это противоречит отложенному вычислению?
>>708680
#70 #708680
>>708676
http://www.quizful.net/interview/csharp/ienumerable-vs-iqueryable
Пример вот отсюда взял
Только поменял myOrm.GetStudents() на db.Students, чтобы показать что непосредственно к Dbset обращение

> первое - с чего вдруг в первом случае условие выполнится на стороне клиента?


Вот я тоже не понял с чего они взяли это, там так утверждается и никто не против.
Поэтому и спрашиваю
>>708692
#71 #708682
>>708663
Лол. Это как?
Ну то есть чему ты хочешь научиться?
>>708688
#72 #708683
>>708666
лол блять.
А в чем разница????
4.5 почти ничем не отличается от 4.5.2 (C# 6)
#73 #708688
>>708682
Основам, синтаксису конкретно C#, а дальше уже сам найду лит-ру. Просто я сейчас Троелсена начал читать и чуть-чуть тяжело, чувство будто я дебил и читаю какие-то заклинания.
Есть какие-то знаний о типах данных, что такое массив, но рабол с массивом я только в C когда учил C 4 года назад (а после этого забросил ибо не мог). Сейчас вот хочу заняться программированием.
>>708693
#74 #708692
>>708680
ага. понил

значится смотри, суть в том что для IEnumerable<> и IQueryable<> определенные разные варианты экстеншен методов.
т.е. при выполнении запроса в первом случае произойдет вызов Where(IEnumerable<>, Func) который вызовет получение енумератора из db.Students. т.е. простой запрос "Select from Students;"

во втором случае будет вызов совсем другого Where(IQueryable<>, Func), который вызовет синтаксический разбор серии экстеншенов и построение запроса "select
from students where ..."
но в обоих случаях данные из базы будут дергатся только по вызову ToList()
>>708697>>708736
#75 #708693
>>708688
https://www.youtube.com/watch?v=bFdP3_TF7Ks
первое что нашёл. На самом деле такого - завались, но лучше книги ничего не может быть.

Посмотри в шапке, вроде есть что-то для нуфагов.
>>708694>>708700
#76 #708694
>>708693
А вот зацени что ещё нашёл.
Правослваные курсы : https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949
#77 #708697
>>708692
ах да. так как в подавляющем большинстве случаев ирл будет написано var students = db.students или воопше db.students.Where(...)
то разницу следует учитывать только при передаче таблицы как параметра.
#78 #708700
>>708693
А Троелсен и есть для нюфагов + мой инглиш не на уровне просмотра, я уж лучше буду на нем читать тогда.
>>708735
#79 #708714
>>708666
Да там только немного синтаксического сахара добавили, не более. Строковая интерполяция, например, раскрывается в String.Format, и с остальным все так же.
>>708720
#80 #708720
>>708714
именно. Потому читать 4.5 Троелсена обязательно!
#81 #708735
>>708700
Бамп.
#82 #708736
>>708692
То есть суть в том что к IEnumerable нельзя дописывать фильтры и все последующие вызовы экстеншен методов будут вызываться уже на последовательности в памяти?
>>708743
#83 #708743
>>708736
нет, суть в том что IQueryable проводит разбор экстеншенов для составления запроса к данным(что в частности приводит к некоторым ограничениям - в частности можно использовать только функции поддерживаемые провайдером, кастомное не пихнешь) а IEnumeration такого не умеет и просто применяет несколько фильтров к уже имеющейся последовательности.
>>708793
#84 #708793
>>708743
IEnumerable<Student> students = db.Students.Where(st => st.Age > 25);
List<Student> newstudents = students.ToList();

IQueryable<Student> students = db.Students.Where(st => st.Age > 25);
List<Student> newstudents = students.ToList();
Имею ввиду если вот так написать будет одинаковый запрос Select * from Students where Age > 5
Или тоже самое будет как тут >>708664
в первом случае будут всегда сначала выгружать всех студентов в память, а уже потом фильтры накладывать, а во втором полный запрос к БД с получением отфильтрованных данных?
>>708800
#85 #708800
>>708793
в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable.

вот если
IEnumerable<Student> s = db.Students;
var query = s.Where(st => st.Age > 25);
то тут сначала загрузится все в память, а потом уже пойдет Where
>>708812>>708891
#86 #708812
>>708800

> в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable.


Ну в этом собственно был и впорос.
Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.
>>708857
#87 #708857
>>708812

>Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.


нет. выражение уже собрано. то что ты присвоешь его потом иэнумерабле ничего не изменит.
но в самом первом посте цепочка изначально строили на иенумерабле, что и вызовет загрузку всей таблицы

т.е. цепочка linq вызовов уже
>>708868
#88 #708866
Есть одна строка:

[CODE]{"success":true,"lowest_price":"$2.87","volume":"557","median_price":"$2.87"}[/CODE]

Цифры меняются. Как разделить это на

> success = значение


> lowest_price = значение


> ...


?

Яне шарю в этом от слова вообще.
>>708874
#89 #708868
>>708857
т.е. цепочка linq вызовов уже собрана и готова к использованию
IEnumerable<Student> students = db.Students.Where(st => st.Age > 25);
List<Student> newstudents = students.ToList();

развернется в нечто вроде
IQuearable<Student> t1 = Queryable.Where(db.students, st=> st.age > 25);
IEnumerable<Student> students = t1 as IEnumerable<Student>;

а предложенный первым вариант
IEnumerable<Student> students = db.Students; / обращаемся к репозиторию/
var oldStudents = students.Where(st => st.Age > 25).ToList(); / получим всех студентов старше 25 /
IEnumerable<Student> students = db.Students;
IEnumerable<Student> old = Enumerable.Where(students, st => st.Age > 25);

т.е. будут вызваны разные Where
#90 #708874
>>708866
вариант первый(и правильный) - очевидно это JSON
подключить JSON.NET и десериализовать объект.
вариант второй(если не хочется тянуть лишние зависимости) - использовать регекспы
>>708923
#91 #708891
>>708800
вообще тут стоило сказать только одну существенную разницу между интерфейсами: IQueryable описывает коллекцию, которая еще не была инициализирована (не загружена из базы, если конкретно про этот пример примерять), IEnumerable - коллекцию, которую можно поперечислять себе на здоровье (более конкретно - что-то, что может тебе предоставить итератор, который может перечислять некий набор говна)

но вы тут ебалу какую-то устроили
#92 #708923
>>708874
Можешь сделать пример? Весь гугл облазил и нихуя не понял да, я тупой.
>>708938
#93 #708938
>>708923
http://pastebin.com/jZ6LqQCt
По аналогии сделаешь и с баксом
>>708957>>708960
#94 #708957
>>708938
Спасибо, работает. Осталось разобраться как правильно составить регексы.
#95 #708960
>>708938
Ну ненад так сложно.
https://dotnetfiddle.net/Widget/aRb5Ls
#96 #709040
Какой гуи тулкит посоветуете для моно? Есть что-то такое же простое как WPF?
>>709122
#97 #709119
Посоветуйте уроков и/или литературы по ООП C#. Дело в том, что в глубокой молодости (школьником) я разбирался в этом ваше программировании, но дальше Паскаля дело не пошло. То есть про циклы, массивы и весь подобный примитив я в курсе, а вот про классы и методы что-то совсем в голову не лезет. Так что нужна информация хотя бы на школьном уровне для начала.
>>709127
#98 #709122
>>709040
Очевидный WinForms
#99 #709127
>>709119
Без обид, но мне кажется всех нуфагов банят в гугле. Потому что первое что приходит мне на ум - гуглануть.

Вот например видос: https://www.youtube.com/watch?v=x0udrpe_gZE
Но вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопрос
>>709139
#100 #709139
>>709127

>Но вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопрос


Это понятно, гуглить я умею. Вопрос в том, как не нарваться на говноуроки, чтобы потом одним говнокодером не стало больше. Вы же опытные ребята, умеете отличить нормальные занятия от фуфла, поэтому и спрашиваю. И да, мне б желательно все-таки в текстовом виде, а не ютуб.
>>709143
#101 #709143
>>709139
тогда лучше сразу читай книги. Там обычно всё ок.
Бертран Майер вроде ок.
#102 #709202
Скажите честно, стоит в 2016 начинать изучать c# и .NET?
Или Дотнет сейчас все меньше и меньше востребован кроме как в больших фирмах (друг два года назад фрилансил на ксамарине, а сейчас в реакт нейтив ушел, второй на асп.нет писал, сейчас мидл на роре)?
>>709204>>709206
#103 #709204
>>709202
Годно вкатываться в JS. В .NET в принципе, тоже ок.
#104 #709206
>>709202
и фриланс есть, и большие фирмы есть. этого недостаточно, я подозреваю? )
>>709210
#105 #709210
>>709206
а я вот не могу найти фриланс что-то :(
>>709211
#106 #709211
>>709210
ну, если ты хочешь, чтобы ты такой вышел и тебе сразу по сто штук предложений в день, то добро пожаловать в PHP/RoR
>>709212
#107 #709212
>>709211
нене. Интересует именно .net.
Умею весь стек. Не умею искать наверное.
>>709215
#108 #709215
>>709212
когда я только вкатывался во фриланс, была уйма предложений на тогда еще раздельных Elance/oDesk по ASP.NET MVC. но когда это было-то
>>709217
#109 #709217
>>709215
а сейчас что? Есть проекты?
>>709219
#110 #709219
>>709217
не могу сказать, к сожалению. я уж давно не в деле. но могу с определенной уверенностью наванговать, что в мире мобайла предложений должно быть достаточно много
>>709225
#111 #709225
>>709219
то есть с Xamarin можно вкатываться?
>>710237
#112 #709255
Ньюфаг в треде.
Вот читаю книгу на английском, что-то гуглю что именно важное, но иногда бывает половину предложения не пойму или не запомню название чего-то.
Скипать и читать дальше надеясь что с опытом все запомнится или взять книгу на русском где я пойму 100%?
>>709258>>709397
#113 #709258
>>709255
хорошо, конечно, на инглише, but если тяжело идет, выбери путь легче. ну естественно
#114 #709314
Ужасно лагает VS 2015. При вводе текста задержка с пол секунды, а компиляция маленькой программы на 3 строчки происходит секунд 15. Обновления повыключал, при установке нажал "выборочно" и отключил все доп. модули. В чем может быть проблема? Ноут 2 ядра 2.4, 4 гб ОЗУ, не SSD. W7
>>709316
#115 #709316
>>709314
вот такая ситуация, только с VS2013, попробуй, может поможет: http://superuser.com/questions/715607/improving-resolving-keyboard-input-lag-with-visual-studio-2013
>>709322
#116 #709322
>>709316
Добра тебе анон! Codelens не обнажурил в VSCommunity, но вот Application Insights Tools удалил и все теперь летает. Спасибо огромное!
Межпроцессное взаимодействие в Core CLR, как??? #117 #709364
Есть желание перекатиться из глючных/тяжелых Mono/.NET в новый-чудный мир CoreCLR.

Но вот проблема, там нет ServiceModel и вроде как не будет ибо НЕНУЖНО
https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/porting.md#remoting
Там они ссылаются на пайпы как альтернативу, но я не нашел апи для его испльзования.

Соответственно вопрос: какие есть реально-существующие альтернативы, близкие по подходу к WCF?
>>711128
#118 #709373
Как изучать entity framework, чтоб полностью понимать, как он работает? Только сорцы читать? Или есть какие-то книги? Что-то ничего не нагуглил.
>>709374
#119 #709374
>>709373
есть же онлайн учебник от майкрософт(тм)(с)(р)-ов
#120 #709397
>>709255

> Скипать и читать дальше надеясь что с опытом все запомнится


This. Все так делают.
Даже на русском ты не поймешь все 100% текста, такова особенность нашего мозга. Ты забудешь все через 2 недели, если не будешь практиковаться, независимо от языка, на котором книга была написана.
#121 #709400
Подтверждаю
77 Кб, 603x700
#122 #709415
Здраститя. Дропнул изучение C# по этой книжке 2 года назад, стоит ли продолжать изучение по ней же, или лучше использовать другую литературу?
>>709417
66 Кб, 341x234
#123 #709417
>>709415
возьми Троелсена, а но он не забавный, учти это
>>709419
#124 #709419
>>709417
А что, Троелсен настолько лучше этого?
>>709421>>709433
#125 #709421
>>709419
все, что угодно лучше, чем это
>>709423>>709424
#126 #709423
>>709421
ИМХО, ессессно
#127 #709424
>>709421
Блин, а я на бумаге ее купил.
>>709426>>709427
#128 #709425
Аноны, подскажите новичку. Спрашивал тред-два назад что на джуниора надо. Прочитал, поизучал примеры.
Напрашивается вопрос. Надо ходить по собеседованиям, чтоб сказали где я хуй квалифицирован, а где нет. И если что - взяли работать за еду.
Залез офк первым делом на HH.ru . Но там вакансий по джуну вообще нету. Т.е. есть один по asp.net, но с опытом работы. Я же, ясен-красен опыта работы не имею, ну и asp не знаю.

Гугл выдает архивы вакансий. Подскажите, где искать? Мб сайты тематические конкретно по IT-вакансиям есть?
#129 #709426
>>709424
это ж тебе надо написать, мол, не все так плохо, да?
ну, если тебе все понятно и книга раскрывает нужные моменты C#/.NET, то ну куда деваться, учи. но Троелсена скачай на всякий случай пдфочку
#131 #709428
>>709425

> HH.ru


> вакансий по джуну вообще нету


да ладно, неужели? или ты имеешь ввиду, именно в твоем мухосранске нету?
>>709431
#132 #709430
>>709425
Да, есть:
http://www.dmoz.org/World/Russian/Компьютеры/Программирование/Ресурсы/Работа
Но вряд ли поможет. Платформа ПК загибается, типа-шарящих в сишарпе толпы вокруг, ну и так далее.
Ловить нечего, в общем.
>>709432>>709437
#133 #709431
>>709428
Если ДС-2 - мухосранск, то да - нету. Полторы вакансии. Точнее - одна.
#134 #709432
>>709430

> типа-шарящих в сишарпе толпы вокруг


лол
>>709436
#135 #709433
>>709419
Троелсен - это как минет в порнухе. Классическая вещь с которой все начинается.
>>709440
#136 #709436
>>709432
Более того, мальчики сразу метят в манагеры, так и рвутся руководить, макак.
Так что не забудь выучить патэрни, макак.
#137 #709437
>>709430
Хреново, если так. Но все равно - спасибо.
301 Кб, Webm
#138 #709440
>>709441
#139 #709441
>>709440
а зря. Я не просто так говорю.
>>709443>>709444
#140 #709443
>>709441
Я, например, только лесбипорно смотрю, поэтому твоя аналогия с минетом мне непонятна.
>>709456
288 Кб, 1692x944
#141 #709444
>>709441
Да я уже скачиваю энивей.
#142 #709453
>>709425
Походу придется пхп-макакой идти. Или гей-шлюхой. Ну или в медиамарт консультантом. Хотя лучше гей-шлюхой.
>>709462
#143 #709456
>>709443
сельд плиз
да пох. Идею же ты понял
#144 #709461
установил нет фреймворк 4.5 как без среды разработки кодить?
#145 #709462
>>709453
Знакомый говорит в его пхп-мирке сейчас неебическая конкуренция. Ну прямо толпы с разных двухмесячных курсов бегут и готовы работать бесплатно, без шуток.
#146 #709463
>>709461
в блокноте
#147 #709464
>>709461
csc.exe parasha.cs
#148 #709466
>>709461
пишешь в блокноте, компилишь msbuild'ом
>>709467>>709469
#149 #709467
>>709461
>>709466
да и вообще, поставь студию или VS Code
#150 #709469
>>709466
блять,вы все говорите вразнобой,дайте алгоритм.
иде не использую,потомучто комп слабый.буду писать на саблайме
#151 #709471
>>709469
Вот это лучше поставь
https://csscriptnpp.codeplex.com/
#152 #709474
>>709469
Ставь это https://code.visualstudio.com/
Тот же саблайм, только ещё и билдить умеет
>>709499
#153 #709477
>>709479
#154 #709479
>>709477
не понравился.
так кто нибудь даст алгоритм?
#155 #709480
>>709469
я вот этим пользуюсь
>>709481
#156 #709481
>>709480
Да, возможно самый лучший вариант
>>709482
#157 #709482
>>709481
не прогадаешь
#158 #709499
>>709474

> VS Code


> билдить


Там же DNX и можно запускать вообще не собирая (сборка будет на лету).
Или ты в нем старые проекты редактируешь?
>>709504
#159 #709501
нахер нужен СИ шарп?
>>709503
#160 #709503
>>709501
прост )))
#161 #709504
>>709499
Не асп единым же
>>709508>>709534
#162 #709508
>>709504
ave java!
>>709516
#163 #709516
>>709508
шутки за 300
#164 #709534
>>709504
Там же есть Aps Net Console, можно делать те же консольные приложения что и на винде.

А вообще ты в нем что-ли sln проекты разрабатываешь?
16 Кб, 421x585
#165 #709580
Почему я в тулбоксе cуществующего приложения не могу выбрать календарь или датапикер? а если создать новый wpf проект, то все норм.Из-за чего это?
>>709609
#166 #709609
>>709580
нужно руками указывать сборки откуда ты импортируешь элементы.
>>709636>>709677
#167 #709636
>>709609
Я ньюфаг, не понял ничего. Если не сложно объясните чайнику. Вот я открыл кем-то написанный проект в вижуал студио, могу добавить кнопку, могу листбокс, а календарь не могу.
>>709669
#168 #709669
>>709636
Все, понял. Надо было таргет версию фреймворка обновить
#169 #709677
>>709609
с каких это хуёв?
#170 #709712
Почаны, кто что думает про Universal apps? Десятка сейчас на первом месте в стиме. Также планируется поддержка Xbox один. Конкуренция в Windows store небольшая. Можно хотя бы на хлеб заработать?
>>709915
#171 #709733
Устроился погромистом. По работе в основном буду заниматься C# + WPF. Чувствуется небольшой привкус говнеца между зубов, ну да ладно. Начал читать wfp 4 unleashed от Adam Nathan. После вводной части идет сразу ебучий XAML.
Тащем-то у меня первое задание про простое приложение оконное без особого масштабирования функционала, я так понимаю мне пока не стоит ради этого углубляться и достаточно нашлепать формочек да кода написать?
И поясните за XAML: каким боком он пригождается погромисту? Ну т.е. поверстать UI это конечно круто, но это больше к дизайнерам и прочим личностям. В нём удобнее и быстрее закодить окошечки, чем делать это из кода?
#172 #709747
>>709733
Хуяйнерам.
Никто кроме программеров в XAML не полезет.
>>709899
#173 #709883
>>709733
Для дизайнеров куча ништяков уже есть(Blend,наример),им незачем в xaml лезть.
>>709894
#174 #709894
>>709883
Что ты, блять, несёшь? Какие дизайнеры? Никто, кроме разраба, не полезет в твой Blend.
>>709899
#175 #709899
>>709747
>>709894
Боль макаки итт
#176 #709915
>>709712
нет, аудитория маленькая, ебли много, телефоны у них так вообще в жопе сидят.
#177 #709937
>>709733

> каким образом пригождается


каким образом погромисту пригождается формошлепство?
xaml - помимо как средство описания внешнего вида также и инструмент воплощения основной идеи wpf, т.е. уменьшение (отсутствие) кода в ui-элементах
#178 #709959
Делаю задачи из Кернигана и Ричи на C#, попутно импровизируя графический интерфейс. Как лучше всего организовать отображение истории перевода Фаренгейт -> Цельсий и обратно (у меня двухсторонняя реализация через текстбоксы)?
>>709979
#179 #709979
>>709959
В каком смысле история перевода? Просто список градусов, которые ты ранее конвертировал?
>>709997
#180 #709997
>>709979
Да, мб отображение типизированного списка в ListView?
>>710016
#181 #710016
>>709997
ну можешь и текстбокс-ом обойтись, если че. или listbox. или еще что-нибудь
#182 #710026
Сап, шарпач. Читаю Троелсена, дошел до двадцатой главы (System.IO) и я так больше не могу. Перевод ужасный, много воды и лишней повторяющейся информации. Хочу дропнуть и перейти к другой книге, но к какой?
К какой книге перейти? К какой?

Что можешь посоветовать годного по WPF? inb4 читай шапку
#183 #710028
>>710026
ну Рихтера почитай, раз ты у нас такой
#184 #710036
Добавьте в шапку описание самых комфортабельных ридеров с комфортабельным шрифтом для чтения и т.п.

Мне нравится встроенный в Google Chrome PDF-ридер. Жаль у него нет функциональности как в других десктопных ридеров, как STDU.
>>710041
#185 #710039
>>710026
Меня еще бесит его "более подробно можете почитать в документации .NET SDK". В общем, чтение этой книги - бесполезная трата времени. Жаль, что я осознал только сейчас.
>>710050
#186 #710041
>>710036
суматра зе бест, умеет и в пдф, и джвю
#187 #710050
>>710039
ну ты, тащемто, охуеешь читать/писать книгу обо всем
>>710064
#188 #710064
>>710050
Я все понимаю. Эта книга дает лишь обзорное понимание устройства .NET и C#, но преподносит себя так, будто она рассматривает все тонкости и нюансы всего .NET.
>>710066
#189 #710066
>>710064
читай рихтера, там все нюансы
#190 #710145
Кто-то пользовался ImapX? Как полученные письма выгружать из памяти?
>>710217>>710219
#191 #710172
>>710026
троелсен - чтобы вкатиться
рихтер - чтобы знать и понимать
#192 #710217
>>710145
Юзал его.Хуевая тулза.Много лулзов словил,когда пробовал письмо в папку добавить(какая-то хуйня с кодировкой письма).
>>710239
#193 #710219
>>710145
Читай документацию
https://imapx.codeplex.com/documentation
>>710225
#194 #710225
>>710219
Спасибо, читал - ничего не нашёл.
#195 #710237
>>709225
Можно, солнышко, можно.
>>710335
#196 #710239
>>710217
А что лучше использовать?
#197 #710253
Или так: можно ли как-то освободить неуправляемую память, зохаванную либой, если писатели либы не озаботились её освобождением ни в деструкторе, ни в диспозере?
понятно, что от такой либы надо отказываться, но есть ли быстрый воркэраунд?
>>710256
#198 #710256
>>710253
Marshal.Release
Marshal.ReleaseComObject
>>710336
#199 #710282
Есть собака. Собака может быть сенбернаром и дворнягой. Вне зависимости от породы может жрать: сырое мясо, сухой корм.
Как лучше иерархию классов запилить? Пока так придумал:

enum Корм {сырое мясо, сухой корм}

class Собака
{
Корм корм
}

class сенбернар: Собака
{}

class дворняга: Собака
{}
>>710285>>710296
#200 #710285
>>710282
круто придумал
да тут паттерны надо подключать, епсель
>>710287
#201 #710287
>>710285
Подробней?
>>710297
#202 #710296
>>710282
interface DogFood {}
class Flesh : DogFood {}
class DryFood : DogFood {}

interface Dog {
public void eat(DogFood food) {}
}
#203 #710297
>>710287
Корм надо унаследовать от собаки, а сербернар зделоть стратегией.
>>710317>>710331
#204 #710317
>>710296
Спасибо.
>>710297

>стратегией


Я шутан делаю, например!
#205 #710329
Р О Б О Т О Т Е Х Н И К А
#206 #710330
Сделал себе с помощью Entity Framework sqlite базу данных. Подскажите, пожалуйста, как теперь сгенерить для неё ER diagram(диаграмма "сущность-связь")?
>>710343
#207 #710331
>>710297
А корм вообще должен быть Disposable-ресурсом.
>>710340>>710344
#208 #710335
>>710237
Бусь тебя <3
#209 #710336
>>710256
Два потока этому господину
#210 #710337
>>710296
всё так
>>710339
#211 #710339
>>710337
только тогда IDogFood, чтобы ваще збс было
>>710344
#212 #710340
>>710331
Останется сделать всё на async/await
>>710344
#213 #710343
>>710330
я в таких случаях создаю database-first модель и тяну на дизайнер таблицы) лол
#214 #710344
>>710339
>>710340
>>710331
>>710296

А если корм должен быть свойством?
>>710358>>710420
#215 #710358
>>710344
тогда нужно чтобы был метод ПОКОРМИТЬ ЗА ЩЕКУ
#216 #710420
>>710344
а схуяли?
>>710645
#217 #710596
В следующем году нужно будет проходить практику в какой-то фирме. Где их лучше искать и что писать? Знаю winforms, wpf, немного asp.net mvc и t-sql. ДС2
>>710600
#218 #710600
>>710596
Еще интересно, что там могут дать делать?
#219 #710605
#220 #710645
>>710420
Ну, понимаешь, ты не просто пихаешь корм в собаку, а вызываешь метод «съесть корм». А забрать корм обратно нельзя, потому что свойство только для записи.
>>710685
#221 #710685
>>710645
Ох щи, вот мы и добрались транзакций с кормушкой и фуд менеджера.
#222 #710740
Сишарпач, помоги разобраться в смысле делегатов.

Допустим у меня есть такой отрывок кода http://paste.ofcode.org/Mr7GqAvrXchp8VKxdA7HQx

Зачем тут использовался делегат? Почему просто нельзя было вызвать метод?
>>710784
#223 #710784
>>710740
Незачем.
>>710802
#224 #710802
>>710784
Зачем тогда нужны делегаты? Удобство вызова функции через ссылку, а в других обработчиках работать уже с ссылкой, определяя ее функционал?
#225 #710811
>>710802
опять ты чтоли
>>710813
#226 #710813
>>710811
я никуда и не уходил
>>710818
#227 #710818
>>710813
джве сотни постов назад был уже ответ на этот вопрос
>>710821
#228 #710821
>>710818
ответ был слишком формализирован, мне б ПОПРОЩЕ
>>710830
#229 #710822
>>710802
Для объектов есть интерфейсы, для функций - делегаты.
>>710831
#230 #710827
>>710802
Необходимость и смысл делегатов следует из их сути о возможности присвоения ссылки на метод объекту. Их можно использовать в различных ситуациях: в паттернах, основанных на event; когда нужно иметь несколько реализаций одного типа метода (некое подобие интерфейса); callback'и.
В большинстве случаев можно обойтись без них.
>>710831
#231 #710830
>>710821
дабы абстрагироваться от вызова конкретного метода
>>710837
#232 #710831
>>710822
интерфейсы же нужны для прототипирования, там мы укажем свойства и методы и заставим программиста заполнять все это дерьмо в объекте, что наследуется от интерфейса. а делегат то только суть ссылка на функцию, максимум что он определяет - это тип, возвращаемый этой самой функции
>>710827

>в паттернах, основанных на event;


Можно пример для одаренных?

>когда нужно иметь несколько реализаций одного типа метода


Разве для этого не используется перегрузка?
#233 #710836
>>710831
перегрузка переопределяет конкретный метод в данной иерархии классов, а тебе нужно много вариантов одного и того же метода. тут речь о стратегии
#234 #710837
>>710830
те возможность скармливать одну из многих возможных логик работы многим методам через единую точку (делегат)?
>>710840
#235 #710840
>>710837
те возможность скармливать одну из многих возможных логик работы разным методам через единую реализацию (через делегат)?
переправил сам себя
#236 #710843
>>710831

>суть ссылка на функцию


Ну ок, а интерфейс это просто ссылка на объект.
Интерфейс гарантирует что объект будет иметь определенные методы, делегат - что у функции будут такие то параметры и возвращаемый тип, т.е. прототип, как ты и написал. Если бы в нашем языке были первоклассные функции, делегатов бы не было, были бы какие-нибудь функциональные интерфейсы.
#237 #710844
>>710831

>Можно пример для одаренных?


Ты в event добавляешь как раз делегаты.

>Разве для этого не используется перегрузка?


Как уже сказали, перегрузка для конкретного метода. И к тому же перегрузка ведь требует различные входные и/или выходные типы метода.
>>710846
#238 #710846
>>710844
те делегат это образно метод, у которого объявлен функционал, но не логика, и который можно перегружать другими методами (он копирует их логику при том условии, что функционал идентичен)
>>710856
#239 #710856
>>710846
Если уж совсем на пальцах (в терминах С++), то делегат это указатель на метод/ы, которые имеют соответствующую сигнатуру а ля bool saveString(string str).
В С++ делегаты можно объявлять задавая тип функции с помощью typedef и потом так же использовать. Но гораздо проще с этим с помощью обертки std::function или аналогов от boost, например.
#240 #711026
Заебался гуглить каждую вещь в wpf и xaml. Чувствую себя макакой-индусом типа это не так
>>711028
#241 #711028
>>711026
каждую вещь это например?
#242 #711128
>>709364
В CoreCLR - никаких. Сам страдаю. Нет даже .NET Remoting, даже домены там выпилили. Только Web API или там NancyFX какой-нибудь. Под пайпами, видимо, они имеют в виду ручной пердолинг в System.IO.Pipes. Если CoreCLR взлетит, рано или поздно альтернатива появится, я думаю.
>>711458
#243 #711393
Поясните, создавать интерфейс чисто ради того, чтобы сделать мок - это норм? Допустим, у меня в контроллере есть свойство типа T. Когда я буду тестить методы контроллера, я хочу его замочить. И специально для этого я делаю интерфейс IT, хотя ни для чего кроме тестов интерфейс мне абсолютно точно не нужен.
>>711415
#244 #711415
>>711393
Mock-объект представляет собой конкретную фиктивную реализацию интерфейса, предназначенную исключительно для тестирования взаимодействия и относительно которого высказывается утверждение

*(с) вики

или у тебя все как-то через жопу по-особенному?
#245 #711458
>>711128

>Если CoreCLR взлетит


уже не взлетит
>>711460
#246 #711460
>>711458
И хули ему не взлететь-то? Ксамарин прикроют, кодобазу и разработчиков смерджат, все щасливы.
>>711465
#247 #711465
>>711460
а куда лететь?
>>711468
sage #248 #711468
>>711465
к твоей мамаше в пизду))
>>711471
#249 #711471
>>711468
когда будешь проходить мимо какого-либо здания - следи чтобы сверху кирпич на голову не прилетел. не уследишь - значит я швырнул прямо в цель.
>>711475>>711476
sage #250 #711475
>>711471
бугурт дауна (тебя) )))
>>711477
#251 #711476
>>711471
Давай лучше я расскажу тебе о том, как ты родился: когда я насиловал твою беременную мамашу и потом тряс её за руки с балкона, она визжала и начала говорить что щас обосрётся. Мне было похуй, и таким образом ты упал с третьего этажа при рождении. Не обижайся на меня сильно за это, дефектное.
#252 #711477
>>711475

>) )))


скобкоеб детектед
>>711478>>711481
354 Кб, 692x525
sage #253 #711478
>>711477
хуя горит)
#254 #711481
>>711477
Ты даун (сложна (да (нет (дыыыаа))))
#255 #711540
Программач,
Изучаю С# по The C# Player's Guide.
Дошел до наследования классов, и немного завис.
Например:
http://pastebin.com/erReQ3Jc

Как расшифровать последнюю строку вообще? Какого класса объект создается? ЗАЧЕМ это, ведь, как автор пишет, у такого объекта будут доступны только поля из класса А.
На professorweb искал, не могу найти место где конкретно это объясняется. Как это гуглить тоже не врубаюсь.
Спасибо
#256 #711562
>>711540
Создаешь экземпляр класса B, апкастишь до A
#257 #711563
>>711540
Это фишка юзается для достижения полиморфизма объектов, просто в примере тема не раскрыта. Таким макаром имплеиентят патерн адаптер.
>>711618
54 Кб, 500x482
#258 #711618
>>711624>>711627
#259 #711624
>>711618
просто намота на ус, что так можно делать. рассказывать тебе на данном этапе про проектирование на уровне интерфейсов бессмысленно
>>711625>>711628
#260 #711625
>>711624
сука, спойлер зачем-то слепил
>>711626
#261 #711626
>>711625
Бывает
#262 #711627
>>711618
Ну высри тогда сюда.
>>711739
#263 #711628
>>711624
В это и проблема тупых курсов. Нахера что-то показывать если нет конкретного примера для чего мне это вообще нужно запоминать?
>>711650
#264 #711650
>>711628
это, на самом деле, довольно важный момент. однако адекватно на примере показать а зачем тяжело. тоже самое, в принципе, с referenced/value types
#265 #711739
>>711627
В примере просто показали что в переменные базового типа можно записывать объекты дочерних классов, внезапно кто-то на анонимном формуе начинает рассказывать про скрытый глубогий смысл, полиморфизм, паттерны какие то увидел которые к тому же слабо относятся к наследованию классов, потому что реализуются через композицию. В ообщем не горит у меня, не горит.
>>711743>>711764
#266 #711743
>>711739

>> просто показали что в переменные базового типа можно записывать объекты дочерних классов,


ну и зачем это показали?
Это, явно, недоделанный пример.
>>711746
#267 #711746
>>711743
Чтобы в следующих примерах люди не хватались за голову как это я создал объект B, а могу в A записать, вы говорили типизация. Тебе не понять еще раз, ты ведь это уже понял.
>>711758
#268 #711758
>>711746
Человек не понял текущий пример, и не хочет двигаться далее пока не допрет. Попросил ключевые слова для гугления, ему их дали. В чем проблема?
#269 #711764
>>711739
Template method тоже через композицию реализуется?
>>711773
#270 #711770
>>711540

>ЗАЧЕМ


Прост)
Вот представь, что есть еще класс C : A , и ты прямо на месте по какому-то признаку хочешь выбрать что создавать - B мли C , а для последующей работы хватит функциональности базового класса А, но внезапно с потенциальной модификацией поведения B или С.
#271 #711773
>>711764
Нинужен. Цепочка делегатов рулид.
>>711802
#272 #711802
>>711773
это почему нинужен? Один из самый распространенных шаблонов, куда не глянь везде. И самое главное - доступен из каробки.
#273 #711820
Устновил MonoDevelop, понравился, минимлистичный, лаконичный, работает в два раза быстрее студии, не тупит, горячие клавиши идентичные.
>>711827>>711933
#274 #711822
>>711540

Открыл книгу, не нашел такой хуйни в разделе про наследование.
>>711823>>712346
#275 #711823
>>711822
У тебя, наверное, новая редакция, всю ахинею почистили.
#276 #711827
>>711820

> MonoDevelop


Там есть Resharper и прочее?
>>711836
#277 #711836
>>711827
Тебе же сказали

>минимлистичный


>работает быстрее

>>711838>>711839
#278 #711838
>>711836
нихуя нет fixed
#279 #711839
>>711836
Ага.
Еще забавно, что имеется под работает быстрее? Компилирует проект на 10к строк кода быстрее или что?
Интерфейс не тупит? Так у меня и студия летает с 40 открытыми вкладками в браузере. Может у тебя говнопека?
>>711864>>711931
#280 #711864
>>711839

>нагрузил браузер


>оценивает работу студии

#281 #711931
>>711839
Как дома так и на работе довольно хуевый пк. Дома лучше раз в 5, но все равно фризы в интерефейсе есть.
#282 #711933
>>711820
Ты охуешь, но там даже C# 6 не поддерживается и все шаблоны проектов устаревшие.
#283 #712003
Шарпаны, под моно кто-нибудь web api пишет? Я тут начал, и охуел: оно не может распарсить json из тела запроса, потому что метод забыли дописать. Его конечно потом дописали, но это еще в альфа релизе. И это 2016 году.
>>712040>>712056
#284 #712040
>>712003
лол
#285 #712056
>>712003
Пишем и не только на моно, но и на coreclr, дальше что?
>>712066
#286 #712066
>>712056
Ну вот я хотел спросить, как оно вас? И конкретно по web api тот вопрос, сталкивались?
>>712093
#287 #712093
>>712066
Да хорошо все, удобно что компилировать не нужно, просто через git выкачиваешь исходники и запускаешь (или docker можно сделать).

> И конкретно по web api тот вопрос


Нет не сталкивался, делаю запросы через GET или POST+Webform.
>>712101
#288 #712100
Господа, а комунити эдишон бесплатна для производственных целей?
>>712462
#289 #712101
>>712093

>что компилировать не нужно


Ну эт coreclr у вас, так ее микрософт писала, а не васяны.
>>712113
#290 #712113
>>712101
Аве майкрософт, теперь сможем как пехапехиры код прям в продакшене менять.
#291 #712174
Это хороший тон на С# делать catch на весь код функции и посылать в логгер случае ошибки?
И так с каждой функции? Норм так делать?
>>712184
#292 #712184
>>712174
Не, не оч.
#293 #712257
>>711933

>даже C# 6 не поддерживается


Скажи мне что ты используешь из 6-го шарпа и я назову тебя нехорошим словом.
Ну серьезно же - нинужин.
>>712258
#294 #712258
>>712257
смотрите на этого полудурка
#295 #712337
>>711933
Ну сори, у меня пока есть тока мак, а на него пока VS не придумано

Мимо
97 Кб, 637x702
#296 #712346
>>712488
#297 #712405
Есть ли книги по c# 6.0 на русском?
19 Кб, 1129x567
#298 #712409
Анончики, как мне добавить сюда db connect?
Куда connectionString хуярить?
>>712411
#299 #712411
>>712409
В connectionStrings.json
#300 #712462
>>712100

> An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.



> For all other usage scenarios:


> In non-enterprise organizations, up to five users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

51 Кб, 1313x893
#301 #712472
>>711933

> там даже C# 6 не поддерживается


Ну кому ты пиздишь
>>712497
#302 #712488
>>712346
https://dotnetfiddle.net/7ca3hK
Там дальше вроде норм объяснили.
31 Кб, 521x318
#303 #712497
>>712472
Напиши такой код, а потом попробуй через рефакторинг изменить Temp на Temp2
ты увидишь что тип в справа в присвоение не изменился и возникла ошибка компиляции.
Еще там есть куча мелких багов в виде "неправильное место подсветки ошибок" из-за того что сама IDE не понимает 6.0

Но с этим на OSX еще можно жить, на винде когда я проверял (месяца 4 назад) это вообще не компилировалось.
Все надежна на Rider для DNX проектов, а для мобилок видимо так и придется ебатся с этой недо-IDE.

P.S.
Ладно я использую XS на маке из-за iOS, а ты ее себе на винду нахрен поставил, когда есть VS Community?
651 Кб, 1000x615
#304 #712536
#305 #712654
>>712497
Лол, ну ты и даун.
>>712938>>712951
#306 #712661
>>712497
Ты охуеешь, но новые все фичи C# 6.0 стали доступны в MonoDev. и VS за 2-3 месяца до его официального анонса.
>>712951
#307 #712938
>>712654
Это ты даун, если пользуешься этим говном под виндой еще и нищеброд без мака, когда есть нормальная VS
>>712951
50 Кб, 571x448
#308 #712951
>>712938
>>712654 >>712661 - эт не мое. Но я нищеброд, угадал.
>>713023
#309 #712996
как лучше всего реализовать графическую матрицу из 100 элементов, которые управляются через цвет? (на WPF)
>>713139
#310 #713023
>>712951
Так, посмотрел на винде:
1) В текущей стабильном билде код уже компилируется (если обновиться до последней версии 5.10.3), но рефакторинг тоже не работает.
2) В Alpha лежит версия 6.0 и там наверное рефакторинг работает, но никто не будет писать на альфе в продакшене.

И там очень туманные перспективы, если даже с сайта Xamarin все ссылки видут на VS Community или только SDK.
>>713039>>713049
#311 #713039
#312 #713049
>>713023

>писать на альфе в продакшене


В продкшен код уходит, а не твоя ide, не похуй ли.
>>713055
#313 #713055
>>713049
Это ты менеджеру проекта будешь рассказывать.
Она же с собой тащит и альфа версии компилятора и тулов.
Даже сама студия спокойно может внести ошибки в проектные файлы или сломать их обратную совместимость.
Никто тебе не дает гарантий, ты тут работает бесплатным тестером.
>>713067
#314 #713063
На чем в моно можно писать гуи? XWT выглядит недоработанным, а QT какой-то перегруженный.
#315 #713067
>>713055
Она не может работать на стабильном компиляторе? Ну и говно
#316 #713089
Шарпач, выручай. Почему-то деплой любого(даже Blank app) UWP приложения на C#/XAML фейлится с ошибкой:
The required framework "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs\14.0\.\AppX\Debug\x86\Microsoft.VCLibs.x86.Debug.14.00.appx" failed to install.
error 0x80070490: Cannot process the 6bad89ce-4e61-452a-95f4-479e0b6925c6_1.0.0.0_x86_NorthAmerica_8wekyb3d8bbwe package because the following error was encountered while retrieving the 4 property for the value 'Images\XDesProc.Logo.png': Element not found.
>>713139
#317 #713139
>>713149>>713540
#319 #713274
Можете пояснить про MVVM (WPF) на простом примере?`
Вот есть окошко с textbox, есть textblock, есть кнопочка.
Юзер вводит текст в текстбокс, нажимает на кнопочку и в текстблоке показывается введенный текст.
В типичном MVC это бы делалось так: есть эвент onClick, который берет текст из бокса и пихает в текстблок. Или я ошибаюсь?
А в MVVM мы это можем запилить с помощью биндингов. Юзер вводит текст, этот текстбокс привязан к property класса, который отвечает за viewmodel, тем самым меняется этот property, к которому так же привязан textblock, который собственно и меняется. Правильно?
А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?
И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?
>>713280
#320 #713280
>>713274

> А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?


мало что понятно из этого вопроса. аналогом OnClick в MVVM выступает команда и вообще - это паттерн. в ней ты реализуешь всю логику, что тебе необходимо

> И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?


как правило, один на UI-объект класса Window или UiControl. но можешь отдельно на каждый текстбокс залепить свой вьюмодел. в зависимости от сложности, наверн
45 Кб, 406x508
#321 #713289
>>707882 (OP)
Помогите решить очень простой вопрос.
У меня есть парсер, написанный на winForms. он возвращает ссылки и сохраняет в текстовый документ. Но я хочу, чтобы он выводил их прям в приложении в виде ссылок по которым можно сразу же перейти. Мне для этого использовать richtextbox? Как это организовать?
#322 #713294
>>713289
ListBox/ListView лучше подходит
>>713303>>713324
#323 #713303
>>713289
>>713294
через RichText: http://stackoverflow.com/questions/435607/c-sharp-how-can-i-make-a-hyperlink-work-in-a-richtextbox

я думаю, что дефолтное поведение от ListBox будет где-то таким же (т.е. надо будет писать хэндлеры на смену выбранного индекса). хотя, с другой стороны, можно воспользоваться LinkLabel в качестве элементов листа
>>713324
#324 #713324
>>713294
>>713303
спасибо
#325 #713540
>>713139

>это че значит?


Есть квадратная таблица 10 на 10 которая отображает логическое состояние соответствующей битовой переменной цветом (черный - 1, белый - 0). Какой объект лучше всего подойдет для этой цели?
>>713559
#326 #713559
>>713540
bitarray?
>>713562
#327 #713562
>>713559
Мне нужен графический элемент, на котором можно реализовать таблицу 10 на 10 с удобным управлением цвета ячейки.
>>713571
#328 #713571
>>713562
grid + любые квадратные контейнеры
>>713587
#329 #713587
>>713571
А как тогда реализовать обход этих кавадратных контейнеров? Стоит заморачиваться с полотном (Канвас) где отрисовка будет зависеть от конкретного индекса элемента или все это тлен? Разве нету какого-то стандартного элемента, содержимое которого было бы двумерным массивом?
#330 #713597
>>713587
Если ты пишешь на mvvm, то создаешь модель со своими квадратами и там же их обходишь/меняешь, на форме прост биндишь их в itemscontrol какой нибудь
#331 #713598
>>713587
итак в wpf два с половиной контрола, так тебе еще надо под каждую лабораторку посоздавать
#332 #713600
>>713587
Гуглить не умеем уже?
Вот например:
https://stackoverflow.com/questions/28018974/binding-matrix-arrays-to-wpf-datagrid
>>713601
#333 #713601
>>713600
Самое заебись, премного благодарен.
53 Кб, 556x558
#334 #713607
Напоминаю что работает не официальная .NET конфа в которой помогут советом и можно лампово пообщаться на разные темы.
https://telegram.me/joinchat/CBkRKT2h17QNagOSer0uNA
>>713612
#335 #713609
Шарпаны, какие коллекции вы используете на работе чаще всего?
Какие самые актуальные, в частности в asp.net?

В Питоне, допустим, кортежи очень редко видел, что используются.
>>713613
sage #336 #713612
>>713607
Слово telegram уже пора в бан-лист добавить (засрали все треды своим конфачками)
>>713628
#337 #713613
>>713609
List<T>, Array, Dictionary<T1,T2> покрывают 95% задач этого вашего ASP.NET. + HashSet<T> для EF, в частности
>>713618
#338 #713618
>>713613
Спасибо, бро!
#339 #713622
При перегрузке Equals нужно еще перегружать == .
Впрс : для классов они должны возвращать одинаковый результат или допускается разный?

У меня проблема в том, что для эквиалентности двух классов наступает при совпадении всего одного поля, а для равенства нужно проверять все поля.
Я в сомнения правильно ли разное поведение двух этих операций?
>>713623
#340 #713623
>>713622
http://stackoverflow.com/questions/144530/or-equals
== - если объекты схожи (равны по состоянию)
Equals - экземпляры имеют ссылки на один и тот же объект
если не ошибаюсь
>>713627
#341 #713625
Есть SQL-база без пердоленья и не MSSQL?
SharpHSQL пойдёт или есть что-то лучше?
>>713643
#342 #713627
>>713623
Спасибо, понел. Значит я правильно делаю, но это не очень хорошо, ибо я рано или поздно забуду в чем у них разница и наступлю на грабли.
Придумал получше реализацию: нужно замутить внешний специальный компаратор на эквивалентность, а в самом классе оба способа проверки будут проверять полную идентичность + ссылки.
>>713629
354 Кб, 692x525
sage #343 #713628
>>713612
Пидорахе лишь бы что-то запретить.
#344 #713629
>>713627
если происходит merge коллекций, или List<T>.Contains(T), либо заполнение словарей, либо еще какая-нибудь срань, коллекции используют существующий функционал, а не твой компаратор
>>713634
#345 #713634
>>713629
Бле, ну придется руками мержить. Влесипеды-велосипедики.
>>713635
#346 #713635
>>713634
сделать изначально нормально Аллах не позволяет?
>>714475
#347 #713643
>>713625
Береш EF Core и Postrgress, делаешь Code First и наслаждаешься жизнью.
#348 #713660
Анон, нужно срочно научиться работать с БД из шарпа, работать с xml и веб сервисвми. Что подскажешь ?
>>713665>>713686
#349 #713665
>>713660
почитать соответствующие статьи
>>713666
#350 #713666
>>713665
А вот по веб сервисам мне сказали потренироваться сделать самое простое — получение курса валют. Это как копать, насколько сложно? Кстати, мможно из шарпа на двач поститть через эти технологии?
#351 #713673
>>707882 (OP)
Создал в XAML listview, прописал его имя и столбцы. Стараюсь добавить кодом в него данные, но безуспешно.
foreach (var attr in drive.Value.Attributes)
{
if (attr.Value.HasData)
{
String s = (attr.Value.IsOK) ? "OK" : "";
smartListView.Items.Add( new {
id = attr.Value.Attribute,
current = attr.Value.Current,
worst = attr.Value.Worst,
threshold = attr.Value.Threshold,
data = attr.Value.Data,
status = s
});

}
}
В дебаге смотрел, все переменные в attr заполненные данными, но вот ничего не пополняется.
>>713679
#352 #713679
>>713673
как, по-твоему, ListView должен эту ебень отображать?
>>713681
#353 #713681
>>713679

> прописал его имя и столбцы


а, это пропустил. вопрос пока снимается
>>713695
#354 #713686
>>713660

>Работать с xml


Читай про сериализацию/десериализацию.
С xml в wpf можно работать многими путями: чисто из xaml, чисто из code-behind, пихая в элементики строчечки, через ту самую десериализацию и биндинги.
Я делал так:
Xml десериализуется в классовую структуру, которая забиндина в xaml к listview, который отображает нужные элементы.
#355 #713695
>>713681
Какого то хуя не только листвью данные не отображает, еще и простой Label текст не хочет отображать. Скорее всего я что-то не так делаю. Я все делал так.
1. В xaml добавляю елемент, прописываю ему поле Name, допустим labl.
2. В коде окна, в конструкторе пишу просто labl.Content = string;
И вот нихуя.
>>713757>>713838
#356 #713757
>>713695
может ты что-то недоговариваешь? али есть какие-то побочные модификаторы? короче, хоть покажи, как оно все
#357 #713805
Аноны, поясните за отмену нескольких совершённых раннее действий на примере трёх ситуаций:
1. Текстовый редактор. Под отменой действий подразумевается удаление последнего введённого имеющегося символа, отмена применённого форматирования, причём действия отменяются в обратном порядке поступления. Допустим, я ввёл слог жо", сделал шрифт жирным, доввёл слог "па", при отмене действий стирается побуквенно в обратном порядке слог "па", шрифт делается обычным, стирается слог "жо" аналогично "па".
2. Графический редактор, рисую то же слово за несколько "прикосновений" пера. При отмене операции в порядке, обратном появлению, стираются нарисованные линии.
3. Графический интерфейс произвольной программы. Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменной.

Дак вот, меня интересует следующее:
А) Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?
Б) Собсно, самый важный для меня вопрос: как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?
просьба не гоните в гугол, хочу прочитать от местных анонов актуальные и/или проверенные советы
>>713807>>714805
#358 #713807
>>713805

> Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменной


это это действие надо отменить?

> Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?


паттерн команда

> как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?


паттенр команда на шарпе
>>713810
#359 #713810
>>713807

>это это действие надо отменить?


Ну да, типо откатить по нажатию ctrl+z значение какого нибудь поля с 10 до -1 или типа того. Тоже паттерн?
>>713815
#360 #713815
>>713810
шаблон "Команда" позволяет представлять операцию в приложении как объект и делает возможной её отмену

в любом из описанных тобой случае есть две составляющие:
- какой-то объект
- стейт и возможность его менять

следовательно, операции изменения, отмены и повтора, вписываются в алгоритм:
1 сгенерить команду
2 выполнить команду применимо к объекту
2.1 положить команду в какую-то стекообразную коллекцию
3 выбираем последнюю операцию
4 отменяем её
4.1 засовываем команду в стек последних отмененных (условно говоря)
5 берем последнюю отмененную операцию
6 накатываем её заново
#361 #713838
>>713695
Пытаюсь показать картинку. Не удается.
Вот таким кодом.
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri(path); ;
img.EndInit();
this.IMAGE.Source = img;

path я получил, выбрав вручную в редакторе файл, и в строке показало путь. Приложение завершается, в дебаге выскакивает System.Windows.Markup.XamlParseException.
#362 #713953
Так, анон, ну я прочитал про веб сервисы, а как теперь мне получить котировки валют с сайта цбр и показать их в textBoxe?
Я хочу юзать это:
http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx
#363 #713955
Вы заебали. Спрашивал в прошлый раз, ответили только петросяны. Как в 2016 году наиболее удобно использовать API нового dx12 без крестов и прочего ассемблера?
#364 #713967
>>713955
мы тебе тут игроделы?
>>714448
sage #365 #713969
>>713955

> Как в 2016 году наиболее удобно использовать API нового dx12 без крестов и прочего ассемблера?


береш
a
используеш
#366 #713974
>>713955
SharpDX чем-то не устраивает? Я хз, не юзал.
#367 #713995
Анонасы, я ньюфаг, так что не обессудьте.
Решил начать изучение этого богоподобного языка, с чего посоветуете начать? Для себя приметил две книжки: C# in a Nutshell и Head first C#. Первая вроде норм, вторая поговаривают как раз для зеленых. Что же выбрать или посоветуй свое?
>>713999>>714002
#368 #713999
>>713995
троелсен
вы заебали, а
#369 #714002
>>713995
начни с лабораторных всяких вузов.
#370 #714020
ЕБТВАЮМАТЬ да как считать с цб эти ебанные котировки валют сука? Как, я не пойму? вот там есть метод чтобы как хмл получать. А писать его куда, как блять, нахуй, потоки сука хмл перебор дерева, нихуя не понятно, ебал я в рот пойду выпилюсь
>>714062
#371 #714055
Сап, сишарперы. Слышал, что с# плохо подходит для работы с играми онлайн и оффлайн, да и вообще с tcp/ip. Правда ли это?
12 Кб, 859x237
#372 #714062
>>714020
Тебе написали, берешь и получаешь, без задней мысли же, ну.
>>714074
#373 #714069
>>714055
В каком плане? В плане перфоманса немного уступают софту на неуправляемых языках, в плане функционала - превосходит. Для игр есть юнити, например, CE недавно завезли. Сам двиг не обязательно на шарпе должен быть написан.
>>714138
#374 #714070
>>714055
в каком смысле? сервер or бот?
>>714138
#375 #714074
>>714062
Да из си шарпа же, я тугодум просто.
>>714080
#376 #714075
>>707882 (OP)
не знаю куда написать, пишу сюда. есть VS2015 есть asp net 5, есть вопрос - веб формы все ? во всех шаблонах похоже встроен мvc
>>714076
#377 #714076
>>714075
Вебформы давно ВСЕ, забудь их как страшный сон.
>>714082
#378 #714080
>>714074
WebRequest.Create
потом request.GetResponse() / GetResponseAsync
потом парсишь/маппишь XML
потом засовываешь это говно в чтото-бокс
>>714088
#379 #714082
>>714076
почему страшный сон ? на формах гораздо легче было чем в mvc
#380 #714088
>>714080
Смотри, я сделал.
Оказывается, нужно создавать клиент. Или как-то так. Хуй пойми короче. Ебал я в рот. Знаний не хватает, мне нужно разобратьс с сетью и хмлом

CBR.ru.DailyInfo rublesClient = new CBR.ru.DailyInfo();
DateTime lastRUB = rublesClient.GetLatestDateTime();

var RubRateXml = rublesClient.GetCursOnDateXML(lastRUB);
DataSet RUBrate = rublesClient.GetCursOnDate(lastRUB);
string xml = RUBrate.GetXml();
richTextBox1.Text = xml;
>>714100
#381 #714100
>>714088
ну вот тебе осталось завершить это так:
new XmlSerializer(typeof(Govno)).Deserialize() as Govno
и ты получишь тру ООП версию котировок. делай с не дальше уже что хочешь
>>714103
#382 #714103
>>714100
Так я это все не понимаю! Это я спиздил код. Что мне читать, елки палки? Работа с хмл?
Нахуя создавать рублес клиент с дайли инфо?
>>714109
#383 #714109
>>714103
милостливый цб дает тебе не просто АПИ, а уже свою обертку для работы с их поеботой, а ты выебуешься

ну, читай работу с XML. сериализацию в целом. троелсен вроде как очень неплохо для данного случая описывает
>>714117
65 Кб, 1075x308
#384 #714117
>>714109
А что с говном делать?
#385 #714119
>>714117
И вообще, зачем десериализовать?
#386 #714122
>>714117
Пиздец
#387 #714128
>>714117
Ahah, tvoy kod Govno!
#388 #714133
Есть первый класс, у которого два свойства: одно char, другое int.
Есть второй класс, у которого 2 метода с одинаковым кодом, где работают с экземпляром первого класса, только он в одном случае проверяет int поле, а в другом char. Как-то это можно всё универсализировать и сократить до одного метода?
>>714134>>714145
#389 #714134
>>714133
Буль в качестве параметра передавай и проверяй нужную переменную в зависимости от переданного буля
#390 #714137
>>714117
с тобой поаккуратней надо. а то дашь красную кнопку, а ты и нажмешь не глядя

то, что Govno - должно описывать как-то структуру данных, которая лежит в string xml
#391 #714138
>>714070
Некоторый функционал бота интересует.
>>714069
Ты немного не понял, о чём речь.
Меня интересует не разработка двигла/игры на шарпе, а непосредственная работа с трафиком игры.
Приём/отправка пакетов, использование адресов, указателей, стеков и всего такого.
>>714139>>714234
#392 #714139
>>714138

> использование адресов, указателей, стеков и всего такого


я могу ошибаться, но шарпенский не для этого
>>714142
#393 #714142
>>714139
Вот про это я и спрашивал. Немного хуёво.
>>714143
#394 #714143
>>714142
Можешь самую низкоуровневую часть написать на крестах. Еще там C++/CLI все дела
>>714176
#395 #714145
>>714133
Используй шаблоны, уеба.

public class Huy<T> {
T huete;
}

И соответственно метод:

void Doshit<T>(kekekek)
{
Huy<T> huy = new Huy<T>();
huy.huete ...
}
>>714151
#396 #714151
>>714145
шаблоны не всрались тут ну вообще никак
#397 #714173
Нормально ли использовать статический класс для конфига, если я к нему из разных участков кода обращаюсь?
Нормально ли объявлять класс внутри другого класса, если больше нигде этот внутренний класс не используется?
>>714183
#398 #714176
>>714143
Крестов я не знаю, то есть вообще.
#399 #714183
>>714173
1 лучше синглтон. еще лучше - статический Manager, создающий объект конфига каждый раз при обращении
2 да
#400 #714208
ИТТ есть студиолухи кто-то, делающие тестовое задание в контур?
>>714478
#401 #714234
>>714138
Не совсем понятно как ты собрался делать игру. Если с нуля, с с своим движком, то это прямая дорога в кресты. А на Unity с# для другого используется. И да, указатели в шарпе есть.
>>714239
#402 #714239
>>714234
жопой читаешь
>>714240
#403 #714240
>>714239
Действительно. Тогда не понятно что значит работа с "трафиком игры"
>>714245>>714279
#404 #714245
>>714240
с данными от/к серверу очевидно наверное
#405 #714279
>>714240

>Приём/отправка пакетов, использование адресов, указателей, стеков и всего такого.


Как ты смог на двачи зайти?
>>714402
#406 #714402
>>714279
Запросы отправлял, это же очевидно!
#407 #714426
>>714055

> играми онлайн


> tcp/ip


Я слышал, tcp/ip подходит только для онлайн-шахмат, ферм и покера.
https://habrahabr.ru/post/209144/
>>714450
#408 #714448
>>713967
При чём тут игроделы, на иксах отлично всякие графики делать, да и возможность распаралелить вычисления и обсчитать их на gpu это повседневная необходимость.

Нагружать CPU чем-то кроме сложной логики всё равно что по комару из плазменной пушки стрелять.
>>714449>>714451
#409 #714449
>>714448

> распаралелить вычисления и обсчитать их на gpu


Для это используют не DX, а OpenCL
#410 #714450
>>714426
и чо дальше? слышал он
#411 #714451
>>714448
матрицы миллиард на миллиард считать? сешарп немного не того плана язык, дабы очень сложные вычисления пропихивать в него
68 Кб, 397x604
#412 #714475
>>713635
Похуй на мнимую нормальность. Нужно чтобы работало здесь и сейчас, когда же понадобится мерж тогда и выясниться, что без бубна его не сделать. Короч YAGNI.
#413 #714478
>>714208
А что ты хочешь?
#414 #714490
анусы, я когда то давно натыкался на статью, где объяснялся способ переименовывания файла таким способом, что вместо расширения файла ставились символы из имени файла, т.е. из файла gonnafuckyoutxt.exe получался gonnahackyouexe.txt, причём при запуске файла, расширение которого изменили особенным образом, запускался бы исполняемый файл, а не блокнот. помню, что для осуществления задуманного нужно было при переименовке файла использовать какие то спец символы, но щас забыл, но ОЧЕ нужно вспомнить. хелп плиииз
>>714491
#415 #714491
>>714490
отбой, нашёл, что искал.
>>714495
#416 #714495
>>714491
мамкин кулхацкер в треде
#417 #714581
Что по замарину посмотреть и почитать?
>>714602
#418 #714583
Есть хоть один пример как сделать на Xamarin фото НЕ используя приложения камеры?
>>714601
sage #420 #714602
>>714581
https://developer.xamarin.com/
Есть ещё юниверсити но там 2 куска материалы стоят :(
>>714603>>714638
#421 #714603
>>714601
>>714602
Сорян за сегу, случайно
#422 #714631
>>714601
Похоже на то но абсолютно не компилится.
#423 #714638
>>714602
Спасибо
#424 #714640
Кто нибудь делает гуй на чем нибудь свободном, типа гткшарп или иксвт? Стоит заморачиваться или попердолиться с впф?
>>714679
#425 #714679
>>714640
а зачем тебе?
впф вполне норм штука
#426 #714776
Нормально ли реализовывать отмену операции рисования по пикчербоксу путём хранения стека объектов bitmap'a с pictureBox.Image после каждой операции, а потом, по нажатию кнопки отмены операции заменять текущий рисунок пикчербокса на тот, что в вершине стека?
#427 #714777
>>714776
Я вот только что прочитал интерфейсы и думаю тут они отлично бы подошли, вот только не знаю как это реализовать.
>>714778
#428 #714778
>>714777
А причём тут интерфейсы?
>>714785
#429 #714785
>>714778
пруф
#431 #714924
>>714776
битмап - довольно тяжелый, а к тому же disposable объект
по-хорошему, тебе надо хранить инфо о рисовании элементов - цвет, тип кисти, координаты кривой и т.д.
не будь йобой кроч
#432 #714960
>>714776
Не, история слишком много памяти выжрет на больших холстах.
Для отмены последней операции лучше бери чистый битмап и накладывай на него всю историю фигур - 1, когда начнет тормозить, тогда схороняй промежуточные целые битмапы каждую 20 операцию и накладывай последние опереации уже на них.
#433 #715152
Ребята, где можно почитать/посмотреть про инкапсуляцию для дебилов вроде меня? Читаю Head First, посмотрел урок от ITVDN, но все равно не доходит. Особенно про свойства никак не могу себе в голову запихнуть знания.
>>715276>>715326
#434 #715276
>>715152
Инкапсуляция - прятать поля за методами, чтобы не проебать проверку на условия и упростить работу с классом. Делает класс самодостаточным.
>>715297
#435 #715297
>>715276
Конструкторы нахуя? Обязательно ли именовать поля и свойства одинаково, только первую букву разную делать (или как оно там?)?
>>715302
#436 #715302
>>715297
конструктор для создания объекта класса в памяти, выделяемой программе. вызывается new MyClassName();. Просто объявив переменную "MyClassName x;" ты создашь четырёхбайтовую и вроде восьмибайтовую в х64 системах ссылку на объект, но самого объекта не будет, и при попытке обращения к любому полю/свойству/методу ссылки, будешь ловить NullReferenceException. поля и свойства именовать необязательно, можешь вообще поля не использовать, а только автореализуемые свойства (типа public string stringProperty {get;set;}) и пользоваться ими как полями. крче свойства в основном используют для инкапсуляции полей, хотя я с высоты своего нулевого опыта никогда не встречался с острой необходимостью инкапсуляции именно полей (хз, в больших проектах наверно нужно). ну и именовать их можешь как хочешь, офкорс.
>>715307
#437 #715307
>>715302
Нда. Понятно, что ничего непонятно. Все-таки трудно начинать вкатываться в это все в 30 лет, имея за плечами ПАСКАЛЬ и БЕЙСИК еще в школе.
>>715315
#438 #715315
>>715307
Троелсена почитай, довольно разжевано описано. На самом деле все довольно просто.
#439 #715326
>>715152
инкапсуляция - сокрытие деталей реализации типа. т.е. вообще любой информации, которая может привести к лишнему представлению о типе в принципе
439 Кб, 600x668
#440 #715330
Шарпаны, как в VS на базе одного проекта запилить другой с новым именем?

inb4 руками скопируй и переименуй
>>715333
#441 #715333
>>715330
Я не знаю как никак, но зачем тебе?
>>715334
#442 #715334
>>715333
Контролы на форме уже расставлены как надо с нужными значениями и функциями в коде.
>>715335>>715336
#443 #715335
>>715334
Там одна форма штоле? Скопируй и переименуй. Зачем тебе две одинаковые формы, но в двух разных проектах? Пиши прям в этом, можно бранч сделать, лел.
>>715338
#444 #715336
>>715334
УНАСЛЕДУЙ
#445 #715338
>>715335
Да уже сделал.
Хуле в студии нет даже банального "сохранить проект как".
>>715370
#446 #715370
>>715338
Да потому что без задач
94 Кб, 399x838
#447 #715445
Привет, я уже к вам обращался в посте >>713289.
Парсер я написал, более менее нормально работает, но есть несколько проблем, которые нужно решить. Суть парсера такова:
при нажатии кнопки старт он заходит на сайт объявлений и выводит в richtextbox`е все объявления за сегодня. Ссылок добавляется достаточно много и при добавлении приложение начинает тормозить и я не могу перемещать окно и нажимать на уже добавленные ссылки. Как этого избежать?
>>715456
#448 #715456
>>715445
Вынести парсинг в отдельный тред, а в форму переодически добавлять свежераспарсеные ссылки. Очевидно же.
>>715545>>715645
#449 #715545
>>715456
я только начал читать про многопоточность и это мое первое приложение, буду очень благодарен за помощь. Мой метод парсинга сначала получает все ссылки с товарами на странице, потом для каждой ссылки в цикле foreach загружает ее html, достает нужную информацию и вызывает метод richtextbox.Text += "информация". Насколько я понимаю, вызывать richtextbox.Text в этом методе не правильно. Как мне его переписать?
>>715645
#450 #715546
Посоны, подкиньте стримов, где можно заценить, как работают профессионалы. Чтоб энтерпрайз, TDD, рефакторинги-хуякторинги, с нормальной архитектурой у приложения. Ну вы поняли. Посмотрел на livecoding.tv - сплошные васяны кодят игори на юнити.
>>715730
#451 #715645
>>715456
>>715545
извини за тупой вопрос. Уже сделал по туториалу, все работает, только я не понял что произошло.
#452 #715716
Сап шарпотред, реквестирую легкую идею (не обязательно оригинальную) для быстрого написания курсача по с#+winforms+linq. Мне только всякий омск в голову лезет.
#453 #715725
>>715716

>быстрого написания курсача


В смысле, программы, которая к курсачу-отписке приложится.
Всякие очевидные календарики-будильники-сортировальщики папок разобрали.
#454 #715730
>>715546
устройся работать на контору и хоть ночуй в офисе

>>715716
парсер двача
>>715755
#455 #715755
>>715730
Препод, кажется, не поймет.
>>715759>>715766
#456 #715759
>>715755
ну ты ему про /b/ и /fg/ не говори, главное
#457 #715766
>>715755
Новостной (или просто RSS/Atom) агрегатор, путь из множеств лет генерирует одну.
>>715775
#458 #715775
>>715766
О, хорошая идея, спасибо.
#459 #715782
>>715716
Тотал Коммандер сделай.
>>715795
#460 #715795
>>715782
слишком много ебли как для курсового, имхо)
>>715822
#461 #715822
>>715795
Тогда Виндовс Коммандер.
>>715830>>715857
5 Кб, 195x258
#462 #715830
#463 #715857
>>715822
А вот это идея
#464 #715922
Огласите стандартные вопросы по теории на собеседовании. Может это в шапку надо?
#465 #715928
>>715922
писали сто раз. и в шапке бОльшая часть этого есть
#466 #715969
>>715922
Нехуй заучивать самые популярные вопросы на собеседованиях, это тебе все равно не поможет. Бери книги из шапки, и читай-понимай.
>>716001
#467 #716001
>>715969
Не понял, объясни
>>716015
sage #468 #716015
>>716001
жирный, иди нахуй
#469 #716022
>>715922
Есть два стула, на одном тимлид спит, на другом директор пыхтит. Чью галеру ты должен тащить первым, тимлида или директора?
#470 #716030
>>707882 (OP)
Помогите с вопросом. Как на винформс сделать так, чтобы приложение было всегда на переднем плане, т.е при переходе на другие приложение она не уходила "под них".
>>716040
#471 #716040
>>716030
уже не надо, разобрался
#472 #716531
Помогите студентику, пожалуйста. Есть двумерный массив, заполненный нулями, единицами и двойками. Нужно написать функцию, которая будет рандомно менять один ноль на двойку. Как это сделать? Полтора часа уже с циклами ебусь, результата никакого.
>>716537
#473 #716537
>>716531
Подсчитываешь количество нулей в массиве - пусть будет N. Дальше по очереди идешь по массиву (без разницы как, но нужно только по одному пройти по каждому элементу) и ещешь нули. Как только нашел роляешь рандомное число в промежутке [0,N) - тоесть 0 может выпасть, N не может. Если выпал 0 то меняешь ноль на двойку и все. Если не ноль, то уменьшаешь N на единицу и смотришь дольше (N всегда равен оставшемуся количеству непросмотреных единиц). Так повторяешь пока не выролишь ноль. Это если тебе обязательно нужно равномерное распределение.
>>716542
#474 #716542
>>716537
Хотя хуйню какую-то написал, можно просто рольнуть число [0, N) и заменить такой по счету ноль.
>>716603
#475 #716552
Поясните ньюфагу пожалуйста.
Ковыряюсь в юнити, пытаюсь научиться в сохранение\загрузку в xml. Сохранять сохраняет, а вот с загрузкой проблема, ругается при попытке загрузки "FormatException: Input string was not in the correct format".
Значение переменной беру из другого скрипта.

using UnityEngine;
using System.Collections;
using System.IO;
using System.Xml;
public class SaveLoad : MonoBehaviour {

public int Gold;

public void Save ()
{
XmlDocument xmlDoc = new XmlDocument();
XmlNode rootNode = xmlDoc.CreateElement("Scene1");
xmlDoc.AppendChild(rootNode);

XmlNode userNode;

userNode = xmlDoc.CreateElement("Gold");
userNode.InnerText = Gold.ToString();
rootNode.AppendChild(userNode);
xmlDoc.Save(Application.dataPath + "/" + "SaveData" + ".xml");
}

public void Load()
{
if (File.Exists (Application.dataPath + "/" + "SaveData" + ".xml")) {
XmlTextReader keyReader = new XmlTextReader (Application.dataPath + "/" + "SaveData" + ".xml");

keyReader.Close ();

XmlTextReader reader = new XmlTextReader(Application.dataPath + "/" + "SaveData" + ".xml");
while (reader.Read())
{
if (reader.IsStartElement("Gold"))
{
Gold = int.Parse(keyReader.ReadString());

}
}
reader.Close();
}
}

void Update () {
Gold = GetComponent<AddGold> ().z;

if (Input.GetKeyDown (KeyCode.S)) {
Save();
}
if (Input.GetKeyDown (KeyCode.L)) {
Load();
}
}

}
#475 #716552
Поясните ньюфагу пожалуйста.
Ковыряюсь в юнити, пытаюсь научиться в сохранение\загрузку в xml. Сохранять сохраняет, а вот с загрузкой проблема, ругается при попытке загрузки "FormatException: Input string was not in the correct format".
Значение переменной беру из другого скрипта.

using UnityEngine;
using System.Collections;
using System.IO;
using System.Xml;
public class SaveLoad : MonoBehaviour {

public int Gold;

public void Save ()
{
XmlDocument xmlDoc = new XmlDocument();
XmlNode rootNode = xmlDoc.CreateElement("Scene1");
xmlDoc.AppendChild(rootNode);

XmlNode userNode;

userNode = xmlDoc.CreateElement("Gold");
userNode.InnerText = Gold.ToString();
rootNode.AppendChild(userNode);
xmlDoc.Save(Application.dataPath + "/" + "SaveData" + ".xml");
}

public void Load()
{
if (File.Exists (Application.dataPath + "/" + "SaveData" + ".xml")) {
XmlTextReader keyReader = new XmlTextReader (Application.dataPath + "/" + "SaveData" + ".xml");

keyReader.Close ();

XmlTextReader reader = new XmlTextReader(Application.dataPath + "/" + "SaveData" + ".xml");
while (reader.Read())
{
if (reader.IsStartElement("Gold"))
{
Gold = int.Parse(keyReader.ReadString());

}
}
reader.Close();
}
}

void Update () {
Gold = GetComponent<AddGold> ().z;

if (Input.GetKeyDown (KeyCode.S)) {
Save();
}
if (Input.GetKeyDown (KeyCode.L)) {
Load();
}
}

}
>>716576
#476 #716576
>>716552

>Application.dataPath + "/" + "SaveData" + ".xml"


Наверно все дело в сепараторе. Используй Path.Combine(Application.dataPath, "SaveData.xml") .

>reader.IsStartElement("Gold")


И это тоже оверкилл.

Читай так:
XmlDocument xmlDoc = new XmlDocument();
xmlDocюLoad( YuorFileWithPath )

XmlNode GoldNode = xmlDoc.SelectSingleNode("RootPlayerNode\Res\Gold");
if (GoldNode != null) { парсь инт }
>>717524
#477 #716603
>>716542
Спасибо, разобрался.
#478 #716683
Ньюфаг вкатился.
Анон, подскажи что почитать/посмотреть чтобы понять как работать с базами данных, тем же sql и и шарпом
>>716710
#479 #716710
>>716683
EntityFramework
>>716714
#480 #716714
>>716710
спасибо няша :З
#481 #717347
>>707882 (OP)
Можно ли на С# писать приложения для android?
Слышал о каком-то Хамарине. Что это?
Есть русскоязычная литература по этой теме?
>>717384>>717403
#482 #717384
>>717347
Да. Платформа. Нет.
#483 #717403
>>717347
пиши на фрипаскале, базарю еще захочешь
#484 #717524
>>716576
Спасибо, а серилиазовать ведь проще?
>>717530
#485 #717530
>>717524
естественно
>>717588
#486 #717555
Релизнулся VS Code v1.0
https://code.visualstudio.com/blogs/2016/04/14/vscode-1.0
а отладка coreclr, сука, так и не работает
#487 #717561
>>717555
Да они на clr вообще хуй положил (вынесли все в отдельные плагины), сейчас только typescript дрочат.
Rider приди - порядок наведи
>>717570>>717595
#488 #717570
>>717561
интересно, как майкрософт собирается с райдером конкурировать. купит джетбрейнз
>>717592
#489 #717588
>>717530
А можно гайд или пример простенький какой-нибудь
>>717591
#490 #717591
>>717588
https://msdn.microsoft.com/ru-ru/library/58a18dwa(v=vs.100).aspx

наиболее адекватным способом, ящитаю, способ, указанный в примере "Пример заказа на покупку"
>>717700
51 Кб, 538x303
#491 #717592
>>717570
По крайней мере, официально они все будут работать на благо кросплатформенного .NET
#492 #717595
>>717561
MonoDevelop? Они ж купили ксамарин, хули им медвежьи услуги указывать?
>>717600
#493 #717600
>>717595
В MonoDevelop тоже нет поддержки CoreCLR
443 Кб, 550x636
#494 #717606
Майкрософтовский бот тут меня унижает.
#495 #717700
>>717591
Спасибо
#496 #717710
>>717555
годнота! я уже свой департамент подсадил
#497 #717735
Кто-нибудь пользуется MonoDevelop на линукс? Не могу установить модули тк нету модулей контроля версии.
>>717737
#498 #717737
>>717735
По ангельски пиши, не понятно же нихуя.
#499 #717802
Такой вопрос реально ли без профильного высшего образавания самостоятельно обучиться шарпу и пойти работать? Или нет - везде требует заебатых тонкостей и формальностей написания кода, которыми сам хер научишься?
>>717867>>722862
#500 #717867
>>717802
хуй знает. сам студент в средней такой мухосрани в лучшем вузе города (из трёх, кхм), нас почти ничему не учат, ебашишь всё сам. имхо в руссии в университетах нормальных преподаванов в сфере ИТ не встретишь, все работают за реальне бобло, и не тратят время на взращивание конкурентов. + как я понял, чистый шарп можешь себе в очко засунуть. т.к. шарп - это корпоративные приложения, точись под бд со всякими sql и прочим шлаком.
>>717901
#501 #717877
>>717555
как в нём настроить отладку шарп-кода?
#502 #717901
>>717867
А ну эт само собой, спасибо
128 Кб, 1052x712
#503 #720467
Что это за анальное рабство? Community же бесплатная, как починить?
>>720480
#504 #720480
>>720467
Отменяю вопрос, прищлось регистрироваться.
#505 #722862
>>717802
Не реально, даже не пытайся. Все очень сложно. Тонкостей - миллон. Ты не осилишь. Все давай!
#506 #726136
анон, плиз, срочно, уже все сроки проебал

подскажи как правильно настроить CORS в ASP.NET Web API проекте?

очень прошу умоляю, бордочка споси T_T
#507 #727073
Ребята, только начинаю программировать, изучаю сейчас основные виды коллекций (arrayList, stack, очередь, и так далее). Вроде все понятно, но когда пытался написать свой класс типа intList до конца реализовать не смог. Где-нибудь можно посмотреть на простую реализацию всех этих интерфейсов?

Чтобы основные методы были реализованы хотя бы (Add, AddRange, SetRange, GetEnumerator, CopyTo) и все такое.
Не серчайте, если что-то не так с терминами ;c
>>727272
#508 #727272
>>727073

>stack


>очередь


Это не одно и то же, не? А, у queue FIFO, а у stack'а LIFO, вспомнил.

Посмотри метаданные обобщенного списка (List<>), там методы и реализуемые интерфейсы вроде понятно описаны. Ну и гугл -> msdn, очевидно. Еще 9 глава Троелсена.
1763 Кб, 3264x2448
2399 Кб, 3264x2448
1428 Кб, 3264x2448
#509 #729120
Решите пожалуйста, у нас начали преподавать с#, а я в программирование нуль и не понимаю ничего.
#510 #729464
Анон, нужно допилить прогу на шарпе для курсовой, но в программировании я не очень. Подскажи годный ресурс где можно заказать прогу.
#511 #731046
Какие основные принципиальные отличия крестов от шарпа?
>>739991
#512 #734109
Здесь все мертвы, но все же спрошу:
Что читать, чтобы понять, как работает explorer? В частности, мне нужно "перехватить" обработку даблклика по папке на рабочем столе.
>>735636
#513 #735636
>>734109
смотри в сторону WinAPI, там можно всё
>>740141
#514 #736193
Сап. Есть "проект" собственноструктурного (ручками узлы и ребра делаются) графа, узлы которого рисуются на битмапе полигоном. Как можно с помощью mousemove определять принадлежность отрисованного полигона тому или иному узлу?
Пока смог научить только сраные прямоугольники и эллипсы отличать.
36 Кб, 580x345
#515 #739564
Котаны, раньше учил яваскрипт, перекатился на юнити и обосарлся на создании простой минимапы. Есть годные сайты для изучения? Английский знаю так себе, желательно на русском.
>>739993
#516 #739991
>>731046
Байтоебство, указатели, компилятор не проведёт за ручку мимо граблей.
#517 #739993
>>739564
Так ты ищи решение конкретных задач по юнити, в /gd/ вон пойди.
1139 Кб, 980x2044
#518 #740141
>>735636
Оке, добра тебе.
#519 #740342
>>707882 (OP)
Привет, анон. Помоги с кусочком кода.
Есть текстовый файл, наполненный обычным текстом, слова разделены пробелами, некоторые абзацами.
Нужно каждые n (пусть 50) слов забить в string массив до конца файла.
>>740458
#520 #740458
>>740342

>Нужно каждые n (пусть 50) слов забить в string массив до конца файла.


Нихуя не понял. Раскидать слова по массивам по 50 штук на массив?
Тред утонул или удален.
Это копия, сохраненная 12 мая 2016 года.

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

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