Это копия, сохраненная 13 апреля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Breaking news: Microsoft анонсировала MSSQL Server для линукса и купила Xamarin, JetBrains готовит IDE для шарпа, ведется активная разработка C# 7.0
ВСЯ ЛИТЕРАТУРА ВТОРЫМ ПОСТОМ
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
Обсуждение фич C# 7.0: https://github.com/dotnet/roslyn/issues/2136
ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ
Код этой шапки: http://pastebin.com/cKKXYArs
Прошлый тред тонет здесь: https://2ch.hk/pr/res/667709.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 Asyn_chronous Programming with .NET (Richard Blewett, Andrew Clymer) - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg
15. Литература не по шарпу, но так или иначе связанная с языком
C# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под Unity
Introduction to Neural Networks with C# (Jeff Heaton) - изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
Machine Learning Using C# Succinctly (James D. McCaffrey) - довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.
16. Но я не знаю английский, как я буду это все читать?
На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#"
17. Что еще нужно знать, чтобы взяли работать за еду?
- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST
- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID
18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.
10. Более хардкорный материал
- C# in Depth (Jon Skeet) - написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
- Writing High Performance .NET Code (Ben Watson) - охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, чтобы вам перезвонили.
- CLR via C# (Jeffrey Richter) - это классика, это знать надо.
11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам
12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)
13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)
14. Литература по асинхронности, параллелизму и всему такому
- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
- Pro Asyn_chronous Programming with .NET (Richard Blewett, Andrew Clymer) - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg
15. Литература не по шарпу, но так или иначе связанная с языком
C# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под Unity
Introduction to Neural Networks with C# (Jeff Heaton) - изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
Machine Learning Using C# Succinctly (James D. McCaffrey) - довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.
16. Но я не знаю английский, как я буду это все читать?
На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#"
17. Что еще нужно знать, чтобы взяли работать за еду?
- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST
- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID
18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
> Пишу UWP приложение
На твой вопрос, к сожалению, я тебе не отвечу, но буду рад если ты ответишь как оно, писать с использованием UWP, много ли подводных камней, как с перфомансом и насколько все там переусложнено.
Очень похоже на WPF, но, разумеется, с отличиями. Очень мало материалов и документации кроме майкрософтовских сайтов, разрабатывать одновременно под десктоп и мобилки не так уж и просто. Переусложнения есть, но они в основном касаются XAML: иногда приходится писать слишком много кода для вроде бы простых вещей. С производительностью проблем вообще не замечал, но это может быть из-за моей нетребовательности. Мало библиотек для всякого бойлерплейта. Есть Template10, но он пиздец глючный.
Из плюсов: делать красивый UI проще, чем в том же WPF.
реплейсеру можно первым параметром скормить массив? Как это записать?
Спасибо большое, у нас тоже кое-какие вещи решили с UWP написать, вот я сижу, ищу, а материалов почти нет, как ты и сказал. То что UI красивый делать проще это однозначно хорошо, хотя и не моя часть работы, лол.
Ты про такое:
>s = s.Replace('a', 'b').Replace('v', 'c').Replace(g', 'u');
ты про такое? Просто если их у меня много-много..
В голосину, блять.
string input = "dfdd.df.,.,dd;dsf.,df,;,,dsf,dsf,.;";
var regex = new Regex("[,.;]");
string result = regex.Replace(input, ""); //dfdddfdddsfdfdsfdsf
Регулярные выражения не шарпоспецифичная вещь, как ты мог про них не знать?
Решарпер
Решарпер / Supercharger / OzCode / Tabs Studio / Automatic Versions. Очень удобно.
> Supercharger
> OzCode
1. зачем это говно?
2. что оно умеет такого, чего не умеет решарпер?
3. снова, зачем это говно?
> Supercharger
Для удобнейшей карты файла, с возможностью помечать нужные методы/поля, прыгать по недавним методам, показывать границы конструкций с возможностью их сворачивать, мне это удобно.
А у OzCode так вообще альтернатив нет, без неё отладка в крупных проектах превращается в ад.
> прыгать по недавним методам
умеет VS из коробки, правда, немного не тако принцип
> показывать границы конструкций с возможностью их сворачивать
умеет R#
> без неё отладка в крупных проектах превращается в ад
не очень понимаю, о чем ты? из описания этой фигни не нашел что-то конкретного
(х => х х)
((x, y) => x + y x)
Как будет выглядеть сигнатура метода, принимающего экспрешн с любым количеством интовых параметров?
Есть 2 массива. В одном ид, в другом стринговые значения. А еще есть файлы, названные в соответствии с ид 1го массива. Нужно сделать ренейм из ид в значения 2го массива. Набросал что нибудь, моя уже не может думать. Моя не спать 32 часа уже..
Макаба сожрала квадратные скобки, но я думаю ты понял, если я тебя правильно понял
между этими выражениями
> (х => х х)
> ((x, y) => x + y x)
мало чего общего. разве что, при равном количестве параметров будут происходить одинаковое вычисление. и то, тут, опять таки, лямбдой сходу не напишешь.
тебе лучше юзать какие-то говностратегии и засовывать в них параметры в любом количестве, получая в итоге результат
Всегда можно взять dynamic и писать как в соседнем треде, лол.
Каждая страница имплементит интерфейс / наследуется от базового класса с методом/ свойством GetAppBarCommands.
В каждой вьюшке реализуешь свои штуки.
Возможно есть более красивый способ. Ни разу не писал UWP
ОП хуй хотел быть очень важным
Короч, я не оче вдупляю.
Код здесь http://pastebin.com/TB0ArqFm
При запуске вывод:
10
9
Вопрос вот в чем:
Вроде бы список это ссылочный объект.
И если я передаю его в метод, он же не копируется, а передаётся ссылка.
Тогда почему когда я ссылке присваиваю измененный список (метод FilterList) нихуя не происходит с исходным листом?
хотя если я вызову в этом мтеоде просто filter.Clear();
исходный лист очистится.
ты хочешь сказать, что строки 26 и 19 оперируют с разными объектами в куче?
я уже понял, братан. Конечно, твоё пояснение так себе.
Просто ссылочный объект передается по ссылке, а вот указатель на него - по значению.
Потому если я присваиваю указателю новую ссылку (делаю filter.ToList()) я меняю саму ссылку, а не объект.
выходит, для того, чтобы отфильтровать коллекцию в методе
FilterList(List<int> filter)
нужно сделать что-то вроде filter.RemoveAll(x=>x==0)
?
Да, вот так решается.
>returns void
Вот тут то ты и проебался. Ему специально делают ридонли коллекции, а воид ретурнит, ну охуеть теперь.
лол чувак.
если тебе в void метод передадут объект ты сможешь с ним сделать все что угодно. Точнее с его филдами.
При чем тут возвращаемый тип?
Тебе объект доверили, а ты его в своем грязном методе менять собрался, надо же просто вернуть новый, отфильтрованный лист.
ну, кстати, это не совсем адекватный подход, но не всегда нужно плодить новые объекты
Чтобы чистота. В вызывающем методе и присвоишь его, если надо. Тебе может потом нужно будет еще раз отфильтровать оригинальный список с другим фильтром, а этот список уже проебан. Возможно надо будет проверить, а отфильтровалось ли что нибудь, а оригинальный список уже проебан. Лучше вообще абстрагироваться от реализации и писать через IEnumerable, ведь завтра надо будет фильтровать array, а у тебя ToList()
А ты перестань считать байты - там в том же методе создается новый лист после фильтрации, да весь линк так делает и ты так делай.
не, я просто хотел продолжить мысль, что если нужно за каким-то хуем присвоить новый объект переменной, передавать out или ref в параметры. но, тащемта, в данном контексте, да и вообще с инициализированными коллекциями, это как-то не прокатывает
Потому что прошлый утонул, лол
Ну моя то мысль что если сразу писать, как предлагают - то этой ветки обсуждения и не было бы. А ref и out - нинужны и попали в язык как дань и совместимость с winapi
returns tuple since 1984
Это все костыли, можно было бы вернуть несколько значений или tulpe и проблемы бы не было. Но вот как с перфомансом в таком случае будет хуй знает. Это если в седьмом таки запилят
Можно ли пользоваться VS без аккаунта MS?
Смотри, тогда так с прошу, есть два файла
>wdexpress_full_RUS.exe
>vs_community_RUS.exe
Как понятно, одна это экспресс для рабстола, вторая какая-то компьюнити хрень. Два вопроса:
1. Какая новее?
2. Какие ограничения прежде всего у комьюнити версии?
Из существенных различий нашёл только отличие лицензии, типа express для коммерческих проектов, комьюнити без извлечения прибыли.
В комьюнити смущает лицензия. Если я напишу на ней приложение, смогу ли его продать, не башляя процент мелкософту.
Эмм, не думаю что будут проблемы, если ты конечно в самой прилажке не напишешь "created in vs community and I want money for this app. And yes, I know that this is illegal."
Приложение планируется публиковать в стиме, а там работает юриспруденция сша. Но ладно, я таки решил ставить экспресс. Вижу, что комьюнити скорее для любителей, для тех, кто хочет просто попробоваться эту среду.
нельзя узнать никаким макаром, понимаешь? Только если к тебе придет товарищ майор. Все студии юзают один msbuild а ему похуй откуда ты его запустил. Хоть из командной строки.
> Вижу, что комьюнити скорее для любителей, для тех, кто хочет просто попробоваться эту среду.
Все наоборот, комьюнити полноценная студия, а экспресс - огрызок
Ой, да забей. У них упор на корпоративных клиентов, которые тратят огромные деньги на их лицензии и всякие подписки. За рандомного хуя никому нет дела. Ну и плюс ко всему, как уже заметили, генерируемые бинарники ничем не отличаются.
двачаю
В стиме не только игры публикуются. Скажем так, приложение коммуникационного плана.
знаю, там же и тулзы есть. просто думал что попаду пальцем :)
Студия - большой блокнот по сути.
В билд может зашить что-то msbuild онли (прога что превращает текст в машинный код).
Ей похуй откуда ты будешь вызывать из вижлы или из командной строки.
Выше и не нужно.
Можешь смело читать про 4.5. Отличий в 5+ особых нету. А основа хорошо описана и в этой книге.
C# 5 тебе за глаза хватит. По шестому одну статью можно прочитать про изменения синтаксиса и всё. А вообще учи английский.
>В комьюнити смущает лицензия. Если я напишу на ней приложение, смогу ли его продать, не башляя процент мелкософту.
А меня смущает, что там лицензия размером с нихуя, а ты даже её самое начало не смог осилить.
ПУНКТ 1: ПРАВА НА УСТАНОВКУ И ИСПОЛЬЗОВАНИЕ.
БУКВА "a": Индивидуальная лицензия.
> Если вы являетесь физическим лицом, разрабатывающим собственные приложения для продажи или с какой-либо другой целью, вы можете использовать данное программное обеспечение для разработки и тестирования таких приложений.
> Признаю только бумажную литературу на русском
> Видео уроки
Что-то мне подсказывает, что ты и русский язык толком не знаешь.
Пджди, ты хотел чтобы у процессора вырсоло еще ядро, чтобы воркер работал быстрее? Воркер работает в соседнем потоке и не блочит твой основной, например, поток. Все.
>>681961
Вообще я сначала так и понял. А потом обчитался туторов и запутался к хуям. Ладно спасибо, я дебил.
Возьму книжечку какую-то и читай последовательно
Для любых языков и платформ базовые знания нужны.
>А меня смущает, что там лицензия размером с нихуя, а ты даже её самое начало не смог осилить.
И тут я понял, что проблема не в двачах. Хамливые быдланы вроде тебя встречабтся по всем IT форумам.
напиши уебанский говнокод в стиле
public const bool GOVNO = false
if (true == GONVO && !false != GOVNO && GONVO || false == true)
{
}
и заобфускатай
В Configuration.cs у меня вот такой метод Seed:
http://pastebin.com/tEz9wSVi
Когда в packet manager console пишу update-database кидается эксепшн "wtf", хотя такого юзера в бд нет. При этом роль "admin" нормально создается через миграцию.
Посаны, в чем дело?
только в теории в курсе, как это говно работает
собственно говоря, в чем проблема, если это будет нечитабельный кусок кала? что там такого нужно будет подсмотреть, чтобы ты сподвигнул себя на обфускацию кода?
Бля, а если запустить приложение, то там есть пользователь admin/password. А если открыть таблицу с пользователями через server explorer, то там нет.
Я без особых проблем обходил большую часть обфускаторов, часто даже без de4dot. IL в этом плане слишком ограничивает, увы.
Вот в этом и вопрос - как защититься? Благо де4дот уже давно сдох и не обновляется, но использовать поддерживаемые им обфускаторы - это уже бесполезно.
после этой статьи https://habrahabr.ru/post/97062/ я понял, что пытаться обфусцировать код - это трата времени а в некоторых случаях и денег
>как защититься
да никак. Где ты видел неломаемые десткоп приложения вообще? Переноси функционал проги на свой сервер - единственный способ.
Я просто хз как entity framework работает. Типа если не делать context.save, то в приложении эта энтитя будет, но не сохранится в бд?
Есть dnspy, в нем есть отладка, даже если de4dot не потянет обфускатор, то ручками сидеть дебажить можно. Времени больше потратишь, но если постарасешь, то осилишь и так. Вон ты посмотри внутрь Linqpad, там все очень хитро сделано, но и его ломают. Лучше забей на это дело.
именно так
она будет добавлена для отслеживания в контексте если следовать дефолтному поведению. что-то типа кэша такая дерьмовая аналогия
Но ведь все обфускаторы не только обфусцируют сам код, но и содержат всякие ништяки, вроде антиотладчика!
Даже таким могу себя таким назвать :(
Экслем пользовался максимум чтобы посчтитать по формуле последовательность значений чтобы выводилось в табличке
Делаю тест
Есть checkedlistbox. Как сделать так, чтобы при выставлении(снятии) галочки в конкретной ячейке, в мою коллекцию переменных записывалось соответственно true или false, в зависимости от того какой по счету элемент(ячейка) checkedlistbox нажат.
Интересует, каким событием это сделать и как получить значение конкретной ячейки(true или false).
То есть. По сути мне нужно получить номер ячейки в которую тыкнули и знать поставили или сняли галку
Извиняюсь, за коряво заданный вопрос, надеюсь понятно)
https://msdn.microsoft.com/en-us/library/system.windows.forms.checkedlistbox.itemcheck(v=vs.110).aspx
И тут я понял, что проблема не в двачах. Ленивые мудаки вроде тебя встречабтся по всем IT форумам.
Первый пункт, Корал!
мимо-ирл-ни-разу-не-быдлан-и-не-хамло-но-для-тебя-сделал-исключение
Сажу-то зачем приклеил? Тред-то нормальный. Только какой-то тихий
Вроде из какого-то сериала про дегенератов.
> Сильно похоже на С++? А в чём различия?
Основная в наличии сборщика мусора, не нужно вручную чистить память. Ну и компилируется в байткод, а не сразу в машинный
> С какой библиотекой проще всего пилить простенькие приложения с GUI/графикой?
Со стандартной, там поддержка этого всего есть
спасибо большое
Я сомневаюсь, что смогу ответить лучше господ по ссылке, поэтому просто оставлю ее здесь
http://stackoverflow.com/questions/521298/when-to-use-struct
Если эта структура будет описывать небольшой неизменяемый объект, который логически выделяется как самостоятельная единица.
В 99% случаев юзай класс.
MSDN + метод тыка, там все очень просто. У большинства элементов почти одни и те же свойства и ивенты
Заканчиваю середину
>The C# Player's Guide, второе издание
Формошлёпство даже не упоминается, хотя ради него и решил вкатиться.
Решил недавно настругать пару сторонних формочек под софт на работе, причем здесь 2009?
Попизди мне тут, блядь.
Ну так стругай. Перетаскивай элемент на формочку, щелкая на нем и пиши обработчик. Что там ты там собрался учить?
не, ну чувак
https://msdn.microsoft.com/en-us/library/system.windows.forms.control.onmouseclick(v=vs.110).aspx
ОК спасибо.
Надо дальше читать >>684040
Походу, чтобы понять, как работает ебучая формочка, надо книгу прочесть. Ну ок.
Алсо, прикололо, насколько код на С# понятнее и приятнее читать.
На C. Вычислительные процессы для аэродинамики крыла в близости от земли.
Одно время хеллоувордил на C++, хотел вкатиться в НОВЫЕ ВЕЯНИЯ, но как приложить объекты к моим вычислениям, а главное - зачем, так и не понял.
Хочу уточнить, что не смотря на "крутое" описание, производил я лютый быдлокод, который сейчас читаю через КАКОЙ БЕЗМОЗГЛЫЙ ИДИОТ ЭТО ПИСАЛ
Это норма, у всех так
Sql ещё.
мимо пытался вкатиться в моб дев и не понравилось
Энтепрайз жил, живет и будет жить
Там еще и Thread написан после него, да и MVC 4. У них стабильность.
Олсо. ПОсоветуйте стек для пет-проджекта. Думаю взять или кор или ориджинал дот нет + ангуляр 2 + тайп скрипт + какой-то Цсс фреймворк, не знаю какой, бутсрап не хочу (разве что четвертый)
В vs code уже запили возможность отладки говна под неткор, уже скоро, очень скоро можно будет реально юзать.
А он не отлаживается, что ли?
>>684476
Да я на работе до сих пор вебФормы юзаю, лол, ну и МВС 4. Выбираю для пета же.
Сам вс код не поддерживал отладку
Задача стоит такая: 2 папки, в них сборная солянка, но могут быть и одинаковые файлы. Подскажите как проверить?
Генерируешь хеш-сумму для каждого файла, ищешь одинаковые.
Если тебе нужно просто получить ответ совпадают ли они или нет, то воспользуйся SequenceEqual.
Врагу такого не пожелаешь, это пиздецки медленно, с двумя ебучими итераторами двигаешься по массивам как черепаха
Можно. unsafe блоки / pinvoke
Я слыхал что UWP работает в песочнице и доступа к многим системным api у него нет, так ли это? Думаю написать пару софтин для себя, дело с с# и разработкой под винду не имел. Из того что хочется написать свой аналог флюкса и пасворд сейфер, буду рад любым советам.
в ноябре вышел только релиз-кандидат .NET Core
там же, где и все остальное ломаное ПО
Рутрекер же, будь плохишом, обходи блокировку
http://rutracker.org/forum/viewtopic.php?t=5118413
Есть окно. В нем изображение. Есть NotifyIcon, через его контекстное меню я управляю прозрачностью окна. Оно работает так, пикрилейтед.
Как оно должно работать? Окно самого не должно быть видно, должно быть видно только саму картинку. Как мне добиться желаемого результата? Как я помнял, Opacity это совсем не то с чем мне нужно работать.
Анон, смотри.
Есть окно. В нем изображение. Есть NotifyIcon, через его контекстное меню я управляю прозрачностью окна. Оно работает так, пикрилейтед.
Как оно должно работать? Окно самого не должно быть видно, должно быть видно только саму картинку. Как мне добиться желаемого результата? Как я помнял, Opacity это совсем не то с чем мне нужно работать.
FormBorderStyle в None и BackColor с TransparencyKey установить в одинаковые значения, не?
Только для BackColor и TransparencyKey используй уникальные цвета, которые ты больше нигде в программе не будешь исользовать.
Спс
Можешь, иди компилируй уже, дядя Билл разрешил.
Нет нельзя, уебывай.
появится какой-нибудь LinuxForms и Linux Presentation Foundation. но как-нибудь, как-нибудь потом
Тогда нахуя тебе кросплатформенные гуи?
static extern bool mciGetErrorString(long fdwError, StringBuilder lpszErrorText, int cchErrorText);
выдает System.AccessViolationException
> пробовал написать пару статей в научные журналы и делал дипломный одногруппнику. хочу прокачать скилл до такого уровня, с которым мне сразу дадут професера и четырех кандидатов наук под руководство ибо аспирантов в моем вузе нет
Mono
Вот этого сосачую.
Только не вздумай Intersect() использовать, оно тоже будет адски медленно. Просто делай Contains в цикле.
Для хешсетов IntersectWith будет быстро работать
https://github.com/dotnet/corefx/blob/ddf8ca02958c6a78d58d641ba2e7e0bce585d572/src/System.Collections/src/System/Collections/Generic/HashSet.cs#L1180
У обоих языков есть свои преимущества и недостатки. Могу сказать только то, что осилив любой из этих языков на достаточном уровне, перекатиться на другой будет очень просто
Я много перелапатил в инете и понимаю что они похожи, но сейчас можно сказать что дело не просто в самом языке, а скорее в платформе. Шарп это дотнет, инфраструктура от майкрософт, ну тут все понятно, а джава это разработка оракла хоть есть и свободное решение, это тонны фрейворков, библиотек хоть и на все случаи жизни но все же наверно на одну задачу их штук двадцать и лучше же знать какую стоит использовать, а какую нет. Скажем, так, что я просто не уверен что действительно стоит учить, я люблю кодить, на жс сейчас пописываю свой торрент клиент и не могу определиться. Буду рад советам и любым мнением, опыту.
Что тебе больше по душе, то и учи. По количеству вакансий примерное одинаково (у жабы больше), по ЗП тоже, по функционалу похожи, у обоих есть подобия функциональных языков под их вирт. машины, у обоих много либ, синтаксисы похожи. У джавы лучше с кросплафтформенностью, и шарпа с облаками (azure). Смотри сам короче
>Смотри сам короче
И вот тут я сижу и не могу определиться, хоть монетку бросай. Вот ты сам на чем пишешь и как к этом пришел?
Да я еще со школы на втором шарпе писал, тогда просто выбора не было, и вот все это время шарп и был основным языком для меня, сейчас работаю на шарпе уже 2 года. Взял бы тогда джаву, возможно джава была бы основным.
Понятно, но вот из своего опыта, у тебя же явно есть знакомые которые пишут на яве, можешь как-то ты это описать, свои впечатления, если бы предложили работу на джаве, перешел бы? Что на твой взгляд лучше, пусть это будет и субъективное мнение, но возможно поможет мне.
Я перехожу туда, где лучше условия и больше платят, а не из-за яызка. Я в свое время и перлистом и рейлсистом работал. Для меня эти языки взаимозаменяемые во многих случаях.
сначала научись пользоваться гуглом
Так и знал, что день когда придется учиться инструментам дебага неотвратимо приближается.
Я просто не знаю как пользоваться этой точкой, хотя знаю как поставить.
Я у мамы самоучка, блядь.
Покажи где ты метод вызываешь. Метод ведь не статический, а инстанцировать абстракт ты не можешь.
Степан Никифорович, нихуя же не понятно. Но ты проебался еще когда структуру данных выбирал для позиции. Если бы был класс/структура с двумя полями - такой хуйни бы не было.
Резонно, попробую сделать просто два поля.
У меня просто фантазия разыгралась типа не появится ли там третья координата типа слоя, но на самом деле врятли.
Так и добавишь ее потом в структуру, это будет понятнее, чем несколько безымянных значений в массиве.
Окей, делаю так.
по джаве в снг вакансий больше
это как это ты гуглил?
имхо, EF является лучшим решением для 95% случаев. но мне вот любопытно, как это ты определил, судя по гуглу, что он перспективнее?
еще можешь Postgre заюзать. или в NoSQL убежать)
Поставь в свойствах формы NoBorder и у тебя останутся одни "летающие" контролы, если нужен крестик, то его можно эмулироать обычной кнопкой.
Нужно подрубить либу Winmm.dll
Как-то так: https://msdn.microsoft.com/ru-ru/library/aa984739(v=vs.71).aspx
Entity Framework подходит под 90% всех задач.
Естественно, для твоих простых лаб он более чем достаточен.
Плюс он ну ооооочень простой.
я сто лет на паскале не писал, в последнее время только С и консольный Питон. Вот и сижу с выбором одного из двух стульев.
значит выбирай удава
Ну удачи
Гуглил, что-то нихуя.
public void ConfigureServices(IServiceCollection services)
в Startup.cs, а как мне теперь в каком-нибудь рандомном классе получить эти services? Скажем, в бизнес-логике я хочу запросить у di-контейнера ILogger, чтобы че-то записать.
Вот в контроллере можно хуйнуть
HttpContext.GetService<ILogger>()
но в этом все равно смысла нет, потому что можно тупо в конструктор этот ILogger передать,
а как в модели получить ILogger?
Так у тебя получится ServiceLocator, который сейчас считается анти-паттерном.
Зависимости должны резолвится начиная с контроллера и вниз по дереву-зависимостей.
И вроде ASP NET CORE должен сам вызывать конструкторы, подставляя в них нужные параметры.
От души
Ну это не совсем то.
>>688948
Ну чтобы язык был также открыт, свободен и кроссплатформенен как жава, но имел красивый шарповский синтаксис.
ты не поверишь, но C# - открыт, свободен и движется к кроссплатформенности
Хорошо, убедил.
html не работает на линухе?
Ебать ты взорвался.
Это блокнот со свистелками и перделками.
Это такой atom от МС для кроссплатформенной разработки асп.нетов.
Gtk#
Почему, при том что C# и Java практически одно и тоже, Java ассоциируется с макаками а C# - серьезный язык?
Это только в рекламе разница или есть какие-то существенные отличия?
Просто мне нубу интересно.
потому, что, не смотря на практически полную идентичность, на Jave пишут макаки, а на C# серьезные люди делают большие дела
Абсолютно точный ответ при полном отсутствии полезной информации. Ты что - программист?
Как ты узнал?
Потому что макаки выбирают java, а серьезный бизнес - c#, и это несмотря на то, что они практически одинаковые.
>меня ебут в жопу
>но почему?
>потому, что берут свой хуй и пихают мне в жопу
>а отчего так?
>ну ебут меня в пердак, что непонятно?
ОК, спасибо, объяснил.
static void Main(string[] args) {
int[] numbers = GenerateNumbers();
Reverse(numbers);
PrintNumbers(numbers);
}
Reverse() получает numbers как аргумент, но не меняет его. Я так понимаю, что numbers внутри Reverse() - локальный? Если да, как его поменять?
ну пришел
Ламповый джява тред.
Пока нет
Может у кого завлялись работы-наработки:
Программа: умножение, сложение матриц. Поиск определителя.
Чтобы максимально упростить задачу решившему мне помочь: матрицы "правильные", обе одного размера.
а гугл молчит? это ж элементарная задача
>Я студент с говно-лабой - мне сразу идти нахуй?
Да, иди сразу нахуй в гугл. С# тут никаким боком.
Не мог не уведомить вас, но я проиграл с вашего замечания.
но там надо знать for, а это уже хай-скиллз, понимаешь. тут без синьоров не справиться
и как посоветуешь изучить?
какой-то ты недогоняющий
Синьоры памидоры)
Лол, что значит "зачем"?
Чтобы переумножать все элементы на все элементы. Он же про перемножение матриц спросил.
Ну спасибо, что хоть свой личный тред не создал. В /gabe/ если он ещё жив.
http://docs.cryengine.com/display/SDKDOC1/CRYENGINE+V
это типа этих твоих юнити? или чо это хоть вообще?
BATYA
Отличные картины писал, Depeche Mode без него уже не тот.
Да нет меня на хабре, но тем не менее, это один из немногих РУССКОЯЗЫЧНЫХ ресурсов, где можно найти статьи и новости о шарпе.
Ну а щито поделать, некоторые не могут в ангельский, а понемогу осваивать хотят. Пусть лучше на русском, чем вообще нихуя.
а в чем, собственно, problematique?
как-то лень искать(
Если ты такое ленивое чмо, которое хочет, чтобы другие сами искали его говно, то к тебе будет такое же отношение.
В модных стартапах сеньоры, в государственных учреждениях - старшие разработчики, чего непонятного.
Юзаю https://yck1509.github.io/ConfuserEx/ – этого достаточно для того чтобы хомяки не пытались поиметь профит (de4dot курит в сторонке). Ну а хочешь действительно надёжное решение – пиши свой обфускатор и не показывай его никогда никому.
Полагаю, что можно было бы не использовать универсальный метод и передавать просто object, но как-то не вдохновило)
Хуету написал и рад.
Как и я: param.Equals(property.GetValue(report)). report, сука.
T не нужен просто потому что иди нахуй.
foreach еще блядь какой-то, да еще и два раза.
Как говорил Гэри Олдман: https://www.youtube.com/watch?v=KpWqTjLn7Fg
шлак, в котором кроме report.Add нихуя не понятно
Что это за бред вообще? Какой нахуй dynamic? Ты илита уровня /b/.
ну чего ты на рефлексию-то?
В мемориз!
Вопрос вот какой. Нужно на работе запилить утилиту, я её логическую часть почти доделал. Пилю ГУИ.
Все казалось бы хорошо, но...нужно, чтобы все это работало и на шиндовс ХР и выше, и на линухе.
Сам пишу сейчас в студии. Знаю, что есть монодевелоп. Так вот, пробовал поставить моно девелоп: на ХР сама ИДЕшка не пашет, а проекты, сделанные на моноДевелоп пойдут на ХР и линуксе?
Всё 32битное.
универсальные гуи не будут тащемта. разве что консоль
Это тупик. Моно гавно. Нормального гуи который работает везде не сделаешь.
Лучше хорошо подумать и отказаться от гуи на линуксе и сделать всё на божественном впф.
Либо веб-гуи.
Тащемта, я слышал что WinForms можно портировать под Mono (пруфы: http://www.mono-project.com/docs/gui/winforms/porting-winforms-applications/), но я бы не советовал тебе этого делать – лучше уж сразу юзай Perspex, как советовал >>691743-кун.
Написано же
> prog.cs(10,13): error CS0103: The name `a' does not exist in the current context
Запрос я написал, работает правильно, но препод говорит чтро это нихуя не оптимально и полная хуйня.
Вот мой запрос:
SELECT
d.Name,
d.Id,
(SELECT SUM(bns.Amount) FROM dbo.Employee emp
JOIN dbo.Bonus bns ON emp.Id = bns.EmployeeId
WHERE emp.DepartmentId = d.Id) AS DepartmentTotalBonusSize
FROM dbo.Department d
Будет заебись, если поясните даже как написать в LINQ формате, но и так буду оче благодарен.
>Отправляйся прямо в гугол
Я уже гуглю. Тут тред то зачем, не для того ли, шобы аноны задавали и отвечали на вопросы друг другу?
>В group by умеешь?
В целом да, но здесь что-то не могу понять как применить. Помоги плз, няш.
Не хочет выполняться чот.
Column 'Department.Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Ну если все будут задавать то, что гуглится за 5 секунд, будет вообще печально.
http://ideone.com/Hko2Nx
Спасибо, антош, добра.
А если к схеме добавить еще 1 таблицу DepartmentProperty (приклейтед), то можно ли как-то к имеющемуся выводу добавить колонку , содержащую список Property для каждого Department? через запятую например, или пробел
Поясни, пожалуйста, в выводе в консоль:
Например
>C[0,0] : 207C[0,1] : 236C[0,2] : 128
что такое буква С и что ты указал перед буквой С?
Из коробки там нет агрегратной функции для конкатенации строк, здесь есть примеры как это сделать https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/#_Toc205129484
Ясно. А может погсредством EF и LINQ можно как-то написать запрос, чтобы массив DepartmentProperty заносился для каждого объекта Department в поле типа List<DepartmentProperty>? Или это хуево по производительности будет?
Так модели созданы уже по схеме >>692352 .
Вопрос в том, как оптимальным образом написать LINQ query для получения списка DepartmentProperty для каждого Department?
Что-то типа такого http://pastebin.com/WZmSkJcX ?
Что-то мне подсказывает, что пошлёт меня препод нахуй дальше оптимизировать с этими вложенными запросами.
>>692453
Бамп. Не издеваюсь я. Что значит строка
Console.Write("C[{0},{1}] : {2}", i, j, c[i, j]);
что за >"C[{0},{1}] : {2}"
Да возьми ты книгу по шарпу наконец, да почитай.
https://msdn.microsoft.com/ru-ru/library/txafckwd(v=vs.110).aspx
Но ведь программа работает неправильно - я перемножаю матрицу считай массив А на матрицу Б. Размерность 33.
Обе матрицы заполняются рандомно от 1 до 15.
Но 1515 = 225. А в результате программы есть значения намного больше.
ЧЯДНТ?
>ЧЯДНТ?
Все просто: ты идиот и не можешь в умножение матриц.
Максимальный результат элемента = 15х15 + 15х15 + 15х15;
>>692624
Опять проебался.
С массивом 3x3 все работает нормально. А если я поменяю размер матрицы (массива) А и B на 5, например, то получаеются большие ебические числа.
Толсто.
Как мне рассчитывать положение, например центрального элемента?
Хочу получить сумму соответствующих элементов в массиве C (10x10)
Конструкия типа:
C[j] = A[j] + B[j]; //не работает.
Могу ли я это реализовать без циклов?
или помогите с циклами
define ne rabotaet
Да ты заебал со своими матрицами. Может лучше в сторону Python + Numpy или R посмотришь? Они лучше для таких задач подходят, и там можно так делать.
Пытаюсь записать в один массив сумму других
C[и][j] = A[и] [j] + B[и][j];
Ошибка
Wrong number of indexes `1' inside [], expected `2'
Не понимат.
Добра тебе большого!
А хз, где оно и что творится. У меня не было большого опыта редактирования контекстного меню реестра, в общем то, опыта не было вообще. Потому и прошу тут помощи. Советы с тырнета не помогают.
Ты пробовал SHChangeNotify вызывать после ассоциации? И посмотри что выдает программа ShellMenuView (http://www.nirsoft.net/utils/shell_menu_new.html), если в ней твой пункт отображается - копай дальше
>Ты пробовал SHChangeNotify вызывать после ассоциации?
Эта чо и как?
Видишь, что ещё интересно: я пробовал создать подраздел ShellNew в разделе .html там же, в classes root, и в контекстном меню появился пункт создания пустого хтмл файла. Но у раздела .html (как и у многих других) есть подраздел PersistentHandler, (при этом у каждого расширения значение в параметре по умолчанию в персистент хэндлере уникальное) а в разделе моего формата, офкорс, нету подраздела персистент хэндлера, и я в душе не ебу что это, и как его создать.
[DllImport("shell32.dll")]
static extern void SHChangeNotify(HChangeNotifyEventID wEventId, HChangeNotifyFlags uFlags, IntPtr dwItem1, IntPtr dwItem2);
Дальше в функции устанавливаешь ассоциации и в конце вызываешь
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
Ну это как я понимаю, никогда с этими ассоциациями не работал.
У расширения, как я понимаю, в Default должен лежать ID, который тоже должен сущестовать и в нем должно быть название
HKEY_CLASSES_ROOT
--- .твое_расширение
------ (Default) = Blablabla (это ID)
--- Blablabla
------ (Default) = Тест, который будет отображаться в меню
Возможно как-то так, если верить докам
А без привязки к шарпу это никак не сделать? Имею ввиду, как ручками залезть в реестр и прописать нужные параметры, шобы, блять, эта ебучая скотина уже создавала блять файлы моего формата?
http://rbsoft.org/downloads/right-click-enhancer
Заодно потом можешь посмотреть, что оно создало в реестре и сымитировать в шарповом приложении, если нужно
Тебе нужна будет только ветка с твоим расширением и айдишник
https://msdn.microsoft.com/ru-ru/library/windows/desktop/cc144101(v=vs.85).aspx ну вы чего хуйней страдаете, когда все документировано?
Бамп.
самое первое, что приходит в голову - теорема лапласа. ну или можешь какой нибудь алгоритм придумать, ведь определитель - сумма произведения n элементов матрицы, каждый из которых не находится в 1 строке и столбце, и каждое слагаемое ещё умножается на -1 в степени суммы индексов всех элементов. грубо гря - перебрать все сочетания или как там мать их
Вангую передачу массива неправильного типа в функцию. А как переделать из int во float?
http://ideone.com/tkcXBB
Просто берешь и копируешь элементы в двух циклах как ты любишь копируешь элементы из матрицы интов в матрицу флоатов.
Не работает
>prog.cs(56,246): error CS1525: Unexpected symbol `end-of-file'
Скобки проверь.
>А как переделать из int во float?
.Cast<float>().ToArray()
foreach (var q in q1)
{
parentArtist.Nodes.Add((from artist in dbDataSet.Artist where artist.ID == q.Key select artist.Name).FirstOrDefault());
}
Так нормально делать если мне нужно получить все уникальные ArtistID из таблицы Album и добавить затем их по именам в дерево (а имя берется из другой таблицы Artist)
Или я занимаюсь говнокодингом? В linq и запросах не очень силен.
var artistIDs = (from artist in ctx.Album select artist.ID).Distinct().ToList();
var artistNames = (from artist in ctx.Artist where artistsIDs.Contains(artist.ID) select artist.Name);
>foreach
AddRange не завезли?
Иди нахуй.
Одним запросом к базе. Чтобы на выходе получить выборку с уникальными ArtistId из таблицы Album с соответствующим им ArtistName из таблицы Artist
берешь и взаимодействуешь
я вижу, ага да
http://ideone.com/EBTmqb
Я перекомпилировал ядро, переустановил GCC, и все равно такая ошибка. Спрашивал у программиста - он говорит что синтаксис неправильный, уже неделю пытаюсь что то сделать.
Да
Тяжелое наследие жавы. Которая унаследовала от крестов.
1. Ввод\Вывод хуйни
2. Работа с изображениями
3. Работа с о звуком
4. Сериализация
5. Приложение взаимодействующее с какой нибудь БД
.. ну и в таком вот духе
> 1. Ввод\Вывод хуйни
Блокнот с возможностью загрузки и сохранения
> 2. Работа с изображениями
Блокном с возможностью вставки картинок
> 3. Работа с о звуком
Блокнот с возможностью вставить звуковой файл
> 4. Сериализация
Блокнот, сериализирющий введенные строки в xml
> 5. Приложение взаимодействующее с какой нибудь БД
Блокнот, сохраняющий и читающий заметки из БД
прекрати писать
> я прочитал пару книжек,
Т.е. ты прочел пару книжек по погромированию и нихуя не освоил на практике? Ты охуел там или что?
Честно сказать если это действительно так, то я не знаю как ты будешь писать что либо. Из того что ты прочёл хорошо если половина отложилась, если ты не писал что-то попутно.
Офк, но во время прочтения это просто необходимо, если ты не биоробот который запоминает всё.
то есть или.
или внутри сборки но все типы видят, или в любой сборке, но только наследуемые типы
> 2016
> В ASP.NET 6.0 на линуксе нельзя отресайзить jpeg картинку
А все потому что в MONO для linux испокон веков есть бага (которую никто не правит),
из-за которой Jpeg кодировщик игнорирует "jpeg quality" и всегда используется максимальное.
Про утечки памяти, можно не говорить.
И ведь нет альтернатив:
1) ImageResizer - в текущей версии это обертка над System.Drawing (в плане кодирования точно)
2) Наработки Microsoft в Core FX - ну так там все на стадии исследований
https://github.com/dotnet/corefxlab/tree/master/src/System.Drawing.Graphics
3) Порты jpeg-encoder на C# - прощай производительность
пасеб
"Спасибо" антош, ты ввел меня в более сильное уныние.
Глянул либы из https://www.imagemagick.org/script/api.php и еще погуглил:
1) Magick.NET - развивается и даже есть "поддержка" .net core, но пока работает только на Windows.
Проект поддерживатеся одним человеком и в ближайшей перспективе не выйдет на Linux.
2) ImageMagickApp - (проект мертв) просто обертка над вызовами стороннего приложения.
Код редкатировался послдений раз в 2008, о поддержки линукса нестоит и заикаться.
3) ImageMagick.NET - (проект мертв) не обновляется с 2009, статус "альфа"
Думаю после релиза достаточно быстро и под линупсы запилят. В крайнем случае можно и без обвязочек попробовать, вызывая IM напрямую или свои небольшие биндинги под задачу запилить.
> разница между Thread и Task
децл некорректное сравнение если ты не о new Thread().Start(), но тогда ты просто еблан. если асинхронная задача использует управляемые ресурсы или является I/O операцией - то юзай async/await. в противном случае - ThreadPool.QueueWorkItem
Создай инсталятор, в чем конкретно проблемы?
Йоба для распространения должна все-таки в Release лежать
дк >Executes the specified delegate on the thread that owns the control's underlying window handle.
разве не значит, что обращение к контролу будет перехватывать и выполнять тред-владелец контрола, то есть основной тред, а мне нужно, чтобы работа велась в побочном треде. или я непраильно понял?
ааа, ты хочешь выполнять что-то в соседнем потоке, при этом держа под рукой элемент? чет не получится у тебя ничего
То есть низзя, к примеру, создать в одном треде таблицу, заполнить её, а потом, при желании, в другом треде параллельно выполнять поиск по таблице?
возможно, через делегаты можно будет попробовать достучаться до свойств элемента, но сильно я в этом сомневаюсь
читаешь через XDocumet.Load?
>>694391
xml/json 2 dynamic, имхо, специфичное занятие. почему бы просто адекватно не десериализовать?
Потому что либо костыляться придется при доступе, либо маппинги ручками писать. Да и красивей так. Перфманс ниже, да, но это все от задач уже зависит
Так, запостил глупый вопрос, тут же нашелся ответ.
Как запилить дистрибутив http://www.youtube.com/watch?v=z0v6hmumCFU
Вдруг кому пригодится.
Я все-таки NSIS предпочитаю, но каждому свое. Просто редактировать эти инсталлеры вне студии это тот еще ад. Либо если нужно кастомизировать как-то.
Почитай про Selenium и Coded UI
Есть ли какая-нибудь несложная литература про алгоритмы и структуры данных? Чтоб даже анимедаун который не может в науку понял.
Мне essential algorithms понравилась, пиздецки простая книга, с картинками и псевдокодом (а на сайте еще и примеры на шарпе есть). Но на английском.
это та, которая 60 баксов на амазоне? спрашиваю, чтобы не потратить время на поиск и прочтение параши
та ну, просто первые полтора результата запроса "essential algorithms торрент скачать бесплатно" приводили на какие-то буржуинские рецензии этой книги, а это значит, что на поиск придется потратить нечеловеческие усилия
Почему она плохая? Я думаю прочитать. Про алгоритмы знаю примерно нихуя. Могу написать bubble sort и на бумажке нарисовать что делает quicksort.
Забудь про торренты, палю тебе годноту.
http://gen.lib.rus.ec/search.php?req=essential+algorithms
не говорю, что она плохая. говорю, что >>694735 и, вероятней всего, из бесплатного я с высокой вероятностью нашел бы что-то левое
>>694737
я проскролил до конца страницы гугла и нашел вот щито: http://glenaskey.com/misc/joined_document_2 (1).pdf думаю, не ошибся)
Лол, хуй знает, у меня такого нет. В любом случае держи: http://rghost.net/private/8ybRhwxXp/a4845d52857c365e012a5ec465042560
Я не осилил, просмотрел два видео первых и дропнул :(
Диванный погромист.
>создаю два объекта
>сравниваю эти объекты с помощью Assert.AreEqual
который сравнивает ссылки
упс, сега приклеилась
Это копия, сохраненная 13 апреля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.