Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.Литература вторым постомBreaking news- Xamarin стал бесплатным для небольших команд- Вышла первая preview-версия новой Visual Studio - https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs1. Ресурсы:- http://stackoverflow.com/questions/tagged/c%23- http://www.tutorialspoint.com/csharp/- http://professorweb.ru- http://net-informations.com- http://habrahabr.ru/hub/csharp/2. Онлайн-компиляторы:- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.- http://ideone.com/- http://csharppad.com/- http://www.tutorialspoint.com/compile_csharp_online.php- http://rextester.com/l/csharp_online_compiler3. 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 Essentials7. Дополнительные инструменты для разработки на C#LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данныхdnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студииdotPeek - бесплатный декомпилятор от JetBrainsscriptcs - для запуска C# кода как скриптов, возможность использовать как REPL8. Расширения для студииReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентовSupercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по нимIndent Guides - показывает вертикальные линии на каждом уровне отступов.Format document on Save - форматирует код каждый раз при сохранении документаCode alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечисленияхОбзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20OverviewНовые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕКод этой шапки: http://pastebin.com/cKKXYArsПрошлый тред тонет здесь: https://2ch.hk/pr/res/694892.html
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 и анализ дампов памяти в windbg15. Литература не по шарпу, но так или иначе связанная с языкомC# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под UnityIntroduction 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), SOLID18. Я не умею читать, что посмотреть?- 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# не зашёл, непонятно нихуя.
>>707945CLR via C# не для ньюфагов. Русской вроде нет, но можешь "Язык программирования C# 5.0 и платформа .NET 4.5" Троелсена поскать
>>707945пичаль, слр виа читается довольно легко> C# 5.0, Справочник. Полное описание языкаэту попробуй тогда
Зачем нужен CLR, какой от него толк? Читал википедии нихуя не понял.
Кто-нибудь смог заставить ее ОТЛАЖИВАТЬ core clr приложения?Скиньте мануал, а то какие-то экстеншены, лаунчеры, таск конфиги - я запутался.
>>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.
Анон, подскажи слоупоку..Есть 2 папки:1я-содержимое не трогаем2я-найти файлы как в 1й, и их уладить. Оставить уникальные.Вова пишет так:цикл для массива 1{ цикл для массива 2{ если 1==2[y], удалят}}А теперь поговорим об оптимизации :3
>>708154А что там с оптимизацией? 4-гига-2-ядра мало для такой тривиальной задачи?
>>708160Форма начинает зависать, это раз. И хотелось бы увидеть как эти задачи решаются более правильным путем.
>>708162a s y n c
>>708080ОК, я не правильно выразился, сейчас уточню.Я разрабатываю на OSX используя полный "framework dnx451" (mono). По идее должна работать, не пойму как его запустить.Ни в магазине ни в github нет описания использования:https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debughttps://github.com/Microsoft/vscode-mono-debug
>>708173Так у тебя моно или coreclr?
>>708174mono
Зашел на сайт монодевелопа, а там кнопка download xamarin studio.Я что-то пропустил?
>>708154как у тебя происходит файл1 == файл2?>>708063выполняет инструкции ILв общем-то, c#/vb.net/f# код копмиляется в инструкции IL, CLR компилит на лету это говно во что-то более машиннокодное и отдает на выполнение дале
господа, что делать если голова при работе становится ватной и ты перестаешь что-либо соображать, выполняя лишь базовые функции. Кофе, прогулка, тренировка? Не могу настроить себя на каждодневную, но короткую работу тк производительность труда стремительно падает. Старость, в 26 то лет?
>Вышла первая preview-версия новой Visual StudioКак понимаю, для веба там ещё ничего нету?
>>708242отвлекайся на что-нибудь, хобби себе найди)если я правильно понимаю, у меня такая же фигня. я это связываю с апатией от каждодневных if-else ибо заебало
>>708246Вроде бы нет, но пока можно и 2015 обойтись
А ПМ то не настоящий (ну или хотя бы не полный).По структуре не сравнивает, а только убирает лишний каст.>>708246Да, там пока только wpf, формы и консолька, и "новые фичи C# 7"
>>708249> По структуре не сравнивает, а только убирает лишний каст.Естественно, как ты себе это представляешь?
>>708249>А ПМ то не настоящий (ну или хотя бы не полный).И is выглядит и читается не оче.
>>708250К примеру как в Scala, на то он и называется "Сопоставление с образцом".Так то можно сказать что и у swift (там есть аналогичная конструкция) есть ПМ.Вот создатели kotlin, прямо заявляют что у них НЕТ ПМ, а есть просто авто-каст.
>>708256Возможно на Record'ах такая поддержка будет.
>>708257А вот это кстати возможно, но в текущей версии их нет
>>708259Ну так самая первая превьюха, слишком недопиленная, но нужно же было что-то на build 16 показать, лол. Так что ждем что дальше будет.
>>708063вкратце - все языки дотнета компилируются в простой псевдоассемблер виртуальной машины, который уже во время исполнения компилируется в машинный код нужной платформы. собственно такой подход используется в быстро набирающих популярность LLVM компиляторах, разве что тут мы получаем "полуфабрикат", который докомпилируется потом а у ллвм оно сразу компилируется в бинарник.профит в разделении задач разработчиков компилятора на 2 не связанных задачи. с одной стороны разработчику языка нужно реализовать только транслятор в промежуточный язык и не заморачивается оптимизацией под конкретное железо. с другой стороны низкоуровневая оптимизация ложится на разработчиков компилятора из промежуточного языка, которому уже пофик на особенности языка высшего уровня который был в оригинале - у него есть "простой" код для стековой машины.
>>708179мелкософт купила ксамариан и выложила его бесплатно.
Хлопци, а чем отличаются атрибуты [STAThread] от [MTAThread] при использовании тредов?
>>708347http://stackoverflow.com/questions/1361033/what-does-stathread-do
Куда копать?
>>708353https://msdn.microsoft.com/en-us/library/ms345097.aspx
>>708347А по подробнее можно? Там ничего толкового кроме того, что [STAThread] используется для работы с СОМ-объектами ничо не связано. Меня интересует в чём будет разница работы треда с threadApartmentState MTA и STA. И что вообще такое single thread apartment? Типа все треды будут выполнятся на одном логическом ядре ЦПУ? Типа приложения на вин формс априори одноядерные?
блят, промахнулся>>708350>>708357
>>708357https://support.microsoft.com/en-us/kb/287087не все треды всего приложения, а тред, который работает непосредственно с COM
>>708357STA значит что ком-объекты не заточены под мультипоточность и работать с ними можно только из одного потока. в частности такая фигня с винформс
>>708364Ну дак а в чём будет разница работы треда с threadApartmentState MTA и STA если я не использую СОМ-объекты? И что вообще такое thread apartment и в чём разница между single и multi кроме очевидного из перевода - сингл - один "апартамент", и мульти - много "апартаментов"? Апартаменты то это шо?
>>708370Формы используют
>>708344Хорошо объясняешь, тебе бы книги писать, лол.
>>708374Это вот ответ на какой вопрос?
>>708355Есть предопложение, что дело не в моей сборке, а в библиотеке ImapX. Может быть такое?
>>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 добавили конкретно для такого алгоритма
>>708396я хуй знает, чесслово
>>708344Спасибо за ответ.Есть ли смысл изучать CLR, будет ли он востребованный в будущем?
>>708454что ты подразумеваешь под> изучать CLR?
>>708457Нужно ли менять стиль программирования под CLR?
>>708465ШТО?
>>708465поехавший
>>708465попробуй, расскажешь тут потом, как
>>708468Ну так есть книга CLR via C# я так понял она отом как правильно писать код, чтобы CLR етот код правильно воспринимал.
>>708477NYETа вообще открой и почитай
>>708479ок
>>708477не, она больше о внутреностях. как работает виртуальная машина дотнета, во что скомпилируется твой код и прочая. стилистика тут не при чем воопше. более того в шарпе обычно куча способов написать разный код, который скомпилируется одинаково. т.е. базово что-то вродеvar a = from i in list where i % 2 == 0 select i;IEnumerable<int> a = list.Where(i => i%2 == 0);даст полностью одинаковый код.
>>708484пиздец, ну и говно у вас вместо языка.
>>708487А что тебе не нравится? нормально же читается.
>>708487сравнивает одну фичу синтаксического сахара платформы с возможностями языкалел
>>708477Это достаточно веселая книга, где стандартные вещи (ну методы там, константы, поля, ивенты) рассматриваются на более низком уровне (на уровне IL обычно) + разные неочевидные вещи, например, связанные с виртуальными методами. Ну и про многопоточность там очень много чего интересного.
>>708487кекнул с тебя, глупыш.
>>708493а вот этого двачну.Книга в свое время дала мне збс буст в тех. плане.
Как подключить файл к батону??? Что б при клике по батону открывался файл!!! Плз хелп
>>708618Process.Start
>>708618открывался внутри твоей программы, или запускалось дефолтное приложение, которое работает с файлами конкретного расширения?
Есть какие-то видеоуроки по синтаксису C# которые вы посоветуете?
Поясните за такойПример. 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 и т. д.
>>707968C#5.0 никому нахуй не надо после выхода шестерки
>>708666в юнити до сих пор недочетверка
>>708664ммм.. первое - с чего вдруг в первом случае условие выполнится на стороне клиента? второе - ты оба раза явно используешь ToList(), как это противоречит отложенному вычислению?
>>708676http://www.quizful.net/interview/csharp/ienumerable-vs-iqueryableПример вот отсюда взялТолько поменял myOrm.GetStudents() на db.Students, чтобы показать что непосредственно к Dbset обращение> первое - с чего вдруг в первом случае условие выполнится на стороне клиента? Вот я тоже не понял с чего они взяли это, там так утверждается и никто не против.Поэтому и спрашиваю
>>708663Лол. Это как? Ну то есть чему ты хочешь научиться?
>>708666лол блять.А в чем разница???? 4.5 почти ничем не отличается от 4.5.2 (C# 6)
>>708682Основам, синтаксису конкретно C#, а дальше уже сам найду лит-ру. Просто я сейчас Троелсена начал читать и чуть-чуть тяжело, чувство будто я дебил и читаю какие-то заклинания.Есть какие-то знаний о типах данных, что такое массив, но рабол с массивом я только в C когда учил C 4 года назад (а после этого забросил ибо не мог). Сейчас вот хочу заняться программированием.
>>708680ага. понилзначится смотри, суть в том что для IEnumerable<> и IQueryable<> определенные разные варианты экстеншен методов. т.е. при выполнении запроса в первом случае произойдет вызов Where(IEnumerable<>, Func) который вызовет получение енумератора из db.Students. т.е. простой запрос "Select from Students;"во втором случае будет вызов совсем другого Where(IQueryable<>, Func), который вызовет синтаксический разбор серии экстеншенов и построение запроса "select from students where ..."но в обоих случаях данные из базы будут дергатся только по вызову ToList()
>>708688https://www.youtube.com/watch?v=bFdP3_TF7Ksпервое что нашёл. На самом деле такого - завались, но лучше книги ничего не может быть.Посмотри в шапке, вроде есть что-то для нуфагов.
>>708693А вот зацени что ещё нашёл.Правослваные курсы : https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949
>>708692ах да. так как в подавляющем большинстве случаев ирл будет написано var students = db.students или воопше db.students.Where(...)то разницу следует учитывать только при передаче таблицы как параметра.
>>708693А Троелсен и есть для нюфагов + мой инглиш не на уровне просмотра, я уж лучше буду на нем читать тогда.
>>708666Да там только немного синтаксического сахара добавили, не более. Строковая интерполяция, например, раскрывается в String.Format, и с остальным все так же.
>>708714именно. Потому читать 4.5 Троелсена обязательно!
>>708700Бамп.
>>708692То есть суть в том что к IEnumerable нельзя дописывать фильтры и все последующие вызовы экстеншен методов будут вызываться уже на последовательности в памяти?
>>708736нет, суть в том что IQueryable проводит разбор экстеншенов для составления запроса к данным(что в частности приводит к некоторым ограничениям - в частности можно использовать только функции поддерживаемые провайдером, кастомное не пихнешь) а IEnumeration такого не умеет и просто применяет несколько фильтров к уже имеющейся последовательности.
>>708743IEnumerable<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в первом случае будут всегда сначала выгружать всех студентов в память, а уже потом фильтры накладывать, а во втором полный запрос к БД с получением отфильтрованных данных?
>>708793в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable. вот если IEnumerable<Student> s = db.Students;var query = s.Where(st => st.Age > 25);то тут сначала загрузится все в память, а потом уже пойдет Where
>>708800> в это случае будет однохуйственно, потому что сначала строится выражение на db.Students а потом только приводится к IEnumerable.Ну в этом собственно был и впорос.Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.
>>708812>Если я присваиваю такое выражение к иенумеребл то все фильтры наложенные после этого будут наложены на данные в памяти а не в бд.нет. выражение уже собрано. то что ты присвоешь его потом иэнумерабле ничего не изменит. но в самом первом посте цепочка изначально строили на иенумерабле, что и вызовет загрузку всей таблицыт.е. цепочка linq вызовов уже
Есть одна строка:[CODE]{"success":true,"lowest_price":"$2.87","volume":"557","median_price":"$2.87"}[/CODE]Цифры меняются. Как разделить это на > success = значение> lowest_price = значение> ...?Яне шарю в этом от слова вообще.
>>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
>>708866вариант первый(и правильный) - очевидно это JSONподключить JSON.NET и десериализовать объект.вариант второй(если не хочется тянуть лишние зависимости) - использовать регекспы
>>708800вообще тут стоило сказать только одну существенную разницу между интерфейсами: IQueryable описывает коллекцию, которая еще не была инициализирована (не загружена из базы, если конкретно про этот пример примерять), IEnumerable - коллекцию, которую можно поперечислять себе на здоровье (более конкретно - что-то, что может тебе предоставить итератор, который может перечислять некий набор говна)но вы тут ебалу какую-то устроили
>>708874Можешь сделать пример? Весь гугл облазил и нихуя не понял да, я тупой.
>>708923http://pastebin.com/jZ6LqQCtПо аналогии сделаешь и с баксом
>>708938Спасибо, работает. Осталось разобраться как правильно составить регексы.
>>708938Ну ненад так сложно.https://dotnetfiddle.net/Widget/aRb5Ls
Какой гуи тулкит посоветуете для моно? Есть что-то такое же простое как WPF?
Посоветуйте уроков и/или литературы по ООП C#. Дело в том, что в глубокой молодости (школьником) я разбирался в этом ваше программировании, но дальше Паскаля дело не пошло. То есть про циклы, массивы и весь подобный примитив я в курсе, а вот про классы и методы что-то совсем в голову не лезет. Так что нужна информация хотя бы на школьном уровне для начала.
>>709040Очевидный WinForms
>>709119Без обид, но мне кажется всех нуфагов банят в гугле. Потому что первое что приходит мне на ум - гуглануть.Вот например видос: https://www.youtube.com/watch?v=x0udrpe_gZEНо вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопрос
>>709127>Но вообще гуглишь "ооп для начинающих" и почти любая ссылка - ответ на твой вопросЭто понятно, гуглить я умею. Вопрос в том, как не нарваться на говноуроки, чтобы потом одним говнокодером не стало больше. Вы же опытные ребята, умеете отличить нормальные занятия от фуфла, поэтому и спрашиваю. И да, мне б желательно все-таки в текстовом виде, а не ютуб.
>>709139тогда лучше сразу читай книги. Там обычно всё ок.Бертран Майер вроде ок.
Скажите честно, стоит в 2016 начинать изучать c# и .NET?Или Дотнет сейчас все меньше и меньше востребован кроме как в больших фирмах (друг два года назад фрилансил на ксамарине, а сейчас в реакт нейтив ушел, второй на асп.нет писал, сейчас мидл на роре)?
>>709202Годно вкатываться в JS. В .NET в принципе, тоже ок.
>>709202и фриланс есть, и большие фирмы есть. этого недостаточно, я подозреваю? )
>>709206а я вот не могу найти фриланс что-то :(
>>709210ну, если ты хочешь, чтобы ты такой вышел и тебе сразу по сто штук предложений в день, то добро пожаловать в PHP/RoR
>>709211нене. Интересует именно .net.Умею весь стек. Не умею искать наверное.
>>709212когда я только вкатывался во фриланс, была уйма предложений на тогда еще раздельных Elance/oDesk по ASP.NET MVC. но когда это было-то
>>709215а сейчас что? Есть проекты?
>>709217не могу сказать, к сожалению. я уж давно не в деле. но могу с определенной уверенностью наванговать, что в мире мобайла предложений должно быть достаточно много
>>709219то есть с Xamarin можно вкатываться?
Ньюфаг в треде.Вот читаю книгу на английском, что-то гуглю что именно важное, но иногда бывает половину предложения не пойму или не запомню название чего-то.Скипать и читать дальше надеясь что с опытом все запомнится или взять книгу на русском где я пойму 100%?
>>709255хорошо, конечно, на инглише, but если тяжело идет, выбери путь легче. ну естественно
Ужасно лагает VS 2015. При вводе текста задержка с пол секунды, а компиляция маленькой программы на 3 строчки происходит секунд 15. Обновления повыключал, при установке нажал "выборочно" и отключил все доп. модули. В чем может быть проблема? Ноут 2 ядра 2.4, 4 гб ОЗУ, не SSD. W7
>>709314вот такая ситуация, только с VS2013, попробуй, может поможет: http://superuser.com/questions/715607/improving-resolving-keyboard-input-lag-with-visual-studio-2013
>>709316Добра тебе анон! Codelens не обнажурил в VSCommunity, но вот Application Insights Tools удалил и все теперь летает. Спасибо огромное!
Есть желание перекатиться из глючных/тяжелых Mono/.NET в новый-чудный мир CoreCLR.Но вот проблема, там нет ServiceModel и вроде как не будет ибо НЕНУЖНОhttps://github.com/dotnet/corefx/blob/master/Documentation/project-docs/porting.md#remotingТам они ссылаются на пайпы как альтернативу, но я не нашел апи для его испльзования.Соответственно вопрос: какие есть реально-существующие альтернативы, близкие по подходу к WCF?
Как изучать entity framework, чтоб полностью понимать, как он работает? Только сорцы читать? Или есть какие-то книги? Что-то ничего не нагуглил.
>>709373есть же онлайн учебник от майкрософт(тм)(с)(р)-ов
>>709255> Скипать и читать дальше надеясь что с опытом все запомнитсяThis. Все так делают.Даже на русском ты не поймешь все 100% текста, такова особенность нашего мозга. Ты забудешь все через 2 недели, если не будешь практиковаться, независимо от языка, на котором книга была написана.
Подтверждаю
Здраститя. Дропнул изучение C# по этой книжке 2 года назад, стоит ли продолжать изучение по ней же, или лучше использовать другую литературу?
>>709415возьми Троелсена, а но он не забавный, учти это
>>709417А что, Троелсен настолько лучше этого?
>>709419все, что угодно лучше, чем это
>>709421ИМХО, ессессно
>>709421Блин, а я на бумаге ее купил.
Аноны, подскажите новичку. Спрашивал тред-два назад что на джуниора надо. Прочитал, поизучал примеры. Напрашивается вопрос. Надо ходить по собеседованиям, чтоб сказали где я хуй квалифицирован, а где нет. И если что - взяли работать за еду. Залез офк первым делом на HH.ru . Но там вакансий по джуну вообще нету. Т.е. есть один по asp.net, но с опытом работы. Я же, ясен-красен опыта работы не имею, ну и asp не знаю.Гугл выдает архивы вакансий. Подскажите, где искать? Мб сайты тематические конкретно по IT-вакансиям есть?
>>709424это ж тебе надо написать, мол, не все так плохо, да?ну, если тебе все понятно и книга раскрывает нужные моменты C#/.NET, то ну куда деваться, учи. но Троелсена скачай на всякий случай пдфочку
>>709424
>>709425> HH.ru> вакансий по джуну вообще нетуда ладно, неужели? или ты имеешь ввиду, именно в твоем мухосранске нету?
>>709425Да, есть:http://www.dmoz.org/World/Russian/Компьютеры/Программирование/Ресурсы/РаботаНо вряд ли поможет. Платформа ПК загибается, типа-шарящих в сишарпе толпы вокруг, ну и так далее.Ловить нечего, в общем.
>>709428Если ДС-2 - мухосранск, то да - нету. Полторы вакансии. Точнее - одна.
>>709430> типа-шарящих в сишарпе толпы вокруглол
>>709419Троелсен - это как минет в порнухе. Классическая вещь с которой все начинается.
>>709432Более того, мальчики сразу метят в манагеры, так и рвутся руководить, макак.Так что не забудь выучить патэрни, макак.
>>709430Хреново, если так. Но все равно - спасибо.
>>709433
>>709440а зря. Я не просто так говорю.
>>709441Я, например, только лесбипорно смотрю, поэтому твоя аналогия с минетом мне непонятна.
>>709441Да я уже скачиваю энивей.
>>709425Походу придется пхп-макакой идти. Или гей-шлюхой. Ну или в медиамарт консультантом. Хотя лучше гей-шлюхой.
>>709443сельд плизда пох. Идею же ты понял
установил нет фреймворк 4.5 как без среды разработки кодить?
>>709453Знакомый говорит в его пхп-мирке сейчас неебическая конкуренция. Ну прямо толпы с разных двухмесячных курсов бегут и готовы работать бесплатно, без шуток.
>>709461в блокноте
>>709461csc.exe parasha.cs
>>709461пишешь в блокноте, компилишь msbuild'ом
>>709461>>709466да и вообще, поставь студию или VS Code
>>709466блять,вы все говорите вразнобой,дайте алгоритм.иде не использую,потомучто комп слабый.буду писать на саблайме
>>709469Вот это лучше поставьhttps://csscriptnpp.codeplex.com/
>>709469Ставь это https://code.visualstudio.com/Тот же саблайм, только ещё и билдить умеет
>>709469Попробуй это https://atom.io/packages/omnisharp-atom
>>709477не понравился.так кто нибудь даст алгоритм?
>>709469я вот этим пользуюсь
>>709480Да, возможно самый лучший вариант
>>709481не прогадаешь
>>709474> VS Code> билдитьТам же DNX и можно запускать вообще не собирая (сборка будет на лету).Или ты в нем старые проекты редактируешь?
нахер нужен СИ шарп?
>>709501прост )))
>>709499Не асп единым же
>>709504ave java!
>>709508шутки за 300
>>709504Там же есть Aps Net Console, можно делать те же консольные приложения что и на винде.А вообще ты в нем что-ли sln проекты разрабатываешь?
Почему я в тулбоксе cуществующего приложения не могу выбрать календарь или датапикер? а если создать новый wpf проект, то все норм.Из-за чего это?
>>709580нужно руками указывать сборки откуда ты импортируешь элементы.
>>709609 Я ньюфаг, не понял ничего. Если не сложно объясните чайнику. Вот я открыл кем-то написанный проект в вижуал студио, могу добавить кнопку, могу листбокс, а календарь не могу.
>>709636Все, понял. Надо было таргет версию фреймворка обновить
>>709609с каких это хуёв?
Почаны, кто что думает про Universal apps? Десятка сейчас на первом месте в стиме. Также планируется поддержка Xbox один. Конкуренция в Windows store небольшая. Можно хотя бы на хлеб заработать?
Устроился погромистом. По работе в основном буду заниматься C# + WPF. Чувствуется небольшой привкус говнеца между зубов, ну да ладно. Начал читать wfp 4 unleashed от Adam Nathan. После вводной части идет сразу ебучий XAML. Тащем-то у меня первое задание про простое приложение оконное без особого масштабирования функционала, я так понимаю мне пока не стоит ради этого углубляться и достаточно нашлепать формочек да кода написать?И поясните за XAML: каким боком он пригождается погромисту? Ну т.е. поверстать UI это конечно круто, но это больше к дизайнерам и прочим личностям. В нём удобнее и быстрее закодить окошечки, чем делать это из кода?
>>709733Хуяйнерам.Никто кроме программеров в XAML не полезет.
>>709733Для дизайнеров куча ништяков уже есть(Blend,наример),им незачем в xaml лезть.
>>709883Что ты, блять, несёшь? Какие дизайнеры? Никто, кроме разраба, не полезет в твой Blend.
>>709747>>709894Боль макаки итт
>>709712нет, аудитория маленькая, ебли много, телефоны у них так вообще в жопе сидят.
>>709733> каким образом пригождаетсякаким образом погромисту пригождается формошлепство?xaml - помимо как средство описания внешнего вида также и инструмент воплощения основной идеи wpf, т.е. уменьшение (отсутствие) кода в ui-элементах
Делаю задачи из Кернигана и Ричи на C#, попутно импровизируя графический интерфейс. Как лучше всего организовать отображение истории перевода Фаренгейт -> Цельсий и обратно (у меня двухсторонняя реализация через текстбоксы)?
>>709959В каком смысле история перевода? Просто список градусов, которые ты ранее конвертировал?
>>709979Да, мб отображение типизированного списка в ListView?
>>709997ну можешь и текстбокс-ом обойтись, если че. или listbox. или еще что-нибудь
Сап, шарпач. Читаю Троелсена, дошел до двадцатой главы (System.IO) и я так больше не могу. Перевод ужасный, много воды и лишней повторяющейся информации. Хочу дропнуть и перейти к другой книге, но к какой? К какой книге перейти? К какой?Что можешь посоветовать годного по WPF? inb4 читай шапку
>>710026ну Рихтера почитай, раз ты у нас такой
Добавьте в шапку описание самых комфортабельных ридеров с комфортабельным шрифтом для чтения и т.п. Мне нравится встроенный в Google Chrome PDF-ридер. Жаль у него нет функциональности как в других десктопных ридеров, как STDU.
>>710026Меня еще бесит его "более подробно можете почитать в документации .NET SDK". В общем, чтение этой книги - бесполезная трата времени. Жаль, что я осознал только сейчас.
>>710036суматра зе бест, умеет и в пдф, и джвю
>>710039ну ты, тащемто, охуеешь читать/писать книгу обо всем
>>710050Я все понимаю. Эта книга дает лишь обзорное понимание устройства .NET и C#, но преподносит себя так, будто она рассматривает все тонкости и нюансы всего .NET.
>>710064читай рихтера, там все нюансы
Кто-то пользовался ImapX? Как полученные письма выгружать из памяти?
>>710026троелсен - чтобы вкатитьсярихтер - чтобы знать и понимать
>>710145Юзал его.Хуевая тулза.Много лулзов словил,когда пробовал письмо в папку добавить(какая-то хуйня с кодировкой письма).
>>710145Читай документациюhttps://imapx.codeplex.com/documentation
>>710219Спасибо, читал - ничего не нашёл.
>>709225Можно, солнышко, можно.
>>710217А что лучше использовать?
Или так: можно ли как-то освободить неуправляемую память, зохаванную либой, если писатели либы не озаботились её освобождением ни в деструкторе, ни в диспозере?понятно, что от такой либы надо отказываться, но есть ли быстрый воркэраунд?
>>710253Marshal.ReleaseMarshal.ReleaseComObject
Есть собака. Собака может быть сенбернаром и дворнягой. Вне зависимости от породы может жрать: сырое мясо, сухой корм.Как лучше иерархию классов запилить? Пока так придумал:enum Корм {сырое мясо, сухой корм}class Собака{Корм корм}class сенбернар: Собака{}class дворняга: Собака{}
>>710282круто придумалда тут паттерны надо подключать, епсель
>>710285Подробней?
>>710282interface DogFood {}class Flesh : DogFood {}class DryFood : DogFood {}interface Dog { public void eat(DogFood food) {}}
>>710287Корм надо унаследовать от собаки, а сербернар зделоть стратегией.
>>710296Спасибо.>>710297>стратегиейЯ шутан делаю, например!
Р О Б О Т О Т Е Х Н И К А
Сделал себе с помощью Entity Framework sqlite базу данных. Подскажите, пожалуйста, как теперь сгенерить для неё ER diagram(диаграмма "сущность-связь")?
>>710297А корм вообще должен быть Disposable-ресурсом.
>>710237Бусь тебя <3
>>710256Два потока этому господину
>>710296всё так
>>710337только тогда IDogFood, чтобы ваще збс было
>>710331Останется сделать всё на async/await
>>710330я в таких случаях создаю database-first модель и тяну на дизайнер таблицы) лол
>>710339>>710340>>710331>>710296А если корм должен быть свойством?
>>710344тогда нужно чтобы был метод ПОКОРМИТЬ ЗА ЩЕКУ
>>710344а схуяли?
В следующем году нужно будет проходить практику в какой-то фирме. Где их лучше искать и что писать? Знаю winforms, wpf, немного asp.net mvc и t-sql. ДС2
>>710596Еще интересно, что там могут дать делать?
>>707882 (OP)тест
>>710420Ну, понимаешь, ты не просто пихаешь корм в собаку, а вызываешь метод «съесть корм». А забрать корм обратно нельзя, потому что свойство только для записи.
>>710645Ох щи, вот мы и добрались транзакций с кормушкой и фуд менеджера.
Сишарпач, помоги разобраться в смысле делегатов.Допустим у меня есть такой отрывок кода http://paste.ofcode.org/Mr7GqAvrXchp8VKxdA7HQxЗачем тут использовался делегат? Почему просто нельзя было вызвать метод?
>>710740Незачем.
>>710784Зачем тогда нужны делегаты? Удобство вызова функции через ссылку, а в других обработчиках работать уже с ссылкой, определяя ее функционал?
>>710802опять ты чтоли
>>710811я никуда и не уходил
>>710813джве сотни постов назад был уже ответ на этот вопрос
>>710818ответ был слишком формализирован, мне б ПОПРОЩЕ
>>710802Для объектов есть интерфейсы, для функций - делегаты.
>>710802Необходимость и смысл делегатов следует из их сути о возможности присвоения ссылки на метод объекту. Их можно использовать в различных ситуациях: в паттернах, основанных на event; когда нужно иметь несколько реализаций одного типа метода (некое подобие интерфейса); callback'и. В большинстве случаев можно обойтись без них.
>>710821дабы абстрагироваться от вызова конкретного метода
>>710822интерфейсы же нужны для прототипирования, там мы укажем свойства и методы и заставим программиста заполнять все это дерьмо в объекте, что наследуется от интерфейса. а делегат то только суть ссылка на функцию, максимум что он определяет - это тип, возвращаемый этой самой функции>>710827>в паттернах, основанных на event;Можно пример для одаренных?>когда нужно иметь несколько реализаций одного типа методаРазве для этого не используется перегрузка?
>>710831перегрузка переопределяет конкретный метод в данной иерархии классов, а тебе нужно много вариантов одного и того же метода. тут речь о стратегии
>>710830те возможность скармливать одну из многих возможных логик работы многим методам через единую точку (делегат)?
>>710837те возможность скармливать одну из многих возможных логик работы разным методам через единую реализацию (через делегат)?переправил сам себя
>>710831>суть ссылка на функциюНу ок, а интерфейс это просто ссылка на объект.Интерфейс гарантирует что объект будет иметь определенные методы, делегат - что у функции будут такие то параметры и возвращаемый тип, т.е. прототип, как ты и написал. Если бы в нашем языке были первоклассные функции, делегатов бы не было, были бы какие-нибудь функциональные интерфейсы.
>>710831>Можно пример для одаренных?Ты в event добавляешь как раз делегаты.>Разве для этого не используется перегрузка? Как уже сказали, перегрузка для конкретного метода. И к тому же перегрузка ведь требует различные входные и/или выходные типы метода.
>>710844те делегат это образно метод, у которого объявлен функционал, но не логика, и который можно перегружать другими методами (он копирует их логику при том условии, что функционал идентичен)
>>710846Если уж совсем на пальцах (в терминах С++), то делегат это указатель на метод/ы, которые имеют соответствующую сигнатуру а ля bool saveString(string str). В С++ делегаты можно объявлять задавая тип функции с помощью typedef и потом так же использовать. Но гораздо проще с этим с помощью обертки std::function или аналогов от boost, например.
Заебался гуглить каждую вещь в wpf и xaml. Чувствую себя макакой-индусом типа это не так
>>711026каждую вещь это например?
>>709364В CoreCLR - никаких. Сам страдаю. Нет даже .NET Remoting, даже домены там выпилили. Только Web API или там NancyFX какой-нибудь. Под пайпами, видимо, они имеют в виду ручной пердолинг в System.IO.Pipes. Если CoreCLR взлетит, рано или поздно альтернатива появится, я думаю.
Поясните, создавать интерфейс чисто ради того, чтобы сделать мок - это норм? Допустим, у меня в контроллере есть свойство типа T. Когда я буду тестить методы контроллера, я хочу его замочить. И специально для этого я делаю интерфейс IT, хотя ни для чего кроме тестов интерфейс мне абсолютно точно не нужен.
>>711393Mock-объект представляет собой конкретную фиктивную реализацию интерфейса, предназначенную исключительно для тестирования взаимодействия и относительно которого высказывается утверждение*(с) викиили у тебя все как-то через жопу по-особенному?
>>711128>Если CoreCLR взлетитуже не взлетит
>>711458И хули ему не взлететь-то? Ксамарин прикроют, кодобазу и разработчиков смерджат, все щасливы.
>>711460а куда лететь?
>>711465к твоей мамаше в пизду))
>>711468когда будешь проходить мимо какого-либо здания - следи чтобы сверху кирпич на голову не прилетел. не уследишь - значит я швырнул прямо в цель.
>>711471бугурт дауна (тебя) )))
>>711471Давай лучше я расскажу тебе о том, как ты родился: когда я насиловал твою беременную мамашу и потом тряс её за руки с балкона, она визжала и начала говорить что щас обосрётся. Мне было похуй, и таким образом ты упал с третьего этажа при рождении. Не обижайся на меня сильно за это, дефектное.
>>711475>) ))) скобкоеб детектед
>>711477хуя горит)
>>711477Ты даун (сложна (да (нет (дыыыаа))))
Программач,Изучаю С# по The C# Player's Guide.Дошел до наследования классов, и немного завис. Например:http://pastebin.com/erReQ3JcКак расшифровать последнюю строку вообще? Какого класса объект создается? ЗАЧЕМ это, ведь, как автор пишет, у такого объекта будут доступны только поля из класса А. На professorweb искал, не могу найти место где конкретно это объясняется. Как это гуглить тоже не врубаюсь.Спасибо
>>711540Создаешь экземпляр класса B, апкастишь до A
>>711540Это фишка юзается для достижения полиморфизма объектов, просто в примере тема не раскрыта. Таким макаром имплеиентят патерн адаптер.
>>711563
>>711618просто намота на ус, что так можно делать. рассказывать тебе на данном этапе про проектирование на уровне интерфейсов бессмысленно
>>711624сука, спойлер зачем-то слепил
>>711625Бывает
>>711618Ну высри тогда сюда.
>>711624В это и проблема тупых курсов. Нахера что-то показывать если нет конкретного примера для чего мне это вообще нужно запоминать?
>>711628это, на самом деле, довольно важный момент. однако адекватно на примере показать а зачем тяжело. тоже самое, в принципе, с referenced/value types
>>711627В примере просто показали что в переменные базового типа можно записывать объекты дочерних классов, внезапно кто-то на анонимном формуе начинает рассказывать про скрытый глубогий смысл, полиморфизм, паттерны какие то увидел которые к тому же слабо относятся к наследованию классов, потому что реализуются через композицию. В ообщем не горит у меня, не горит.
>>711739>> просто показали что в переменные базового типа можно записывать объекты дочерних классов,ну и зачем это показали? Это, явно, недоделанный пример.
>>711743Чтобы в следующих примерах люди не хватались за голову как это я создал объект B, а могу в A записать, вы говорили типизация. Тебе не понять еще раз, ты ведь это уже понял.
>>711746Человек не понял текущий пример, и не хочет двигаться далее пока не допрет. Попросил ключевые слова для гугления, ему их дали. В чем проблема?
>>711739Template method тоже через композицию реализуется?
>>711540>ЗАЧЕМ Прост) Вот представь, что есть еще класс C : A , и ты прямо на месте по какому-то признаку хочешь выбрать что создавать - B мли C , а для последующей работы хватит функциональности базового класса А, но внезапно с потенциальной модификацией поведения B или С.
>>711764Нинужен. Цепочка делегатов рулид.
>>711773это почему нинужен? Один из самый распространенных шаблонов, куда не глянь везде. И самое главное - доступен из каробки.
Устновил MonoDevelop, понравился, минимлистичный, лаконичный, работает в два раза быстрее студии, не тупит, горячие клавиши идентичные.
>>711540Открыл книгу, не нашел такой хуйни в разделе про наследование.
>>711822У тебя, наверное, новая редакция, всю ахинею почистили.
>>711820> MonoDevelopТам есть Resharper и прочее?
>>711827Тебе же сказали>минимлистичный>работает быстрее
>>711836нихуя нет fixed
>>711836Ага.Еще забавно, что имеется под работает быстрее? Компилирует проект на 10к строк кода быстрее или что? Интерфейс не тупит? Так у меня и студия летает с 40 открытыми вкладками в браузере. Может у тебя говнопека?
>>711839>нагрузил браузер>оценивает работу студии
>>711839Как дома так и на работе довольно хуевый пк. Дома лучше раз в 5, но все равно фризы в интерефейсе есть.
>>711820Ты охуешь, но там даже C# 6 не поддерживается и все шаблоны проектов устаревшие.
Шарпаны, под моно кто-нибудь web api пишет? Я тут начал, и охуел: оно не может распарсить json из тела запроса, потому что метод забыли дописать. Его конечно потом дописали, но это еще в альфа релизе. И это 2016 году.
>>712003лол
>>712003Пишем и не только на моно, но и на coreclr, дальше что?
>>712056Ну вот я хотел спросить, как оно вас? И конкретно по web api тот вопрос, сталкивались?
>>712066Да хорошо все, удобно что компилировать не нужно, просто через git выкачиваешь исходники и запускаешь (или docker можно сделать).> И конкретно по web api тот вопросНет не сталкивался, делаю запросы через GET или POST+Webform.
Господа, а комунити эдишон бесплатна для производственных целей?
>>712093>что компилировать не нужноНу эт coreclr у вас, так ее микрософт писала, а не васяны.
>>712101Аве майкрософт, теперь сможем как пехапехиры код прям в продакшене менять.
Это хороший тон на С# делать catch на весь код функции и посылать в логгер случае ошибки?И так с каждой функции? Норм так делать?
>>712174Не, не оч.
>>711933>даже C# 6 не поддерживаетсяСкажи мне что ты используешь из 6-го шарпа и я назову тебя нехорошим словом. Ну серьезно же - нинужин.
>>712257смотрите на этого полудурка
>>711933Ну сори, у меня пока есть тока мак, а на него пока VS не придуманоМимо
>>711822
Есть ли книги по c# 6.0 на русском?
Анончики, как мне добавить сюда db connect?Куда connectionString хуярить?
>>712409В connectionStrings.json
>>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.
>>711933> там даже C# 6 не поддерживаетсяНу кому ты пиздишь
>>712346https://dotnetfiddle.net/7ca3hKТам дальше вроде норм объяснили.
>>712472Напиши такой код, а потом попробуй через рефакторинг изменить Temp на Temp2ты увидишь что тип в справа в присвоение не изменился и возникла ошибка компиляции.Еще там есть куча мелких багов в виде "неправильное место подсветки ошибок" из-за того что сама IDE не понимает 6.0Но с этим на OSX еще можно жить, на винде когда я проверял (месяца 4 назад) это вообще не компилировалось.Все надежна на Rider для DNX проектов, а для мобилок видимо так и придется ебатся с этой недо-IDE.P.S.Ладно я использую XS на маке из-за iOS, а ты ее себе на винду нахрен поставил, когда есть VS Community?
>>712497
>>712497Лол, ну ты и даун.
>>712497Ты охуеешь, но новые все фичи C# 6.0 стали доступны в MonoDev. и VS за 2-3 месяца до его официального анонса.
>>712654Это ты даун, если пользуешься этим говном под виндой еще и нищеброд без мака, когда есть нормальная VS
>>712938>>712654 >>712661 - эт не мое. Но я нищеброд, угадал.
как лучше всего реализовать графическую матрицу из 100 элементов, которые управляются через цвет? (на WPF)
>>712951Так, посмотрел на винде:1) В текущей стабильном билде код уже компилируется (если обновиться до последней версии 5.10.3), но рефакторинг тоже не работает.2) В Alpha лежит версия 6.0 и там наверное рефакторинг работает, но никто не будет писать на альфе в продакшене.И там очень туманные перспективы, если даже с сайта Xamarin все ссылки видут на VS Community или только SDK.
>>713023Тут есть - http://monodevelop.com/
>>713023>писать на альфе в продакшенеВ продкшен код уходит, а не твоя ide, не похуй ли.
>>713049Это ты менеджеру проекта будешь рассказывать.Она же с собой тащит и альфа версии компилятора и тулов. Даже сама студия спокойно может внести ошибки в проектные файлы или сломать их обратную совместимость.Никто тебе не дает гарантий, ты тут работает бесплатным тестером.
На чем в моно можно писать гуи? XWT выглядит недоработанным, а QT какой-то перегруженный.
>>713055Она не может работать на стабильном компиляторе? Ну и говно
Шарпач, выручай. Почему-то деплой любого(даже 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.
>>713089https://social.msdn.microsoft.com/Forums/en-US/af58902e-071a-4def-af50-e2d5630f1361/deploying-blank-app-template-raises-error-dep0800?forum=winappswithnativecodeоно?>>712996> элементов, которые управляются через цветэто че значит?
>>713139>https://social.msdn.microsoft.com/Forums/en-US/af58902e-071a-4def-af50-e2d5630f1361/deploying-blank-app-template-raises-error-dep0800?forum=winappswithnativecodeоно?У меня C# и x86 как целевая архитектура
Можете пояснить про MVVM (WPF) на простом примере?`Вот есть окошко с textbox, есть textblock, есть кнопочка.Юзер вводит текст в текстбокс, нажимает на кнопочку и в текстблоке показывается введенный текст. В типичном MVC это бы делалось так: есть эвент onClick, который берет текст из бокса и пихает в текстблок. Или я ошибаюсь?А в MVVM мы это можем запилить с помощью биндингов. Юзер вводит текст, этот текстбокс привязан к property класса, который отвечает за viewmodel, тем самым меняется этот property, к которому так же привязан textblock, который собственно и меняется. Правильно?А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?
>>713274> А если все же нам нужно какое-то действие с кнопкой? Получается onClick меняет эту самую переменную, к которой биндинг?мало что понятно из этого вопроса. аналогом OnClick в MVVM выступает команда и вообще - это паттерн. в ней ты реализуешь всю логику, что тебе необходимо> И еще, по поводу viewmodel класса. Он должен быть один, с которого и берется DataContext на весь xaml файл? Или как оно вообще в продакшене?как правило, один на UI-объект класса Window или UiControl. но можешь отдельно на каждый текстбокс залепить свой вьюмодел. в зависимости от сложности, наверн
>>707882 (OP)Помогите решить очень простой вопрос.У меня есть парсер, написанный на winForms. он возвращает ссылки и сохраняет в текстовый документ. Но я хочу, чтобы он выводил их прям в приложении в виде ссылок по которым можно сразу же перейти. Мне для этого использовать richtextbox? Как это организовать?
>>713289ListBox/ListView лучше подходит
>>713289>>713294через RichText: http://stackoverflow.com/questions/435607/c-sharp-how-can-i-make-a-hyperlink-work-in-a-richtextboxя думаю, что дефолтное поведение от ListBox будет где-то таким же (т.е. надо будет писать хэндлеры на смену выбранного индекса). хотя, с другой стороны, можно воспользоваться LinkLabel в качестве элементов листа
>>713294>>713303спасибо
>>713139>это че значит?Есть квадратная таблица 10 на 10 которая отображает логическое состояние соответствующей битовой переменной цветом (черный - 1, белый - 0). Какой объект лучше всего подойдет для этой цели?
>>713540bitarray?
>>713559Мне нужен графический элемент, на котором можно реализовать таблицу 10 на 10 с удобным управлением цвета ячейки.
>>713562grid + любые квадратные контейнеры
>>713571А как тогда реализовать обход этих кавадратных контейнеров? Стоит заморачиваться с полотном (Канвас) где отрисовка будет зависеть от конкретного индекса элемента или все это тлен? Разве нету какого-то стандартного элемента, содержимое которого было бы двумерным массивом?
>>713587Если ты пишешь на mvvm, то создаешь модель со своими квадратами и там же их обходишь/меняешь, на форме прост биндишь их в itemscontrol какой нибудь
>>713587итак в wpf два с половиной контрола, так тебе еще надо под каждую лабораторку посоздавать
>>713587Гуглить не умеем уже? Вот например: https://stackoverflow.com/questions/28018974/binding-matrix-arrays-to-wpf-datagrid
>>713600Самое заебись, премного благодарен.
Напоминаю что работает не официальная .NET конфа в которой помогут советом и можно лампово пообщаться на разные темы.https://telegram.me/joinchat/CBkRKT2h17QNagOSer0uNA
Шарпаны, какие коллекции вы используете на работе чаще всего?Какие самые актуальные, в частности в asp.net?В Питоне, допустим, кортежи очень редко видел, что используются.
>>713607Слово telegram уже пора в бан-лист добавить (засрали все треды своим конфачками)
>>713609List<T>, Array, Dictionary<T1,T2> покрывают 95% задач этого вашего ASP.NET. + HashSet<T> для EF, в частности
>>713613Спасибо, бро!
При перегрузке Equals нужно еще перегружать == .Впрс : для классов они должны возвращать одинаковый результат или допускается разный?У меня проблема в том, что для эквиалентности двух классов наступает при совпадении всего одного поля, а для равенства нужно проверять все поля.Я в сомнения правильно ли разное поведение двух этих операций?
>>713622http://stackoverflow.com/questions/144530/or-equals== - если объекты схожи (равны по состоянию)Equals - экземпляры имеют ссылки на один и тот же объектесли не ошибаюсь
Есть SQL-база без пердоленья и не MSSQL? SharpHSQL пойдёт или есть что-то лучше?
>>713623Спасибо, понел. Значит я правильно делаю, но это не очень хорошо, ибо я рано или поздно забуду в чем у них разница и наступлю на грабли.Придумал получше реализацию: нужно замутить внешний специальный компаратор на эквивалентность, а в самом классе оба способа проверки будут проверять полную идентичность + ссылки.
>>713612Пидорахе лишь бы что-то запретить.
>>713627если происходит merge коллекций, или List<T>.Contains(T), либо заполнение словарей, либо еще какая-нибудь срань, коллекции используют существующий функционал, а не твой компаратор
>>713629Бле, ну придется руками мержить. Влесипеды-велосипедики.
>>713634сделать изначально нормально Аллах не позволяет?
>>713625Береш EF Core и Postrgress, делаешь Code First и наслаждаешься жизнью.
Анон, нужно срочно научиться работать с БД из шарпа, работать с xml и веб сервисвми. Что подскажешь ?
>>713660почитать соответствующие статьи
>>713665А вот по веб сервисам мне сказали потренироваться сделать самое простое — получение курса валют. Это как копать, насколько сложно? Кстати, мможно из шарпа на двач поститть через эти технологии?
>>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 заполненные данными, но вот ничего не пополняется.
>>713673как, по-твоему, ListView должен эту ебень отображать?
>>713679> прописал его имя и столбцыа, это пропустил. вопрос пока снимается
>>713660>Работать с xmlЧитай про сериализацию/десериализацию.С xml в wpf можно работать многими путями: чисто из xaml, чисто из code-behind, пихая в элементики строчечки, через ту самую десериализацию и биндинги.Я делал так:Xml десериализуется в классовую структуру, которая забиндина в xaml к listview, который отображает нужные элементы.
>>713681Какого то хуя не только листвью данные не отображает, еще и простой Label текст не хочет отображать. Скорее всего я что-то не так делаю. Я все делал так.1. В xaml добавляю елемент, прописываю ему поле Name, допустим labl.2. В коде окна, в конструкторе пишу просто labl.Content = string;И вот нихуя.
>>713695может ты что-то недоговариваешь? али есть какие-то побочные модификаторы? короче, хоть покажи, как оно все
Аноны, поясните за отмену нескольких совершённых раннее действий на примере трёх ситуаций:1. Текстовый редактор. Под отменой действий подразумевается удаление последнего введённого имеющегося символа, отмена применённого форматирования, причём действия отменяются в обратном порядке поступления. Допустим, я ввёл слог жо", сделал шрифт жирным, доввёл слог "па", при отмене действий стирается побуквенно в обратном порядке слог "па", шрифт делается обычным, стирается слог "жо" аналогично "па".2. Графический редактор, рисую то же слово за несколько "прикосновений" пера. При отмене операции в порядке, обратном появлению, стираются нарисованные линии.3. Графический интерфейс произвольной программы. Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменной.Дак вот, меня интересует следующее: А) Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?Б) Собсно, самый важный для меня вопрос: как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?просьба не гоните в гугол, хочу прочитать от местных анонов актуальные и/или проверенные советы
>>713805> Допустим, нажал кнопку, которая делает какие то изменения, с программной точки зрения меняется булевая переменная или значение какой-нибудь интовой переменнойэто это действие надо отменить?> Без привязки к сисярпу, алгоритм отмены операций в вышеприведённых ситуациях одинаковый или разный? И какой он?паттерн команда> как реализовывать отмену операций в вышеприведённых случаях уже на шарпе?паттенр команда на шарпе
>>713807>это это действие надо отменить?Ну да, типо откатить по нажатию ctrl+z значение какого нибудь поля с 10 до -1 или типа того. Тоже паттерн?
>>713810шаблон "Команда" позволяет представлять операцию в приложении как объект и делает возможной её отменув любом из описанных тобой случае есть две составляющие:- какой-то объект- стейт и возможность его менятьследовательно, операции изменения, отмены и повтора, вписываются в алгоритм:1 сгенерить команду2 выполнить команду применимо к объекту2.1 положить команду в какую-то стекообразную коллекцию3 выбираем последнюю операцию4 отменяем её4.1 засовываем команду в стек последних отмененных (условно говоря)5 берем последнюю отмененную операцию6 накатываем её заново
>>713695Пытаюсь показать картинку. Не удается.Вот таким кодом. BitmapImage img = new BitmapImage(); img.BeginInit(); img.UriSource = new Uri(path); ; img.EndInit(); this.IMAGE.Source = img;path я получил, выбрав вручную в редакторе файл, и в строке показало путь. Приложение завершается, в дебаге выскакивает System.Windows.Markup.XamlParseException.
Так, анон, ну я прочитал про веб сервисы, а как теперь мне получить котировки валют с сайта цбр и показать их в textBoxe?Я хочу юзать это:http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx
Вы заебали. Спрашивал в прошлый раз, ответили только петросяны. Как в 2016 году наиболее удобно использовать API нового dx12 без крестов и прочего ассемблера?
>>713955мы тебе тут игроделы?
>>713955> Как в 2016 году наиболее удобно использовать API нового dx12 без крестов и прочего ассемблера? берешaиспользуеш
>>713955SharpDX чем-то не устраивает? Я хз, не юзал.
Анонасы, я ньюфаг, так что не обессудьте.Решил начать изучение этого богоподобного языка, с чего посоветуете начать? Для себя приметил две книжки: C# in a Nutshell и Head first C#. Первая вроде норм, вторая поговаривают как раз для зеленых. Что же выбрать или посоветуй свое?
>>713995троелсенвы заебали, а
>>713995начни с лабораторных всяких вузов.
ЕБТВАЮМАТЬ да как считать с цб эти ебанные котировки валют сука? Как, я не пойму? вот там есть метод чтобы как хмл получать. А писать его куда, как блять, нахуй, потоки сука хмл перебор дерева, нихуя не понятно, ебал я в рот пойду выпилюсь
Сап, сишарперы. Слышал, что с# плохо подходит для работы с играми онлайн и оффлайн, да и вообще с tcp/ip. Правда ли это?
>>714020Тебе написали, берешь и получаешь, без задней мысли же, ну.
>>714055В каком плане? В плане перфоманса немного уступают софту на неуправляемых языках, в плане функционала - превосходит. Для игр есть юнити, например, CE недавно завезли. Сам двиг не обязательно на шарпе должен быть написан.
>>714055в каком смысле? сервер or бот?
>>714062Да из си шарпа же, я тугодум просто.
>>707882 (OP)не знаю куда написать, пишу сюда. есть VS2015 есть asp net 5, есть вопрос - веб формы все ? во всех шаблонах похоже встроен мvc
>>714075Вебформы давно ВСЕ, забудь их как страшный сон.
>>714074WebRequest.Createпотом request.GetResponse() / GetResponseAsyncпотом парсишь/маппишь XMLпотом засовываешь это говно в чтото-бокс
>>714076почему страшный сон ? на формах гораздо легче было чем в mvc
>>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;
>>714088ну вот тебе осталось завершить это так:new XmlSerializer(typeof(Govno)).Deserialize() as Govnoи ты получишь тру ООП версию котировок. делай с не дальше уже что хочешь
>>714100Так я это все не понимаю! Это я спиздил код. Что мне читать, елки палки? Работа с хмл?Нахуя создавать рублес клиент с дайли инфо?
>>714103милостливый цб дает тебе не просто АПИ, а уже свою обертку для работы с их поеботой, а ты выебуешьсяну, читай работу с XML. сериализацию в целом. троелсен вроде как очень неплохо для данного случая описывает
>>714109А что с говном делать?
>>714117И вообще, зачем десериализовать?
>>714117Пиздец
>>714117Ahah, tvoy kod Govno!
Есть первый класс, у которого два свойства: одно char, другое int.Есть второй класс, у которого 2 метода с одинаковым кодом, где работают с экземпляром первого класса, только он в одном случае проверяет int поле, а в другом char. Как-то это можно всё универсализировать и сократить до одного метода?
>>714133Буль в качестве параметра передавай и проверяй нужную переменную в зависимости от переданного буля
>>714117с тобой поаккуратней надо. а то дашь красную кнопку, а ты и нажмешь не глядято, что Govno - должно описывать как-то структуру данных, которая лежит в string xml
>>714070Некоторый функционал бота интересует.>>714069Ты немного не понял, о чём речь.Меня интересует не разработка двигла/игры на шарпе, а непосредственная работа с трафиком игры.Приём/отправка пакетов, использование адресов, указателей, стеков и всего такого.
>>714138> использование адресов, указателей, стеков и всего такогоя могу ошибаться, но шарпенский не для этого
>>714139Вот про это я и спрашивал. Немного хуёво.
>>714142Можешь самую низкоуровневую часть написать на крестах. Еще там C++/CLI все дела
>>714133Используй шаблоны, уеба.public class Huy<T> { T huete;}И соответственно метод:void Doshit<T>(kekekek){ Huy<T> huy = new Huy<T>(); huy.huete ...}
>>714145шаблоны не всрались тут ну вообще никак
Нормально ли использовать статический класс для конфига, если я к нему из разных участков кода обращаюсь?Нормально ли объявлять класс внутри другого класса, если больше нигде этот внутренний класс не используется?
>>714143Крестов я не знаю, то есть вообще.
>>7141731 лучше синглтон. еще лучше - статический Manager, создающий объект конфига каждый раз при обращении2 да
ИТТ есть студиолухи кто-то, делающие тестовое задание в контур?
>>714138Не совсем понятно как ты собрался делать игру. Если с нуля, с с своим движком, то это прямая дорога в кресты. А на Unity с# для другого используется. И да, указатели в шарпе есть.
>>714234жопой читаешь
>>714239Действительно. Тогда не понятно что значит работа с "трафиком игры"
>>714240с данными от/к серверу очевидно наверное
>>714240>Приём/отправка пакетов, использование адресов, указателей, стеков и всего такого.Как ты смог на двачи зайти?
>>714279Запросы отправлял, это же очевидно!
>>714055> играми онлайн> tcp/ipЯ слышал, tcp/ip подходит только для онлайн-шахмат, ферм и покера.https://habrahabr.ru/post/209144/
>>713967При чём тут игроделы, на иксах отлично всякие графики делать, да и возможность распаралелить вычисления и обсчитать их на gpu это повседневная необходимость.Нагружать CPU чем-то кроме сложной логики всё равно что по комару из плазменной пушки стрелять.
>>714448> распаралелить вычисления и обсчитать их на gpuДля это используют не DX, а OpenCL
>>714426и чо дальше? слышал он
>>714448матрицы миллиард на миллиард считать? сешарп немного не того плана язык, дабы очень сложные вычисления пропихивать в него
>>713635Похуй на мнимую нормальность. Нужно чтобы работало здесь и сейчас, когда же понадобится мерж тогда и выясниться, что без бубна его не сделать. Короч YAGNI.
>>714208А что ты хочешь?
анусы, я когда то давно натыкался на статью, где объяснялся способ переименовывания файла таким способом, что вместо расширения файла ставились символы из имени файла, т.е. из файла gonnafuckyoutxt.exe получался gonnahackyouexe.txt, причём при запуске файла, расширение которого изменили особенным образом, запускался бы исполняемый файл, а не блокнот. помню, что для осуществления задуманного нужно было при переименовке файла использовать какие то спец символы, но щас забыл, но ОЧЕ нужно вспомнить. хелп плиииз
>>714490отбой, нашёл, что искал.
>>714491мамкин кулхацкер в треде
Что по замарину посмотреть и почитать?
Есть хоть один пример как сделать на Xamarin фото НЕ используя приложения камеры?
>>714583http://stackoverflow.com/questions/28207571/camera-access-with-xamarin-formsЭто не то?
>>714581https://developer.xamarin.com/Есть ещё юниверсити но там 2 куска материалы стоят :(
>>714601>>714602Сорян за сегу, случайно
>>714601Похоже на то но абсолютно не компилится.
>>714602Спасибо
Кто нибудь делает гуй на чем нибудь свободном, типа гткшарп или иксвт? Стоит заморачиваться или попердолиться с впф?
>>714640а зачем тебе?впф вполне норм штука
Нормально ли реализовывать отмену операции рисования по пикчербоксу путём хранения стека объектов bitmap'a с pictureBox.Image после каждой операции, а потом, по нажатию кнопки отмены операции заменять текущий рисунок пикчербокса на тот, что в вершине стека?
>>714776Я вот только что прочитал интерфейсы и думаю тут они отлично бы подошли, вот только не знаю как это реализовать.
>>714777А причём тут интерфейсы?
>>714778пруф
>>713805http://cpp-reference.ru/patterns/behavioral-patterns/memento/
>>714776битмап - довольно тяжелый, а к тому же disposable объектпо-хорошему, тебе надо хранить инфо о рисовании элементов - цвет, тип кисти, координаты кривой и т.д.не будь йобой кроч
>>714776Не, история слишком много памяти выжрет на больших холстах.Для отмены последней операции лучше бери чистый битмап и накладывай на него всю историю фигур - 1, когда начнет тормозить, тогда схороняй промежуточные целые битмапы каждую 20 операцию и накладывай последние опереации уже на них.
Ребята, где можно почитать/посмотреть про инкапсуляцию для дебилов вроде меня? Читаю Head First, посмотрел урок от ITVDN, но все равно не доходит. Особенно про свойства никак не могу себе в голову запихнуть знания.
>>715152Инкапсуляция - прятать поля за методами, чтобы не проебать проверку на условия и упростить работу с классом. Делает класс самодостаточным.
>>715276Конструкторы нахуя? Обязательно ли именовать поля и свойства одинаково, только первую букву разную делать (или как оно там?)?
>>715297конструктор для создания объекта класса в памяти, выделяемой программе. вызывается new MyClassName();. Просто объявив переменную "MyClassName x;" ты создашь четырёхбайтовую и вроде восьмибайтовую в х64 системах ссылку на объект, но самого объекта не будет, и при попытке обращения к любому полю/свойству/методу ссылки, будешь ловить NullReferenceException. поля и свойства именовать необязательно, можешь вообще поля не использовать, а только автореализуемые свойства (типа public string stringProperty {get;set;}) и пользоваться ими как полями. крче свойства в основном используют для инкапсуляции полей, хотя я с высоты своего нулевого опыта никогда не встречался с острой необходимостью инкапсуляции именно полей (хз, в больших проектах наверно нужно). ну и именовать их можешь как хочешь, офкорс.
>>715302Нда. Понятно, что ничего непонятно. Все-таки трудно начинать вкатываться в это все в 30 лет, имея за плечами ПАСКАЛЬ и БЕЙСИК еще в школе.
>>715307Троелсена почитай, довольно разжевано описано. На самом деле все довольно просто.
>>715152инкапсуляция - сокрытие деталей реализации типа. т.е. вообще любой информации, которая может привести к лишнему представлению о типе в принципе
Шарпаны, как в VS на базе одного проекта запилить другой с новым именем?inb4 руками скопируй и переименуй
>>715330Я не знаю как никак, но зачем тебе?
>>715333Контролы на форме уже расставлены как надо с нужными значениями и функциями в коде.
>>715334Там одна форма штоле? Скопируй и переименуй. Зачем тебе две одинаковые формы, но в двух разных проектах? Пиши прям в этом, можно бранч сделать, лел.
>>715334УНАСЛЕДУЙ
>>715335Да уже сделал. Хуле в студии нет даже банального "сохранить проект как".
>>715338Да потому что без задач
Привет, я уже к вам обращался в посте >>713289.Парсер я написал, более менее нормально работает, но есть несколько проблем, которые нужно решить. Суть парсера такова:при нажатии кнопки старт он заходит на сайт объявлений и выводит в richtextbox`е все объявления за сегодня. Ссылок добавляется достаточно много и при добавлении приложение начинает тормозить и я не могу перемещать окно и нажимать на уже добавленные ссылки. Как этого избежать?
>>715445Вынести парсинг в отдельный тред, а в форму переодически добавлять свежераспарсеные ссылки. Очевидно же.
>>715456я только начал читать про многопоточность и это мое первое приложение, буду очень благодарен за помощь. Мой метод парсинга сначала получает все ссылки с товарами на странице, потом для каждой ссылки в цикле foreach загружает ее html, достает нужную информацию и вызывает метод richtextbox.Text += "информация". Насколько я понимаю, вызывать richtextbox.Text в этом методе не правильно. Как мне его переписать?
Посоны, подкиньте стримов, где можно заценить, как работают профессионалы. Чтоб энтерпрайз, TDD, рефакторинги-хуякторинги, с нормальной архитектурой у приложения. Ну вы поняли. Посмотрел на livecoding.tv - сплошные васяны кодят игори на юнити.
>>715456>>715545извини за тупой вопрос. Уже сделал по туториалу, все работает, только я не понял что произошло.
Сап шарпотред, реквестирую легкую идею (не обязательно оригинальную) для быстрого написания курсача по с#+winforms+linq. Мне только всякий омск в голову лезет.
>>715716>быстрого написания курсачаВ смысле, программы, которая к курсачу-отписке приложится.Всякие очевидные календарики-будильники-сортировальщики папок разобрали.
>>715546устройся работать на контору и хоть ночуй в офисе>>715716парсер двача
>>715730Препод, кажется, не поймет.
>>715755ну ты ему про /b/ и /fg/ не говори, главное
>>715755Новостной (или просто RSS/Atom) агрегатор, путь из множеств лет генерирует одну.
>>715766О, хорошая идея, спасибо.
>>715716Тотал Коммандер сделай.
>>715782слишком много ебли как для курсового, имхо)
>>715795Тогда Виндовс Коммандер.
>>715822
>>715822А вот это идея
Огласите стандартные вопросы по теории на собеседовании. Может это в шапку надо?
>>715922писали сто раз. и в шапке бОльшая часть этого есть
>>715922Нехуй заучивать самые популярные вопросы на собеседованиях, это тебе все равно не поможет. Бери книги из шапки, и читай-понимай.
>>715969Не понял, объясни
>>716001жирный, иди нахуй
>>715922Есть два стула, на одном тимлид спит, на другом директор пыхтит. Чью галеру ты должен тащить первым, тимлида или директора?
>>707882 (OP)Помогите с вопросом. Как на винформс сделать так, чтобы приложение было всегда на переднем плане, т.е при переходе на другие приложение она не уходила "под них".
>>716030уже не надо, разобрался
Помогите студентику, пожалуйста. Есть двумерный массив, заполненный нулями, единицами и двойками. Нужно написать функцию, которая будет рандомно менять один ноль на двойку. Как это сделать? Полтора часа уже с циклами ебусь, результата никакого.
>>716531Подсчитываешь количество нулей в массиве - пусть будет N. Дальше по очереди идешь по массиву (без разницы как, но нужно только по одному пройти по каждому элементу) и ещешь нули. Как только нашел роляешь рандомное число в промежутке [0,N) - тоесть 0 может выпасть, N не может. Если выпал 0 то меняешь ноль на двойку и все. Если не ноль, то уменьшаешь N на единицу и смотришь дольше (N всегда равен оставшемуся количеству непросмотреных единиц). Так повторяешь пока не выролишь ноль. Это если тебе обязательно нужно равномерное распределение.
>>716537Хотя хуйню какую-то написал, можно просто рольнуть число [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(); } }}
>>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) { парсь инт }
>>716542Спасибо, разобрался.
Ньюфаг вкатился.Анон, подскажи что почитать/посмотреть чтобы понять как работать с базами данных, тем же sql и и шарпом
>>716683EntityFramework
>>716710спасибо няша :З
>>707882 (OP)Можно ли на С# писать приложения для android?Слышал о каком-то Хамарине. Что это?Есть русскоязычная литература по этой теме?
>>717347Да. Платформа. Нет.
>>717347пиши на фрипаскале, базарю еще захочешь
>>716576Спасибо, а серилиазовать ведь проще?
>>717524естественно
Релизнулся VS Code v1.0https://code.visualstudio.com/blogs/2016/04/14/vscode-1.0а отладка coreclr, сука, так и не работает
>>717555Да они на clr вообще хуй положил (вынесли все в отдельные плагины), сейчас только typescript дрочат.Rider приди - порядок наведи
>>717561интересно, как майкрософт собирается с райдером конкурировать. купит джетбрейнз
>>717530А можно гайд или пример простенький какой-нибудь
>>717588https://msdn.microsoft.com/ru-ru/library/58a18dwa(v=vs.100).aspxнаиболее адекватным способом, ящитаю, способ, указанный в примере "Пример заказа на покупку"
>>717570По крайней мере, официально они все будут работать на благо кросплатформенного .NET
>>717561MonoDevelop? Они ж купили ксамарин, хули им медвежьи услуги указывать?
>>717595В MonoDevelop тоже нет поддержки CoreCLR
Майкрософтовский бот тут меня унижает.
>>717591Спасибо
>>717555годнота! я уже свой департамент подсадил
Кто-нибудь пользуется MonoDevelop на линукс? Не могу установить модули тк нету модулей контроля версии.
>>717735По ангельски пиши, не понятно же нихуя.
Такой вопрос реально ли без профильного высшего образавания самостоятельно обучиться шарпу и пойти работать? Или нет - везде требует заебатых тонкостей и формальностей написания кода, которыми сам хер научишься?
>>717802хуй знает. сам студент в средней такой мухосрани в лучшем вузе города (из трёх, кхм), нас почти ничему не учат, ебашишь всё сам. имхо в руссии в университетах нормальных преподаванов в сфере ИТ не встретишь, все работают за реальне бобло, и не тратят время на взращивание конкурентов. + как я понял, чистый шарп можешь себе в очко засунуть. т.к. шарп - это корпоративные приложения, точись под бд со всякими sql и прочим шлаком.
>>717555как в нём настроить отладку шарп-кода?
>>717867А ну эт само собой, спасибо
Что это за анальное рабство? Community же бесплатная, как починить?
>>720467Отменяю вопрос, прищлось регистрироваться.
>>717802Не реально, даже не пытайся. Все очень сложно. Тонкостей - миллон. Ты не осилишь. Все давай!
анон, плиз, срочно, уже все сроки проебалподскажи как правильно настроить CORS в ASP.NET Web API проекте?очень прошу умоляю, бордочка споси T_T
Ребята, только начинаю программировать, изучаю сейчас основные виды коллекций (arrayList, stack, очередь, и так далее). Вроде все понятно, но когда пытался написать свой класс типа intList до конца реализовать не смог. Где-нибудь можно посмотреть на простую реализацию всех этих интерфейсов?Чтобы основные методы были реализованы хотя бы (Add, AddRange, SetRange, GetEnumerator, CopyTo) и все такое. Не серчайте, если что-то не так с терминами ;c
>>727073>stack>очередьЭто не одно и то же, не? А, у queue FIFO, а у stack'а LIFO, вспомнил.Посмотри метаданные обобщенного списка (List<>), там методы и реализуемые интерфейсы вроде понятно описаны. Ну и гугл -> msdn, очевидно. Еще 9 глава Троелсена.
Решите пожалуйста, у нас начали преподавать с#, а я в программирование нуль и не понимаю ничего.
Анон, нужно допилить прогу на шарпе для курсовой, но в программировании я не очень. Подскажи годный ресурс где можно заказать прогу.
Какие основные принципиальные отличия крестов от шарпа?
Здесь все мертвы, но все же спрошу:Что читать, чтобы понять, как работает explorer? В частности, мне нужно "перехватить" обработку даблклика по папке на рабочем столе.
>>734109смотри в сторону WinAPI, там можно всё
Сап. Есть "проект" собственноструктурного (ручками узлы и ребра делаются) графа, узлы которого рисуются на битмапе полигоном. Как можно с помощью mousemove определять принадлежность отрисованного полигона тому или иному узлу? Пока смог научить только сраные прямоугольники и эллипсы отличать.
Котаны, раньше учил яваскрипт, перекатился на юнити и обосарлся на создании простой минимапы. Есть годные сайты для изучения? Английский знаю так себе, желательно на русском.
>>731046Байтоебство, указатели, компилятор не проведёт за ручку мимо граблей.
>>739564Так ты ищи решение конкретных задач по юнити, в /gd/ вон пойди.
>>735636Оке, добра тебе.
>>707882 (OP)Привет, анон. Помоги с кусочком кода.Есть текстовый файл, наполненный обычным текстом, слова разделены пробелами, некоторые абзацами.Нужно каждые n (пусть 50) слов забить в string массив до конца файла.
>>740342>Нужно каждые n (пусть 50) слов забить в string массив до конца файла.Нихуя не понял. Раскидать слова по массивам по 50 штук на массив?