Это копия, сохраненная 12 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
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 (М)
- 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
- 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
> - The C# Player's Guide, второе издание (RB Whitaker)
А русской версии нет? CLR via C# не зашёл, непонятно нихуя.
CLR via C# не для ньюфагов. Русской вроде нет, но можешь "Язык программирования C# 5.0 и платформа .NET 4.5" Троелсена поскать
пичаль, слр виа читается довольно легко
> C# 5.0, Справочник. Полное описание языка
эту попробуй тогда
Скиньте мануал, а то какие-то экстеншены, лаунчеры, таск конфиги - я запутался.
Не работает еще отладка 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.
Есть 2 папки:
1я-содержимое не трогаем
2я-найти файлы как в 1й, и их уладить. Оставить уникальные.
Вова пишет так:
цикл для массива 1{
цикл для массива 2{
если 1==2[y], удалят
}}
А теперь поговорим об оптимизации :3
Форма начинает зависать, это раз.
И хотелось бы увидеть как эти задачи решаются более правильным путем.
a s y n c
ОК, я не правильно выразился, сейчас уточню.
Я разрабатываю на OSX используя полный "framework dnx451" (mono). По идее должна работать, не пойму как его запустить.
Ни в магазине ни в github нет описания использования:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug
https://github.com/Microsoft/vscode-mono-debug
mono
Я что-то пропустил?
>Вышла первая preview-версия новой Visual Studio
Как понимаю, для веба там ещё ничего нету?
отвлекайся на что-нибудь, хобби себе найди)
если я правильно понимаю, у меня такая же фигня. я это связываю с апатией от каждодневных if-else ибо заебало
Вроде бы нет, но пока можно и 2015 обойтись
По структуре не сравнивает, а только убирает лишний каст.
>>708246
Да, там пока только wpf, формы и консолька, и "новые фичи C# 7"
> По структуре не сравнивает, а только убирает лишний каст.
Естественно, как ты себе это представляешь?
К примеру как в Scala, на то он и называется "Сопоставление с образцом".
Так то можно сказать что и у swift (там есть аналогичная конструкция) есть ПМ.
Вот создатели kotlin, прямо заявляют что у них НЕТ ПМ, а есть просто авто-каст.
Ну так самая первая превьюха, слишком недопиленная, но нужно же было что-то на build 16 показать, лол. Так что ждем что дальше будет.
вкратце - все языки дотнета компилируются в простой псевдоассемблер виртуальной машины, который уже во время исполнения компилируется в машинный код нужной платформы.
собственно такой подход используется в быстро набирающих популярность LLVM компиляторах, разве что тут мы получаем "полуфабрикат", который докомпилируется потом а у ллвм оно сразу компилируется в бинарник.
профит в разделении задач разработчиков компилятора на 2 не связанных задачи. с одной стороны разработчику языка нужно реализовать только транслятор в промежуточный язык и не заморачивается оптимизацией под конкретное железо. с другой стороны низкоуровневая оптимизация ложится на разработчиков компилятора из промежуточного языка, которому уже пофик на особенности языка высшего уровня который был в оригинале - у него есть "простой" код для стековой машины.
мелкософт купила ксамариан и выложила его бесплатно.
А по подробнее можно? Там ничего толкового кроме того, что [STAThread] используется для работы с СОМ-объектами ничо не связано. Меня интересует в чём будет разница работы треда с threadApartmentState MTA и STA. И что вообще такое single thread apartment? Типа все треды будут выполнятся на одном логическом ядре ЦПУ? Типа приложения на вин формс априори одноядерные?
https://support.microsoft.com/en-us/kb/287087
не все треды всего приложения, а тред, который работает непосредственно с COM
STA значит что ком-объекты не заточены под мультипоточность и работать с ними можно только из одного потока. в частности такая фигня с винформс
Ну дак а в чём будет разница работы треда с threadApartmentState MTA и STA если я не использую СОМ-объекты? И что вообще такое thread apartment и в чём разница между single и multi кроме очевидного из перевода - сингл - один "апартамент", и мульти - много "апартаментов"? Апартаменты то это шо?
Хорошо объясняешь, тебе бы книги писать, лол.
Это вот ответ на какой вопрос?
Есть предопложение, что дело не в моей сборке, а в библиотеке ImapX. Может быть такое?
в общем, все ответы в интернетах по поводу 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 добавили конкретно для такого алгоритма
я хуй знает, чесслово
поехавший
попробуй, расскажешь тут потом, как
Ну так есть книга CLR via C# я так понял она отом как правильно писать код, чтобы CLR етот код правильно воспринимал.
ок
не, она больше о внутреностях. как работает виртуальная машина дотнета, во что скомпилируется твой код и прочая. стилистика тут не при чем воопше. более того в шарпе обычно куча способов написать разный код, который скомпилируется одинаково.
т.е. базово что-то вроде
var a = from i in list where i % 2 == 0 select i;
IEnumerable<int> a = list.Where(i => i%2 == 0);
даст полностью одинаковый код.
А что тебе не нравится? нормально же читается.
Это достаточно веселая книга, где стандартные вещи (ну методы там, константы, поля, ивенты) рассматриваются на более низком уровне (на уровне IL обычно) + разные неочевидные вещи, например, связанные с виртуальными методами. Ну и про многопоточность там очень много чего интересного.
кекнул с тебя, глупыш.
Process.Start
открывался внутри твоей программы, или запускалось дефолтное приложение, которое работает с файлами конкретного расширения?
Пример.
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 и т. д.
в юнити до сих пор недочетверка
ммм.. первое - с чего вдруг в первом случае условие выполнится на стороне клиента?
второе - ты оба раза явно используешь ToList(), как это противоречит отложенному вычислению?
http://www.quizful.net/interview/csharp/ienumerable-vs-iqueryable
Пример вот отсюда взял
Только поменял myOrm.GetStudents() на db.Students, чтобы показать что непосредственно к Dbset обращение
> первое - с чего вдруг в первом случае условие выполнится на стороне клиента?
Вот я тоже не понял с чего они взяли это, там так утверждается и никто не против.
Поэтому и спрашиваю
Основам, синтаксису конкретно C#, а дальше уже сам найду лит-ру. Просто я сейчас Троелсена начал читать и чуть-чуть тяжело, чувство будто я дебил и читаю какие-то заклинания.
Есть какие-то знаний о типах данных, что такое массив, но рабол с массивом я только в C когда учил C 4 года назад (а после этого забросил ибо не мог). Сейчас вот хочу заняться программированием.
ага. понил
значится смотри, суть в том что для IEnumerable<> и IQueryable<> определенные разные варианты экстеншен методов.
т.е. при выполнении запроса в первом случае произойдет вызов Where(IEnumerable<>, Func) который вызовет получение енумератора из db.Students. т.е. простой запрос "Select from Students;"
во втором случае будет вызов совсем другого Where(IQueryable<>, Func), который вызовет синтаксический разбор серии экстеншенов и построение запроса "select from students where ..."
но в обоих случаях данные из базы будут дергатся только по вызову ToList()
https://www.youtube.com/watch?v=bFdP3_TF7Ks
первое что нашёл. На самом деле такого - завались, но лучше книги ничего не может быть.
Посмотри в шапке, вроде есть что-то для нуфагов.
А вот зацени что ещё нашёл.
Правослваные курсы : https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949
ах да. так как в подавляющем большинстве случаев ирл будет написано var students = db.students или воопше db.students.Where(...)
то разницу следует учитывать только при передаче таблицы как параметра.
А Троелсен и есть для нюфагов + мой инглиш не на уровне просмотра, я уж лучше буду на нем читать тогда.
Да там только немного синтаксического сахара добавили, не более. Строковая интерполяция, например, раскрывается в String.Format, и с остальным все так же.
именно. Потому читать 4.5 Троелсена обязательно!
Бамп.
То есть суть в том что к IEnumerable нельзя дописывать фильтры и все последующие вызовы экстеншен методов будут вызываться уже на последовательности в памяти?
нет, суть в том что IQueryable проводит разбор экстеншенов для составления запроса к данным(что в частности приводит к некоторым ограничениям - в частности можно использовать только функции поддерживаемые провайдером, кастомное не пихнешь) а IEnumeration такого не умеет и просто применяет несколько фильтров к уже имеющейся последовательности.
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
в первом случае будут всегда сначала выгружать всех студентов в память, а уже потом фильтры накладывать, а во втором полный запрос к БД с получением отфильтрованных данных?
в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable.
вот если
IEnumerable<Student> s = db.Students;
var query = s.Where(st => st.Age > 25);
то тут сначала загрузится все в память, а потом уже пойдет Where
> в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable.
Ну в этом собственно был и впорос.
Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.
>Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.
нет. выражение уже собрано. то что ты присвоешь его потом иэнумерабле ничего не изменит.
но в самом первом посте цепочка изначально строили на иенумерабле, что и вызовет загрузку всей таблицы
т.е. цепочка linq вызовов уже
[CODE]{"success":true,"lowest_price":"$2.87","volume":"557","median_price":"$2.87"}[/CODE]
Цифры меняются. Как разделить это на
> success = значение
> lowest_price = значение
> ...
?
Яне шарю в этом от слова вообще.
т.е. цепочка 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
вариант первый(и правильный) - очевидно это JSON
подключить JSON.NET и десериализовать объект.
вариант второй(если не хочется тянуть лишние зависимости) - использовать регекспы
вообще тут стоило сказать только одну существенную разницу между интерфейсами: IQueryable описывает коллекцию, которая еще не была инициализирована (не загружена из базы, если конкретно про этот пример примерять), IEnumerable - коллекцию, которую можно поперечислять себе на здоровье (более конкретно - что-то, что может тебе предоставить итератор, который может перечислять некий набор говна)
но вы тут ебалу какую-то устроили
Спасибо, работает. Осталось разобраться как правильно составить регексы.
Очевидный WinForms
Без обид, но мне кажется всех нуфагов банят в гугле. Потому что первое что приходит мне на ум - гуглануть.
Вот например видос: https://www.youtube.com/watch?v=x0udrpe_gZE
Но вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопрос
>Но вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопрос
Это понятно, гуглить я умею. Вопрос в том, как не нарваться на говноуроки, чтобы потом одним говнокодером не стало больше. Вы же опытные ребята, умеете отличить нормальные занятия от фуфла, поэтому и спрашиваю. И да, мне б желательно все-таки в текстовом виде, а не ютуб.
Или Дотнет сейчас все меньше и меньше востребован кроме как в больших фирмах (друг два года назад фрилансил на ксамарине, а сейчас в реакт нейтив ушел, второй на асп.нет писал, сейчас мидл на роре)?
Годно вкатываться в JS. В .NET в принципе, тоже ок.
ну, если ты хочешь, чтобы ты такой вышел и тебе сразу по сто штук предложений в день, то добро пожаловать в PHP/RoR
когда я только вкатывался во фриланс, была уйма предложений на тогда еще раздельных Elance/oDesk по ASP.NET MVC. но когда это было-то
не могу сказать, к сожалению. я уж давно не в деле. но могу с определенной уверенностью наванговать, что в мире мобайла предложений должно быть достаточно много
Вот читаю книгу на английском, что-то гуглю что именно важное, но иногда бывает половину предложения не пойму или не запомню название чего-то.
Скипать и читать дальше надеясь что с опытом все запомнится или взять книгу на русском где я пойму 100%?
хорошо, конечно, на инглише, but если тяжело идет, выбери путь легче. ну естественно
вот такая ситуация, только с VS2013, попробуй, может поможет: http://superuser.com/questions/715607/improving-resolving-keyboard-input-lag-with-visual-studio-2013
Добра тебе анон! Codelens не обнажурил в VSCommunity, но вот Application Insights Tools удалил и все теперь летает. Спасибо огромное!
Но вот проблема, там нет ServiceModel и вроде как не будет ибо НЕНУЖНО
https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/porting.md#remoting
Там они ссылаются на пайпы как альтернативу, но я не нашел апи для его испльзования.
Соответственно вопрос: какие есть реально-существующие альтернативы, близкие по подходу к WCF?
есть же онлайн учебник от майкрософт(тм)(с)(р)-ов
> Скипать и читать дальше надеясь что с опытом все запомнится
This. Все так делают.
Даже на русском ты не поймешь все 100% текста, такова особенность нашего мозга. Ты забудешь все через 2 недели, если не будешь практиковаться, независимо от языка, на котором книга была написана.
ИМХО, ессессно
Напрашивается вопрос. Надо ходить по собеседованиям, чтоб сказали где я хуй квалифицирован, а где нет. И если что - взяли работать за еду.
Залез офк первым делом на HH.ru . Но там вакансий по джуну вообще нету. Т.е. есть один по asp.net, но с опытом работы. Я же, ясен-красен опыта работы не имею, ну и asp не знаю.
Гугл выдает архивы вакансий. Подскажите, где искать? Мб сайты тематические конкретно по IT-вакансиям есть?
это ж тебе надо написать, мол, не все так плохо, да?
ну, если тебе все понятно и книга раскрывает нужные моменты C#/.NET, то ну куда деваться, учи. но Троелсена скачай на всякий случай пдфочку
> HH.ru
> вакансий по джуну вообще нету
да ладно, неужели? или ты имеешь ввиду, именно в твоем мухосранске нету?
Да, есть:
http://www.dmoz.org/World/Russian/Компьютеры/Программирование/Ресурсы/Работа
Но вряд ли поможет. Платформа ПК загибается, типа-шарящих в сишарпе толпы вокруг, ну и так далее.
Ловить нечего, в общем.
Если ДС-2 - мухосранск, то да - нету. Полторы вакансии. Точнее - одна.
Троелсен - это как минет в порнухе. Классическая вещь с которой все начинается.
Более того, мальчики сразу метят в манагеры, так и рвутся руководить, макак.
Так что не забудь выучить патэрни, макак.
Хреново, если так. Но все равно - спасибо.
Я, например, только лесбипорно смотрю, поэтому твоя аналогия с минетом мне непонятна.
Да я уже скачиваю энивей.
Походу придется пхп-макакой идти. Или гей-шлюхой. Ну или в медиамарт консультантом. Хотя лучше гей-шлюхой.
Знакомый говорит в его пхп-мирке сейчас неебическая конкуренция. Ну прямо толпы с разных двухмесячных курсов бегут и готовы работать бесплатно, без шуток.
в блокноте
csc.exe parasha.cs
блять,вы все говорите вразнобой,дайте алгоритм.
иде не использую,потомучто комп слабый.буду писать на саблайме
не прогадаешь
> VS Code
> билдить
Там же DNX и можно запускать вообще не собирая (сборка будет на лету).
Или ты в нем старые проекты редактируешь?
прост )))
шутки за 300
Там же есть Aps Net Console, можно делать те же консольные приложения что и на винде.
А вообще ты в нем что-ли sln проекты разрабатываешь?
Я ньюфаг, не понял ничего. Если не сложно объясните чайнику. Вот я открыл кем-то написанный проект в вижуал студио, могу добавить кнопку, могу листбокс, а календарь не могу.
Все, понял. Надо было таргет версию фреймворка обновить
с каких это хуёв?
Тащем-то у меня первое задание про простое приложение оконное без особого масштабирования функционала, я так понимаю мне пока не стоит ради этого углубляться и достаточно нашлепать формочек да кода написать?
И поясните за XAML: каким боком он пригождается погромисту? Ну т.е. поверстать UI это конечно круто, но это больше к дизайнерам и прочим личностям. В нём удобнее и быстрее закодить окошечки, чем делать это из кода?
Что ты, блять, несёшь? Какие дизайнеры? Никто, кроме разраба, не полезет в твой Blend.
нет, аудитория маленькая, ебли много, телефоны у них так вообще в жопе сидят.
> каким образом пригождается
каким образом погромисту пригождается формошлепство?
xaml - помимо как средство описания внешнего вида также и инструмент воплощения основной идеи wpf, т.е. уменьшение (отсутствие) кода в ui-элементах
В каком смысле история перевода? Просто список градусов, которые ты ранее конвертировал?
ну можешь и текстбокс-ом обойтись, если че. или listbox. или еще что-нибудь
К какой книге перейти? К какой?
Что можешь посоветовать годного по WPF? inb4 читай шапку
ну Рихтера почитай, раз ты у нас такой
Мне нравится встроенный в Google Chrome PDF-ридер. Жаль у него нет функциональности как в других десктопных ридеров, как STDU.
Меня еще бесит его "более подробно можете почитать в документации .NET SDK". В общем, чтение этой книги - бесполезная трата времени. Жаль, что я осознал только сейчас.
суматра зе бест, умеет и в пдф, и джвю
Я все понимаю. Эта книга дает лишь обзорное понимание устройства .NET и C#, но преподносит себя так, будто она рассматривает все тонкости и нюансы всего .NET.
читай рихтера, там все нюансы
Юзал его.Хуевая тулза.Много лулзов словил,когда пробовал письмо в папку добавить(какая-то хуйня с кодировкой письма).
Спасибо, читал - ничего не нашёл.
А что лучше использовать?
понятно, что от такой либы надо отказываться, но есть ли быстрый воркэраунд?
Как лучше иерархию классов запилить? Пока так придумал:
enum Корм {сырое мясо, сухой корм}
class Собака
{
Корм корм
}
class сенбернар: Собака
{}
class дворняга: Собака
{}
interface DogFood {}
class Flesh : DogFood {}
class DryFood : DogFood {}
interface Dog {
public void eat(DogFood food) {}
}
Бусь тебя <3
Два потока этому господину
я в таких случаях создаю database-first модель и тяну на дизайнер таблицы) лол
тогда нужно чтобы был метод ПОКОРМИТЬ ЗА ЩЕКУ
Еще интересно, что там могут дать делать?
тест
Ну, понимаешь, ты не просто пихаешь корм в собаку, а вызываешь метод «съесть корм». А забрать корм обратно нельзя, потому что свойство только для записи.
Ох щи, вот мы и добрались транзакций с кормушкой и фуд менеджера.
Допустим у меня есть такой отрывок кода http://paste.ofcode.org/Mr7GqAvrXchp8VKxdA7HQx
Зачем тут использовался делегат? Почему просто нельзя было вызвать метод?
Зачем тогда нужны делегаты? Удобство вызова функции через ссылку, а в других обработчиках работать уже с ссылкой, определяя ее функционал?
Необходимость и смысл делегатов следует из их сути о возможности присвоения ссылки на метод объекту. Их можно использовать в различных ситуациях: в паттернах, основанных на event; когда нужно иметь несколько реализаций одного типа метода (некое подобие интерфейса); callback'и.
В большинстве случаев можно обойтись без них.
интерфейсы же нужны для прототипирования, там мы укажем свойства и методы и заставим программиста заполнять все это дерьмо в объекте, что наследуется от интерфейса. а делегат то только суть ссылка на функцию, максимум что он определяет - это тип, возвращаемый этой самой функции
>>710827
>в паттернах, основанных на event;
Можно пример для одаренных?
>когда нужно иметь несколько реализаций одного типа метода
Разве для этого не используется перегрузка?
перегрузка переопределяет конкретный метод в данной иерархии классов, а тебе нужно много вариантов одного и того же метода. тут речь о стратегии
те возможность скармливать одну из многих возможных логик работы многим методам через единую точку (делегат)?
те возможность скармливать одну из многих возможных логик работы разным методам через единую реализацию (через делегат)?
переправил сам себя
>суть ссылка на функцию
Ну ок, а интерфейс это просто ссылка на объект.
Интерфейс гарантирует что объект будет иметь определенные методы, делегат - что у функции будут такие то параметры и возвращаемый тип, т.е. прототип, как ты и написал. Если бы в нашем языке были первоклассные функции, делегатов бы не было, были бы какие-нибудь функциональные интерфейсы.
>Можно пример для одаренных?
Ты в event добавляешь как раз делегаты.
>Разве для этого не используется перегрузка?
Как уже сказали, перегрузка для конкретного метода. И к тому же перегрузка ведь требует различные входные и/или выходные типы метода.
те делегат это образно метод, у которого объявлен функционал, но не логика, и который можно перегружать другими методами (он копирует их логику при том условии, что функционал идентичен)
Если уж совсем на пальцах (в терминах С++), то делегат это указатель на метод/ы, которые имеют соответствующую сигнатуру а ля bool saveString(string str).
В С++ делегаты можно объявлять задавая тип функции с помощью typedef и потом так же использовать. Но гораздо проще с этим с помощью обертки std::function или аналогов от boost, например.
каждую вещь это например?
В CoreCLR - никаких. Сам страдаю. Нет даже .NET Remoting, даже домены там выпилили. Только Web API или там NancyFX какой-нибудь. Под пайпами, видимо, они имеют в виду ручной пердолинг в System.IO.Pipes. Если CoreCLR взлетит, рано или поздно альтернатива появится, я думаю.
Mock-объект представляет собой конкретную фиктивную реализацию интерфейса, предназначенную исключительно для тестирования взаимодействия и относительно которого высказывается утверждение
*(с) вики
или у тебя все как-то через жопу по-особенному?
И хули ему не взлететь-то? Ксамарин прикроют, кодобазу и разработчиков смерджат, все щасливы.
когда будешь проходить мимо какого-либо здания - следи чтобы сверху кирпич на голову не прилетел. не уследишь - значит я швырнул прямо в цель.
Давай лучше я расскажу тебе о том, как ты родился: когда я насиловал твою беременную мамашу и потом тряс её за руки с балкона, она визжала и начала говорить что щас обосрётся. Мне было похуй, и таким образом ты упал с третьего этажа при рождении. Не обижайся на меня сильно за это, дефектное.
хуя горит)
Ты даун (сложна (да (нет (дыыыаа))))
Изучаю С# по The C# Player's Guide.
Дошел до наследования классов, и немного завис.
Например:
http://pastebin.com/erReQ3Jc
Как расшифровать последнюю строку вообще? Какого класса объект создается? ЗАЧЕМ это, ведь, как автор пишет, у такого объекта будут доступны только поля из класса А.
На professorweb искал, не могу найти место где конкретно это объясняется. Как это гуглить тоже не врубаюсь.
Спасибо
Создаешь экземпляр класса B, апкастишь до A
Это фишка юзается для достижения полиморфизма объектов, просто в примере тема не раскрыта. Таким макаром имплеиентят патерн адаптер.
просто намота на ус, что так можно делать. рассказывать тебе на данном этапе про проектирование на уровне интерфейсов бессмысленно
Бывает
В это и проблема тупых курсов. Нахера что-то показывать если нет конкретного примера для чего мне это вообще нужно запоминать?
это, на самом деле, довольно важный момент. однако адекватно на примере показать а зачем тяжело. тоже самое, в принципе, с referenced/value types
В примере просто показали что в переменные базового типа можно записывать объекты дочерних классов, внезапно кто-то на анонимном формуе начинает рассказывать про скрытый глубогий смысл, полиморфизм, паттерны какие то увидел которые к тому же слабо относятся к наследованию классов, потому что реализуются через композицию. В ообщем не горит у меня, не горит.
>> просто показали что в переменные базового типа можно записывать объекты дочерних классов,
ну и зачем это показали?
Это, явно, недоделанный пример.
Чтобы в следующих примерах люди не хватались за голову как это я создал объект B, а могу в A записать, вы говорили типизация. Тебе не понять еще раз, ты ведь это уже понял.
Человек не понял текущий пример, и не хочет двигаться далее пока не допрет. Попросил ключевые слова для гугления, ему их дали. В чем проблема?
>ЗАЧЕМ
Прост)
Вот представь, что есть еще класс C : A , и ты прямо на месте по какому-то признаку хочешь выбрать что создавать - B мли C , а для последующей работы хватит функциональности базового класса А, но внезапно с потенциальной модификацией поведения B или С.
это почему нинужен? Один из самый распространенных шаблонов, куда не глянь везде. И самое главное - доступен из каробки.
У тебя, наверное, новая редакция, всю ахинею почистили.
нихуя нет fixed
Ага.
Еще забавно, что имеется под работает быстрее? Компилирует проект на 10к строк кода быстрее или что?
Интерфейс не тупит? Так у меня и студия летает с 40 открытыми вкладками в браузере. Может у тебя говнопека?
Как дома так и на работе довольно хуевый пк. Дома лучше раз в 5, но все равно фризы в интерефейсе есть.
Ты охуешь, но там даже C# 6 не поддерживается и все шаблоны проектов устаревшие.
лол
Ну вот я хотел спросить, как оно вас? И конкретно по web api тот вопрос, сталкивались?
Да хорошо все, удобно что компилировать не нужно, просто через git выкачиваешь исходники и запускаешь (или docker можно сделать).
> И конкретно по web api тот вопрос
Нет не сталкивался, делаю запросы через GET или POST+Webform.
Аве майкрософт, теперь сможем как пехапехиры код прям в продакшене менять.
И так с каждой функции? Норм так делать?
Не, не оч.
>даже C# 6 не поддерживается
Скажи мне что ты используешь из 6-го шарпа и я назову тебя нехорошим словом.
Ну серьезно же - нинужин.
смотрите на этого полудурка
Куда connectionString хуярить?
В connectionStrings.json
> 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.
Напиши такой код, а потом попробуй через рефакторинг изменить Temp на Temp2
ты увидишь что тип в справа в присвоение не изменился и возникла ошибка компиляции.
Еще там есть куча мелких багов в виде "неправильное место подсветки ошибок" из-за того что сама IDE не понимает 6.0
Но с этим на OSX еще можно жить, на винде когда я проверял (месяца 4 назад) это вообще не компилировалось.
Все надежна на Rider для DNX проектов, а для мобилок видимо так и придется ебатся с этой недо-IDE.
P.S.
Ладно я использую XS на маке из-за iOS, а ты ее себе на винду нахрен поставил, когда есть VS Community?
Ты охуеешь, но новые все фичи C# 6.0 стали доступны в MonoDev. и VS за 2-3 месяца до его официального анонса.
Это ты даун, если пользуешься этим говном под виндой еще и нищеброд без мака, когда есть нормальная VS
Так, посмотрел на винде:
1) В текущей стабильном билде код уже компилируется (если обновиться до последней версии 5.10.3), но рефакторинг тоже не работает.
2) В Alpha лежит версия 6.0 и там наверное рефакторинг работает, но никто не будет писать на альфе в продакшене.
И там очень туманные перспективы, если даже с сайта Xamarin все ссылки видут на VS Community или только SDK.
Это ты менеджеру проекта будешь рассказывать.
Она же с собой тащит и альфа версии компилятора и тулов.
Даже сама студия спокойно может внести ошибки в проектные файлы или сломать их обратную совместимость.
Никто тебе не дает гарантий, ты тут работает бесплатным тестером.
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.
https://social.msdn.microsoft.com/Forums/en-US/af58902e-071a-4def-af50-e2d5630f1361/deploying-blank-app-template-raises-error-dep0800?forum=winappswithnativecode
оно?
>>712996
> элементов, которые управляются через цвет
это че значит?
Вот есть окошко с textbox, есть textblock, есть кнопочка.
Юзер вводит текст в текстбокс, нажимает на кнопочку и в текстблоке показывается введенный текст.
В типичном MVC это бы делалось так: есть эвент onClick, который берет текст из бокса и пихает в текстблок. Или я ошибаюсь?
А в MVVM мы это можем запилить с помощью биндингов. Юзер вводит текст, этот текстбокс привязан к property класса, который отвечает за viewmodel, тем самым меняется этот property, к которому так же привязан textblock, который собственно и меняется. Правильно?
А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?
И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?
> А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?
мало что понятно из этого вопроса. аналогом OnClick в MVVM выступает команда и вообще - это паттерн. в ней ты реализуешь всю логику, что тебе необходимо
> И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?
как правило, один на UI-объект класса Window или UiControl. но можешь отдельно на каждый текстбокс залепить свой вьюмодел. в зависимости от сложности, наверн
Помогите решить очень простой вопрос.
У меня есть парсер, написанный на winForms. он возвращает ссылки и сохраняет в текстовый документ. Но я хочу, чтобы он выводил их прям в приложении в виде ссылок по которым можно сразу же перейти. Мне для этого использовать richtextbox? Как это организовать?
>>713294
через RichText: http://stackoverflow.com/questions/435607/c-sharp-how-can-i-make-a-hyperlink-work-in-a-richtextbox
я думаю, что дефолтное поведение от ListBox будет где-то таким же (т.е. надо будет писать хэндлеры на смену выбранного индекса). хотя, с другой стороны, можно воспользоваться LinkLabel в качестве элементов листа
>это че значит?
Есть квадратная таблица 10 на 10 которая отображает логическое состояние соответствующей битовой переменной цветом (черный - 1, белый - 0). Какой объект лучше всего подойдет для этой цели?
Мне нужен графический элемент, на котором можно реализовать таблицу 10 на 10 с удобным управлением цвета ячейки.
А как тогда реализовать обход этих кавадратных контейнеров? Стоит заморачиваться с полотном (Канвас) где отрисовка будет зависеть от конкретного индекса элемента или все это тлен? Разве нету какого-то стандартного элемента, содержимое которого было бы двумерным массивом?
Если ты пишешь на mvvm, то создаешь модель со своими квадратами и там же их обходишь/меняешь, на форме прост биндишь их в itemscontrol какой нибудь
итак в wpf два с половиной контрола, так тебе еще надо под каждую лабораторку посоздавать
Гуглить не умеем уже?
Вот например:
https://stackoverflow.com/questions/28018974/binding-matrix-arrays-to-wpf-datagrid
Самое заебись, премного благодарен.
https://telegram.me/joinchat/CBkRKT2h17QNagOSer0uNA
Какие самые актуальные, в частности в asp.net?
В Питоне, допустим, кортежи очень редко видел, что используются.
Слово telegram уже пора в бан-лист добавить (засрали все треды своим конфачками)
List<T>, Array, Dictionary<T1,T2> покрывают 95% задач этого вашего ASP.NET. + HashSet<T> для EF, в частности
Спасибо, бро!
Впрс : для классов они должны возвращать одинаковый результат или допускается разный?
У меня проблема в том, что для эквиалентности двух классов наступает при совпадении всего одного поля, а для равенства нужно проверять все поля.
Я в сомнения правильно ли разное поведение двух этих операций?
http://stackoverflow.com/questions/144530/or-equals
== - если объекты схожи (равны по состоянию)
Equals - экземпляры имеют ссылки на один и тот же объект
если не ошибаюсь
SharpHSQL пойдёт или есть что-то лучше?
Спасибо, понел. Значит я правильно делаю, но это не очень хорошо, ибо я рано или поздно забуду в чем у них разница и наступлю на грабли.
Придумал получше реализацию: нужно замутить внешний специальный компаратор на эквивалентность, а в самом классе оба способа проверки будут проверять полную идентичность + ссылки.
Пидорахе лишь бы что-то запретить.
если происходит merge коллекций, или List<T>.Contains(T), либо заполнение словарей, либо еще какая-нибудь срань, коллекции используют существующий функционал, а не твой компаратор
Береш EF Core и Postrgress, делаешь Code First и наслаждаешься жизнью.
А вот по веб сервисам мне сказали потренироваться сделать самое простое — получение курса валют. Это как копать, насколько сложно? Кстати, мможно из шарпа на двач поститть через эти технологии?
Создал в 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 заполненные данными, но вот ничего не пополняется.
>Работать с xml
Читай про сериализацию/десериализацию.
С xml в wpf можно работать многими путями: чисто из xaml, чисто из code-behind, пихая в элементики строчечки, через ту самую десериализацию и биндинги.
Я делал так:
Xml десериализуется в классовую структуру, которая забиндина в xaml к listview, который отображает нужные элементы.
Какого то хуя не только листвью данные не отображает, еще и простой Label текст не хочет отображать. Скорее всего я что-то не так делаю. Я все делал так.
1. В xaml добавляю елемент, прописываю ему поле Name, допустим labl.
2. В коде окна, в конструкторе пишу просто labl.Content = string;
И вот нихуя.
может ты что-то недоговариваешь? али есть какие-то побочные модификаторы? короче, хоть покажи, как оно все
1. Текстовый редактор. Под отменой действий подразумевается удаление последнего введённого имеющегося символа, отмена применённого форматирования, причём действия отменяются в обратном порядке поступления. Допустим, я ввёл слог жо", сделал шрифт жирным, доввёл слог "па", при отмене действий стирается побуквенно в обратном порядке слог "па", шрифт делается обычным, стирается слог "жо" аналогично "па".
2. Графический редактор, рисую то же слово за несколько "прикосновений" пера. При отмене операции в порядке, обратном появлению, стираются нарисованные линии.
3. Графический интерфейс произвольной программы. Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменной.
Дак вот, меня интересует следующее:
А) Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?
Б) Собсно, самый важный для меня вопрос: как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?
просьба не гоните в гугол, хочу прочитать от местных анонов актуальные и/или проверенные советы
> Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменной
это это действие надо отменить?
> Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?
паттерн команда
> как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?
паттенр команда на шарпе
>это это действие надо отменить?
Ну да, типо откатить по нажатию ctrl+z значение какого нибудь поля с 10 до -1 или типа того. Тоже паттерн?
шаблон "Команда" позволяет представлять операцию в приложении как объект и делает возможной её отмену
в любом из описанных тобой случае есть две составляющие:
- какой-то объект
- стейт и возможность его менять
следовательно, операции изменения, отмены и повтора, вписываются в алгоритм:
1 сгенерить команду
2 выполнить команду применимо к объекту
2.1 положить команду в какую-то стекообразную коллекцию
3 выбираем последнюю операцию
4 отменяем её
4.1 засовываем команду в стек последних отмененных (условно говоря)
5 берем последнюю отмененную операцию
6 накатываем её заново
Пытаюсь показать картинку. Не удается.
Вот таким кодом.
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri(path); ;
img.EndInit();
this.IMAGE.Source = img;
path я получил, выбрав вручную в редакторе файл, и в строке показало путь. Приложение завершается, в дебаге выскакивает System.Windows.Markup.XamlParseException.
Я хочу юзать это:
http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx
> Как в 2016 году наиболее удобно использовать API нового dx12 без крестов и прочего ассемблера?
береш
a
используеш
SharpDX чем-то не устраивает? Я хз, не юзал.
Решил начать изучение этого богоподобного языка, с чего посоветуете начать? Для себя приметил две книжки: C# in a Nutshell и Head first C#. Первая вроде норм, вторая поговаривают как раз для зеленых. Что же выбрать или посоветуй свое?
начни с лабораторных всяких вузов.
В каком плане? В плане перфоманса немного уступают софту на неуправляемых языках, в плане функционала - превосходит. Для игр есть юнити, например, CE недавно завезли. Сам двиг не обязательно на шарпе должен быть написан.
не знаю куда написать, пишу сюда. есть VS2015 есть asp net 5, есть вопрос - веб формы все ? во всех шаблонах похоже встроен мvc
WebRequest.Create
потом request.GetResponse() / GetResponseAsync
потом парсишь/маппишь XML
потом засовываешь это говно в чтото-бокс
почему страшный сон ? на формах гораздо легче было чем в mvc
Смотри, я сделал.
Оказывается, нужно создавать клиент. Или как-то так. Хуй пойми короче. Ебал я в рот. Знаний не хватает, мне нужно разобратьс с сетью и хмлом
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;
ну вот тебе осталось завершить это так:
new XmlSerializer(typeof(Govno)).Deserialize() as Govno
и ты получишь тру ООП версию котировок. делай с не дальше уже что хочешь
Так я это все не понимаю! Это я спиздил код. Что мне читать, елки палки? Работа с хмл?
Нахуя создавать рублес клиент с дайли инфо?
милостливый цб дает тебе не просто АПИ, а уже свою обертку для работы с их поеботой, а ты выебуешься
ну, читай работу с XML. сериализацию в целом. троелсен вроде как очень неплохо для данного случая описывает
И вообще, зачем десериализовать?
Пиздец
Ahah, tvoy kod Govno!
Есть второй класс, у которого 2 метода с одинаковым кодом, где работают с экземпляром первого класса, только он в одном случае проверяет int поле, а в другом char. Как-то это можно всё универсализировать и сократить до одного метода?
Буль в качестве параметра передавай и проверяй нужную переменную в зависимости от переданного буля
с тобой поаккуратней надо. а то дашь красную кнопку, а ты и нажмешь не глядя
то, что Govno - должно описывать как-то структуру данных, которая лежит в string xml
> использование адресов, указателей, стеков и всего такого
я могу ошибаться, но шарпенский не для этого
Можешь самую низкоуровневую часть написать на крестах. Еще там C++/CLI все дела
Используй шаблоны, уеба.
public class Huy<T> {
T huete;
}
И соответственно метод:
void Doshit<T>(kekekek)
{
Huy<T> huy = new Huy<T>();
huy.huete ...
}
шаблоны не всрались тут ну вообще никак
Нормально ли объявлять класс внутри другого класса, если больше нигде этот внутренний класс не используется?
Крестов я не знаю, то есть вообще.
1 лучше синглтон. еще лучше - статический Manager, создающий объект конфига каждый раз при обращении
2 да
Не совсем понятно как ты собрался делать игру. Если с нуля, с с своим движком, то это прямая дорога в кресты. А на Unity с# для другого используется. И да, указатели в шарпе есть.
>Приём/отправка пакетов, использование адресов, указателей, стеков и всего такого.
Как ты смог на двачи зайти?
Запросы отправлял, это же очевидно!
> играми онлайн
> tcp/ip
Я слышал, tcp/ip подходит только для онлайн-шахмат, ферм и покера.
https://habrahabr.ru/post/209144/
При чём тут игроделы, на иксах отлично всякие графики делать, да и возможность распаралелить вычисления и обсчитать их на gpu это повседневная необходимость.
Нагружать CPU чем-то кроме сложной логики всё равно что по комару из плазменной пушки стрелять.
и чо дальше? слышал он
матрицы миллиард на миллиард считать? сешарп немного не того плана язык, дабы очень сложные вычисления пропихивать в него
Похуй на мнимую нормальность. Нужно чтобы работало здесь и сейчас, когда же понадобится мерж тогда и выясниться, что без бубна его не сделать. Короч YAGNI.
А что ты хочешь?
мамкин кулхацкер в треде
Похоже на то но абсолютно не компилится.
Спасибо
Я вот только что прочитал интерфейсы и думаю тут они отлично бы подошли, вот только не знаю как это реализовать.
пруф
битмап - довольно тяжелый, а к тому же disposable объект
по-хорошему, тебе надо хранить инфо о рисовании элементов - цвет, тип кисти, координаты кривой и т.д.
не будь йобой кроч
Не, история слишком много памяти выжрет на больших холстах.
Для отмены последней операции лучше бери чистый битмап и накладывай на него всю историю фигур - 1, когда начнет тормозить, тогда схороняй промежуточные целые битмапы каждую 20 операцию и накладывай последние опереации уже на них.
Инкапсуляция - прятать поля за методами, чтобы не проебать проверку на условия и упростить работу с классом. Делает класс самодостаточным.
Конструкторы нахуя? Обязательно ли именовать поля и свойства одинаково, только первую букву разную делать (или как оно там?)?
конструктор для создания объекта класса в памяти, выделяемой программе. вызывается new MyClassName();. Просто объявив переменную "MyClassName x;" ты создашь четырёхбайтовую и вроде восьмибайтовую в х64 системах ссылку на объект, но самого объекта не будет, и при попытке обращения к любому полю/свойству/методу ссылки, будешь ловить NullReferenceException. поля и свойства именовать необязательно, можешь вообще поля не использовать, а только автореализуемые свойства (типа public string stringProperty {get;set;}) и пользоваться ими как полями. крче свойства в основном используют для инкапсуляции полей, хотя я с высоты своего нулевого опыта никогда не встречался с острой необходимостью инкапсуляции именно полей (хз, в больших проектах наверно нужно). ну и именовать их можешь как хочешь, офкорс.
Нда. Понятно, что ничего непонятно. Все-таки трудно начинать вкатываться в это все в 30 лет, имея за плечами ПАСКАЛЬ и БЕЙСИК еще в школе.
Троелсена почитай, довольно разжевано описано. На самом деле все довольно просто.
инкапсуляция - сокрытие деталей реализации типа. т.е. вообще любой информации, которая может привести к лишнему представлению о типе в принципе
inb4 руками скопируй и переименуй
Контролы на форме уже расставлены как надо с нужными значениями и функциями в коде.
Там одна форма штоле? Скопируй и переименуй. Зачем тебе две одинаковые формы, но в двух разных проектах? Пиши прям в этом, можно бранч сделать, лел.
УНАСЛЕДУЙ
Да потому что без задач
Парсер я написал, более менее нормально работает, но есть несколько проблем, которые нужно решить. Суть парсера такова:
при нажатии кнопки старт он заходит на сайт объявлений и выводит в richtextbox`е все объявления за сегодня. Ссылок добавляется достаточно много и при добавлении приложение начинает тормозить и я не могу перемещать окно и нажимать на уже добавленные ссылки. Как этого избежать?
Вынести парсинг в отдельный тред, а в форму переодически добавлять свежераспарсеные ссылки. Очевидно же.
я только начал читать про многопоточность и это мое первое приложение, буду очень благодарен за помощь. Мой метод парсинга сначала получает все ссылки с товарами на странице, потом для каждой ссылки в цикле foreach загружает ее html, достает нужную информацию и вызывает метод richtextbox.Text += "информация". Насколько я понимаю, вызывать richtextbox.Text в этом методе не правильно. Как мне его переписать?
>быстрого написания курсача
В смысле, программы, которая к курсачу-отписке приложится.
Всякие очевидные календарики-будильники-сортировальщики папок разобрали.
ну ты ему про /b/ и /fg/ не говори, главное
Новостной (или просто RSS/Atom) агрегатор, путь из множеств лет генерирует одну.
О, хорошая идея, спасибо.
А вот это идея
писали сто раз. и в шапке бОльшая часть этого есть
Нехуй заучивать самые популярные вопросы на собеседованиях, это тебе все равно не поможет. Бери книги из шапки, и читай-понимай.
Есть два стула, на одном тимлид спит, на другом директор пыхтит. Чью галеру ты должен тащить первым, тимлида или директора?
Помогите с вопросом. Как на винформс сделать так, чтобы приложение было всегда на переднем плане, т.е при переходе на другие приложение она не уходила "под них".
уже не надо, разобрался
Подсчитываешь количество нулей в массиве - пусть будет N. Дальше по очереди идешь по массиву (без разницы как, но нужно только по одному пройти по каждому элементу) и ещешь нули. Как только нашел роляешь рандомное число в промежутке [0,N) - тоесть 0 может выпасть, N не может. Если выпал 0 то меняешь ноль на двойку и все. Если не ноль, то уменьшаешь N на единицу и смотришь дольше (N всегда равен оставшемуся количеству непросмотреных единиц). Так повторяешь пока не выролишь ноль. Это если тебе обязательно нужно равномерное распределение.
Хотя хуйню какую-то написал, можно просто рольнуть число [0, N) и заменить такой по счету ноль.
Ковыряюсь в юнити, пытаюсь научиться в сохранение\загрузку в 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();
}
}
}
Ковыряюсь в юнити, пытаюсь научиться в сохранение\загрузку в 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();
}
}
}
>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) { парсь инт }
Спасибо, разобрался.
Анон, подскажи что почитать/посмотреть чтобы понять как работать с базами данных, тем же sql и и шарпом
спасибо няша :З
Можно ли на С# писать приложения для android?
Слышал о каком-то Хамарине. Что это?
Есть русскоязычная литература по этой теме?
Да. Платформа. Нет.
пиши на фрипаскале, базарю еще захочешь
https://code.visualstudio.com/blogs/2016/04/14/vscode-1.0
а отладка coreclr, сука, так и не работает
Да они на clr вообще хуй положил (вынесли все в отдельные плагины), сейчас только typescript дрочат.
Rider приди - порядок наведи
https://msdn.microsoft.com/ru-ru/library/58a18dwa(v=vs.100).aspx
наиболее адекватным способом, ящитаю, способ, указанный в примере "Пример заказа на покупку"
По крайней мере, официально они все будут работать на благо кросплатформенного .NET
В MonoDevelop тоже нет поддержки CoreCLR
Спасибо
годнота! я уже свой департамент подсадил
По ангельски пиши, не понятно же нихуя.
хуй знает. сам студент в средней такой мухосрани в лучшем вузе города (из трёх, кхм), нас почти ничему не учат, ебашишь всё сам. имхо в руссии в университетах нормальных преподаванов в сфере ИТ не встретишь, все работают за реальне бобло, и не тратят время на взращивание конкурентов. + как я понял, чистый шарп можешь себе в очко засунуть. т.к. шарп - это корпоративные приложения, точись под бд со всякими sql и прочим шлаком.
как в нём настроить отладку шарп-кода?
А ну эт само собой, спасибо
Отменяю вопрос, прищлось регистрироваться.
Не реально, даже не пытайся. Все очень сложно. Тонкостей - миллон. Ты не осилишь. Все давай!
подскажи как правильно настроить CORS в ASP.NET Web API проекте?
очень прошу умоляю, бордочка споси T_T
Чтобы основные методы были реализованы хотя бы (Add, AddRange, SetRange, GetEnumerator, CopyTo) и все такое.
Не серчайте, если что-то не так с терминами ;c
>stack
>очередь
Это не одно и то же, не? А, у queue FIFO, а у stack'а LIFO, вспомнил.
Посмотри метаданные обобщенного списка (List<>), там методы и реализуемые интерфейсы вроде понятно описаны. Ну и гугл -> msdn, очевидно. Еще 9 глава Троелсена.
Что читать, чтобы понять, как работает explorer? В частности, мне нужно "перехватить" обработку даблклика по папке на рабочем столе.
Пока смог научить только сраные прямоугольники и эллипсы отличать.
Байтоебство, указатели, компилятор не проведёт за ручку мимо граблей.
Так ты ищи решение конкретных задач по юнити, в /gd/ вон пойди.
Оке, добра тебе.
Привет, анон. Помоги с кусочком кода.
Есть текстовый файл, наполненный обычным текстом, слова разделены пробелами, некоторые абзацами.
Нужно каждые n (пусть 50) слов забить в string массив до конца файла.
>Нужно каждые n (пусть 50) слов забить в string массив до конца файла.
Нихуя не понял. Раскидать слова по массивам по 50 штук на массив?
Это копия, сохраненная 12 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.