Вы видите копию треда, сохраненную 14 сентября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Литература вторым постом
1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c#
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/
2. Онлайн-компиляторы:
- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
- http://ideone.com/
- http://csharppad.com/
- http://www.tutorialspoint.com/compile_csharp_online.php
- http://rextester.com/l/csharp_online_compiler
3. WinForms или WPF?
Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.
4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?
Неправда. C# довольно активно развивается, недавно вышел новый компилятор, шестая версия шарпа, и уже активно разработывается седьмая. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.
5. Какую ИДЕ выбрать?
Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Для мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).
Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.
6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.
Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials
7. Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL
8. Расширения для студии
ReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов
Supercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по ним
Indent Guides - показывает вертикальные линии на каждом уровне отступов.
Format document on Save - форматирует код каждый раз при сохранении документа
Code alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях
Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C#-6
ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ
Код этой шапки: http://pastebin.com/cKKXYArs
Прошлый тред тонет здесь: https://2ch.hk/pr/res/796165.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
win - http://download.jetbrains.com/resharper/riderRS-163.1408.exe
linux - http://download.jetbrains.com/resharper/riderRS-163.1408.tar.gz
os x - http://download.jetbrains.com/resharper/riderRS-163.1408.dmg
.net core релизнулся уже как месяц, установить себе даже не на windows: http://dot.net
вместе с ним вышли и asp.net 5 core и entityframework 7 core
Теперь можно править исходники на проде с латте в одной руке и макбуком в другой.
А на самом деле ваш кубикл возле параши и настало время чистить вебформы
После того как VisualStudioCode заработал дебагер, как-то отпала необходимость.
Все таки прикольно когда IDE жрет всего ~100 MB
Насколько я понял, в дебаг версии еще пдбшка создается, которая помогает тебе понять где эксепшон у тебя в коде возникает, к примеру и там наверное еще какая-то инфа для отладка
В релизе просто дллка без ничего.
Ну а там производительность, тыры-пыры? Просто в библиотеке юзер контролы для wpf, с эффектами, все дела. Или я слишком заморачиваюсь и разница в производительности пренебрежимо мала?
Это да, они прям годноту делают, еще и терминальчик запилили внутрь. Я с хитрого блокнота пересел на code и теперь пишу заметки в markdown'e, зависимость есть.
public class FooViewModel {
...public ICollection<TagViewModel> Tags { get; set; }
}
public class TagViewModel {
...public string Name { get; set; }
}
Во всех случаях получается мешанина из js'а и разор-синтаксиса, на стаковерфлоу есть только статические бинды через шаблон и Html.EditorFor(), или оставить один скрипт на добавление/удаление формы, а потом через JSON вытаскивать и десериализовывать в коллекцию, но это какая - то наркомания, как забиндить в таком случае?
pdb определяет соответствие между скомпилированным байт-кодом и исходным каэс/вб файлом. это нужно не только в дебаге, к примеру - механизм логгирования исключений
>>811529
производительность, конечно, тырыпыры. я не могу назвать тебе относительный порядок этой разницы, но она, безусловно, есть
Добавляю через HttpRequestMessage request.Headers.Add("",""),
при добавлении даже юзерагента сервак кидает 406. Без него та же хуйня. Чё делать, посоны?
Вопрос достойный гугла. Чем реквесты то шлешь?
ачо реквест, если респонз?
для юзер-агента, если память не изменяет, там отдельное свойство. при добавлении через хэдэрз вроде как отваливается по ошибке
>>811588
тут смотрел?
https://msdn.microsoft.com/en-us/library/bb514707(v=vs.90).aspx
>тут смотрел?
посмотрел, не то. там объясняется статическое и динамическое позиционирование в контексте связки родительского грид-like элемента и дочернего внутреннего элемента, а мне нужно привязать расположение одного дочернего элемента к расположению другого дочернего элемента
Как получить куки с апи авторизации(рандомного) и обработать его?
Так как iOS это просто урезанная macOS на ARM, то эмуляции физической платформы не нужна.
iOS программы компилируются в x86 и фактически запускаются как macOS приложение (с заглушками на мобильные апи).
Это одна из главных причин почему XCode/iOS симуляторов нет под Linux/Windows.
Что за хуйню я только что прочитал?
То, что iOS писалась на основе ядра макоси – не значит что это урезанная макось.
Соси писос.
inb4 попробуй йопта - на данный момент не могу. лень
Раньше надо было скачивать preview
https://www.visualstudio.com/ru-ru/downloads/visual-studio-next-downloads-vs.aspx
и запускать с каким-то параметором
Хуяшки
Скажите, пожалуйста, если есть текстбокс, где вводится время, например: 14:15
Как я могу это конвертировать в TimeSpan? Создавать два текстобокса для часов и минут не вариант.
ну, первое, что приходит в голову - распарсить текст из текстбокса. делаешь из него новый таймспэн типа
timespan ts = new ts(textbox1.text.substring(0,2),textbox1.text.substring(3,5);
или предварительно делаешь
string[] values = textbox1.split(':');
но по добру предусматривать то, что пользователь дебил платит, а потому будет нажимать на те клавиши, которые захочет, так что более прохаванно было бы сделать maskedtextbox. насчёт реализации - в wpf и winforms разные, точно не подскажу.
ну или так.
Ответь пожалуйста на такой вопрос:
Используешь ли ты UML? Годная вещь? Необходимая? Помогает ли распланировать небольшой проект, для одиночного кодинга?
Спасибо.
С одной стороны - программистам дана возможность решать задачи, а не сражаться с языком.
С другой - порог вхождения дропнулся до нуля.
Лучше, чем в 2016, где говноязык завязанный на платформу считают богоподобным. 10 винду поставил?
>порог вхождения дропнулся до нуля
>ASP
>WPF
>WCF
>Xamarin
>MSSQL
>ADO.NET
>EF
АХАХАХАХАХАХАХАХАХАХАХАХАХ
Отпишись и не читай.
Смотри, а если стоит задача: с 22:00 до 06:00 - ночной рейс. Если >50% времени самолет летит в этот промежуток, то ему присуждается ночной рейс(просто выводится результат в label).
Из входных только время взлета и время посадки. Рейс длится не более суток.
Через что лучше идти к реализации в коде подобного?
Из одного TimeStamp создаешь джва новых - До 0 часов и после.
А потом сравнивешь их Duration.
мимо другой кун
Не за что.
Когда-то тебе пришлось бы всё реализовывать самому. Вот это ахуенный порог вхождения был бы.
А теперь ты будешь изучать дохрена фреймворков. А будут выходить новые, будешь изучать новые. И так по циклу.
Там нехуй учить. Открыл справку с апи, поковырялся, закрыл.
А вот пойди ацти по стезе залупенства – ты сидел бы и под каждую задачу сам писал свой фреймворк, на каком нибудь древнем коболе на лицензию которого у твоей бомжатской конторы хватило денег.
С вашего позволения, бампану.
Почему под .net подразумевают всегда только с#? Есть же ещё vb и тоже .net между прочим
Зачем они тогда придуманы? В чем такое сильное преимущество с#?
> Открыл справку с апи, поковырялся, закрыл
говоришь такое на собеседовании
@
мы вам перезвоним
>>812706
в том, что он адекватный
> Зачем они тогда придуманы?
вб был придуман еще до того, как был придуман с#. .net была призвана объединить гору языков под одной платформой
У .net разработчика полная свобода в выборе языка в рамках платформы.
Вы почему то уперлись в вб, который нинужин, потому что есть c#, начинать надо было с powershell
Если ты говоришь только правду на собеседованиях – тебе все будут перезванивать.
Я выбираю бейсик, т.к. выбрал его ещё году в 2000. Работа с программахингом никогда не была связана. Но достаточно часто нужны были всякие облегчалки в работе. И в вордах-ёкселях "макросы" какие это нахуй макросы, если с объектами самого ворда работает только пятая часть кода? писать, vbs-скрипты, мелкие утилитки на VB6, AD, анализ инфы в акцессе. И везде всякие разные интерпретаторы VB. VBA и vbs с тех пор никак не изменились, а с VB6 пришлось перелезть на vb.net. Но этот переход очень мучительный. Некоторые алгоритмы вообще оказались несовместимые и приходится долго разбираться, как же этот теперь работает
...чтобы сказать "ценим вас за ваше откровение, но ваши технические навыки нам не подходят"
Ты может ещё каждой хр-ке в лицо говоришь: "нет, блять, мне насрать на эту хуиту – я тут ради денег а не потому что мне это кококо интересно"?
Некоторые западные интерпрайзы писали на вб лет 5 назад. У него порог вхождения еще ниже, чем у сишарпа, говорят. А сегодня молодые и шутливые на f# могут бизнес логику реализовывать. Есть извращенцы с nemerle и iron python/ruby например, но о них не слышно ничего.
Ну так ты предлагаешь всё выкладывать работодателю на чистую воду — оттуда и подобный вывод.
А изначальная тема – порог вхождения – таки очень низкий, по сравнению с какими нибудь плюсами, да.
это я предлагаю? ты даун чтоли?
Пишу модули логики на f#, проект жив, лид грит молодца, ездим с ним на конференции.
>ездим с ним на конференции
как будто показатель успеха.
А ваще, нах нужны эти конференции?
мимо-другой-кун. Вашу переписку не читал
Попиздеть с такими же бородатыми чуваками за жизнь, развитие платформы и работку, послушать всякую интересную штуку. Интересно ежи. И за счёт компании)
а чо там пиздеть? Всё ж в инторнетах есть.
Хуй знает, я как-то очень скептически к этому отношусь.
Хотя вот друган есть - он сцыцца от этого.
ну как)))00 общение там статейки с хабра и stackoverflow друг другу рассказываем))00 пивко пьем ))))) чё ты)
Свобода в выборе языка есть у джавистов.
На дотнете жива только мсовская тройка: шарп, вб, шершавый мл.
На vb очень много вещей пишется гораздо быстрее, чем на С++. В языке больше готовых решений, поблажек и сюсюканья с программистом. В net часть этого сюсюканья из vb убрали, сделав его больше похожим на c#.
И изначально среда разработки в VB именно для написания кода была более удобной, чем на С++. VS как бэ единая экосистема, но нихера. Разношорстность там была адовая. Только в net всё привели к единообразию.
Что за хуйню ты написал?
Если определять живость по кол-ву проектов, то куча ненужных языков под жвм так же мертва.
>а чо там пиздеть? Всё ж в инторнетах есть.
Люблю конференции на которых выступают создатели чего-то а не петушки которы просто это юзают
им там можно вопросы по задавать, обмазаться инсайдом и вообще понять что им движет.
Их вообще в десяток раз больше, поэтому и мёртвых вроде немерле больше.
Для сравнения живые и активные жвм языки: ява, скала, груви, кложура, котлин.
нет, один в один.
Был вариант оп-пикчи, но только с Хаскелем (что-то типа "тут мы лифтим монаду...", на мониторе было написано "maybe monik" и на столе лежала стопка книг)
там же в WPF дефолтные рамки окна не учитываются в конструкторе, если я правильно помню, но при отрисовке получаются вот такими. если выставить Style для Window - None, все будет оке. но вообще, подобные вещи лучше читать по гайдам, я сходу не вспомню, почему оно такое вот
БОЛЬШЕ БОЛЬШЕ, СУКА, ВСЕ
Сказал взлетела и уверено летит нахуй.
Единственный хороший альтернативный JVM язык - это Clojure.
Никому не нужный лисповысер (хоть и используется шире чем ф#), авторы которого страдают годами хуетой "как бы сделать покрасивее" и их не ебёт что происходит вокруг – нахуй.
сорян за этот >>813069 фэйл.
да! наканецта добавили!
Какого-то хуя сама включилась, очень странно.
Спасибо. Без него стало лучше.
Я решал подобную проблему чтением ошибки.
Ну вот, видимо недавно и в комьюнити версию добавили. После установки .net core появилось.
> авторы которого страдают годами хуетой "как бы сделать покрасивее" и их не ебёт что происходит вокруг
Ты сейчас авторов Скалы описал.
А о Кложе ты, видимо, совсем ничего не знаешь (кроме "ко-ко-ко лишп шкобочки), потому как к настолько же практичный и основанный на реальных задач дизайн языка я видел только ещё в одном языке.
И зачем ты этого петуха безаргументного притащил?
Про core.spec и test.check он, конечно-же, не слышал, и в Cursive (основанной на их же параше) не работал.
Считает систему типов серебряной пулей, хотя по-факту системы типов для Тюринг-полных языков могут проверить только совсем тривиальные свойства. Чтобы система типов могла проверить хоть сколь-нибудь нетривиальные свойства, язык должен быть не Тюринг-полным (см Agda, Idris). Тогда как контрактами подобные свойства проверяются на изичах.
Ко-ко-ко, большие проекты, куд-кудах перформанс.
Сколько баз данных написано на Котлине? Сколько реалтаймовых стрим-процессоров? Ноль, и что-то мне подсказывает, что эта цифра за 10 лет не изменится.
В отличие от некоторых он 5 лет новый язык разрабатывает.
В принципе мне clojure понравился дальше хелов вордов не уходил.
Еще нравиться смотреть на профессионалов https://www.youtube.com/watch?v=m_nlBeNIhZo
Но блин, он же реально динамический и библиотеку для типов только добавляют проверки,
никак не оптимизируя программу на уровне компиляции а скорее замедляя в рантайме.
> Считает систему типов серебряной пулей
Ни кто этого не говорил.
P.S.
Еще у Rich Hickey отличные выступления.
Мне кажется их можно смотреть в не зависимости юзаете clojure или нет.
> А сколько на Clojure?
В гугле забанили? Из самых известных: Datomic, ElephantDB, Storm.
> Статическая типизация позволяет хотя бы не выводить типы в рантайме, что уже поёбывает в жёпу динамикупорашу.
Какой ещё вывод типов в рантайме? У тебя каша в голове.
Кложа настолько же "динамически типизирована", насколько и джава: нормально написанный код компилируется в байткод без рефлексии.
Ты какой-то дохуя адекватный для зк. Тут принято говном кидаться и логические рассуждения должны использоваться исключительно для унижения других.
> Из самых известных: Datomic, ElephantDB, Storm.
Я же просил:
>>813233
>Желательно используемые
>>813241
>Какой ещё вывод типов в рантайме?
А ты похоже не очень понимаешь как твоё говно работает.
Твиттер для тебя "неиспользуемые"?
И давай, расскажи мне про "вывод типов в рантайме", я послушаю.
>Твиттер для тебя "неиспользуемые"?
1) За что именно отвечает эта бд там;
2) Там, кстати, до хайпа скалы всё было на раби и никого ничего не волновало - очень загруженный сервис, чо уж.
>И давай, расскажи мне про "вывод типов в рантайме", я послушаю.
У тебя строки и инты обрабатываются не как строки и инты? Или объекты с интами складывать можно и не парится?
> 1) За что именно отвечает эта бд там;
Strom там отвечает за real-time layer. Если не знаешь что это такое, то можешь погуглить lambda architecture.
> У тебя строки и инты обрабатываются не как строки и инты?
Что за вопрос мутный? У тебя кот и пёс обрабатываются не как кот и пёс?
> Или объекты с интами складывать можно и не парится?
Что значит "складывать"? Какой метод ты имеешь в виду?
Короче, ты не знаешь нихуя ни про типы в JVM, ни про то как работает Clojure, ни, видимо, про то что означает термин "вывод типов". И вопросы задавать ты тоже не умеешь.
Но я всё ещё жду охуительную историю про "вывод типов в рантайме". Если не в Clojure, то хотя-бы в каком-нибудь другом языке, чтобы понять что ты там нафантазировал.
> Иди поковыряйся в исходниках любого интерпритатора
Ковырялся. И сам писал. И компилятор тоже писал.
Только в пайплайне испольнения Clojure единственный интепретатор - это интепретатор байткода JVM.
> Если говорить про динамические языки - там хоть как называй, вывода в стандартном понятии там всё равно нет.
Вот контпример: Clojure - динамически типизированный язык. Компилятор Clojure делает type inference. Шах и мат.
В том что он стартовал как клон мегапопулярной Жабы.
>>812824
>ява, скала, груви, кложура, котлин
То есть 5 против 3 у .NET. Не такая уж и большая разница. Ну 6 против 3, если какой-нибудь Ceylon добавить. Кстати, есть ведь ClojureCLR.
>>813288
Видимо, сами джависты это не обсуждают, так как моск ломается при знакомстве с Clojure.
Ситуация следующая: имеется форма с pictureBox'ом и массив изображений, которые в этом pictureBox'e прорисовываются. Однако размер некоторых изображений гораздо превышает размер формы по ширине, высоте или по двум показателям сразу. Есть ли какие-нибудь встроенные средства или сторонние библиотеки для масштабирования изображений с сохранением пропорций, чтобы эти изображения помещались в заданном окне?
https://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode(v=vs.110).aspx
И как это связано с сохранением пропорций? Пикчабокс вообще не играет особой роли в этом, вопрос именно в том, как масштабировать любое изображение, чтобы оно помещалось на заданный экран с сохранением пропорций.
Отбой, нашел: http://nzeemin.livejournal.com/184415.html Хотя вариант не очень удобный, так как методу надо указывать длину и ширину, в которые надо поместить изображение.
1) Худший интеропт с платформой
2) Установка/настройка доп. компиляторов. Те что они языки .clr совместимы не значит что не надо качать для них отдельные компиляторы.
C# IDisposable и Java Closable это одно и то же?
Почему бы не заменить в версии из коробки Boo (или его уже убрали, я не в курсе) VB, которым хоть кто-то пользуется.
inb4 google, stackoverflow, книги - спасибо, не надо. я сам сейчас параллельно ищу ответ на свой вопрос в различных источников, просто хочется услышать ответ из первых уст от анона.
на dependency property основан механизм связывания данных
первое, что приходит в голову - обернуть элементы АТД в структуру, в которой будет значение и bool, который будет обозначать, обрабаывается ли уже данный объект или нет.
звучит как костыль
можно и им, но вопрос остается. Суть вопроса в том, чтоб все потоки распределяли между собой айтемы, а не чтоб все потоки обрабатывали все айтемы
Да, но не нашел как регулировать кол-во тасков, надо побольше, чем он создает
вчмычле
>побольше, чем он создаёт
если я тебя правильно понял, тебе нужно каждый элемент в АТД обработать в отдельном таске. зачем тогда тасков больше, чем элементов в АТД?
увы и ах, но нет
>>813693
>побольше, чем он создаёт
>если я тебя правильно понял,
побольше потоков, чем создает Parallel.For() или Parallel.ForEach(), а не больше, чем кол-во айтемов
ну и каждый таск создавать на элемент - тоже роскошь. Надо так: например в АТД 1000 айтемов, я создаю 30-60 тасков, а они по очереди обрабатыают ту тысячу, получается каждый таск обработает около 15-35 айтемов в среднем
самофикс: не по очереди конечено, а по мере освобождения
50 умножить на i, ебаная разметка
меньше затем, что элементов может быть и 5к, а смысл создавать 5к тасков, только память жрать. Да и там каждый элемент надо в интернете проверить, а это значит сразу 5к запросов, меня один раз уже провайдер нахер посылал за такие выкрутасы (отключал, потому что считал, что я умышленно/неумышленно дудосю)
тащемта, самый ровный способ должен быть, не знаю почему я протупил вместе с сосачом, пятница что ли?
попробую реализовать, если не будет подводных камней - отписывать не буду
CollectionView CV = new CollectionView(datatable.AsDataView());
и скармливать его через binding датагриду достаточно, или есть ещё какие то подводные камни? а то я вот так сейчас сделал, и у меня перестало дрисло сортироваться, причём когда я DataTable напрямую подсоединяю, то сортировка работает. также, данные видны одинаково корректно в обоих случаях. оче нужен CollectionView из-за его фишек с группировкой и фильтрацией
на asp.net mvc репозиторий же
Я, конечно, пытался все это вытаскивать через JSON и сериализовывать, но это наркомания, можно ли это сделать с помощью Html.PartialAsync например? Или написать JS-скрипт с счетчиком и тупо вставлять/удалять по клику?(я не уверен, что это сработает) В данный момент просто 5 input - тегов через индексы.
Явно - нет, срок жизни сервиса настраивается в DI контейнере.
IoC паттерн
Так если я не путаю, там все языки транслируются в какой то внутренний. Просто есть три синтаксиса на выбор.
Транслируются в CIL. Иначе неясно, зачем там Mono.
бамп вопросу
Друзья, помогите. Тренируюсь в написании проекта на mvc. Нужно написать модель с использованием EF code-first. Суть модели такова, есть класс user. user может иметь друзей - других user`ов. Как лучше оформить такую связь? Просто добавить в класс ICollection<User> Friends? Или написать отдельный класс (но как сделать красиво и правильно?).
Просто добавить.
Если ты сделаешь новый класс Friend - EF сделает тебе новую таблицу если не настраивать контекст
как живется дауну, который не в силах загуглить "xyz-000 exam"?
в твоём случае в контексте реляционной БД у тебя связь "многие ко многим". у каждого человека может быть много друзей, при этом каждый человек может быть другом 2+ человек. на 2 курсе нам препод говорил, что от связи многие ко многим нужно в большинстве случаев избавляться, и для этого вводится промежуточная сущность, содержащая только внешние ключи двух основных сущностей. в твоём случае я бы ввёл сущность "дружба" с двумя интами, комбинация которых уникальна. эти инты - первичные ключи в таблице person. НО! препод ИМХО не оче умный, поэтому можешь поспрашивать ещё ононов
Так это же вроде 6 EF, нет разве? Он поддерживает many-to-many без промежуточных таблиц, однако есть же 7 версия уже, зачем тебе MVC 5 и 6 EF когда есть Core? Правда там это уже делается через промежуточную таблицу, которая содержит IDшники и модельки
http://pastebin.com/VU8tjVKK
Уже год прогаю на шарпах, так вот, уже два раза прочитал книжку рихтера и до сих пор не могу запомнить всякую дичь про маршализацию, домены приложений, подписывание сборок и т.д, ну вы поняли. Просто засыпаю на этой хуйне. Что делать?
Алсо inb4 - программирование - это не твоё.
Программирование - моё хобби, которое мне очень нравится. Так что бросить не могу
И еще. Подскажите какая разница в методах с названиями
begin...
...async? Ну async то это понятно. Но которые начинаются с begin - это что? Они типа блочат вызывающий поток до конца метода? Или наоборот выполняют длительную операцию асинхронно?
>Не буду говорить почему))
Проблема была в том, что даже если я заворачивал все 3 таска в лист, на втором таске все равно вылетало исключение, а именно e connection was not closed. The connection's current state is connecting., без await'а они запускались синхронно, получается так? Завернул их Task.WhenAll, все заработало, магия.
begin... - это методы предыдущего поколения по сравнению с асинками. В них одним из параметров передается коллбек, который нужно вызвать, когда чтение закончится. С пришествием async/await коллбеков больше не надо, поэтому все упрощается и рекомендуют использовать именно их.
Первое - это APM, второе - EAP, но это все в прошлом, сейчас то TAP учим баззворды вместе с /pr
На работках обычно организовали по назначению. Windows, View, Contollers, Helpers, Extensions, ну ты понел.
Я пробовал в своем проекте доменам, не могу сказать что стало намного лучше (например папка Users, а в ней окна, вьюмодели, POCO, хэлперы; и так для каждой сущности).
У самого такая же история. Вот хотелось бы более разобраться с этим. Так как вариантов много, да и правильного быть не может, зато может быть более удобный.
Разделение по назначению помогает когда класс переиспользуется. Т.е. например есть у нас две модели, которые включают общую модель.
Правильнее первый. Если сомневаешься - посмотри как у других. На житхабе есть майкрософтовские репы, а автор стайлгайдов c# - майкрософт.
Какой фреймворк посоветуешь? В каждой второй вакансии Ангуляр.
Что можно написать для себя изучая фреймворки чтоб еще через пол года с чистой совестью перекатится на работу по лучше?
Ангулар или реакт, но они решают разные задачи. Либо смотри под другим углом и тайпскрипт или кложурскрипт вместо es.
Хотя наверное можно и в конструкторе их посчитать, но не в этом дело.
>>815628
Лучше Реакт, он активнее набирает популярность.
>>815628
>тайпскрипт или кложурскрипт
Из этих 2 - ТайпСкрипт, однозначно.
Внезапно вспомнил про ViewData, ладно, глупость спрашивал.
Есть Program.cs, который выполняет разное, и в конце вызывает Application.Run(new MainForm());
КАК в эту формочку передать список?
Что-то вроде Application.Run(new MainForm(List MyList));??
Ничего не гуглится, да и как это искать?
Проблема в том, что я дебил.
В вызывающем методе параметры добавил, а в вызываемом - нет.
Спасибо тебе.
Набирает это можно было сказать на старте рекламной компании, так им уже ни один год как используются в продакшн. Лучше пусть освоит и то и то. Хотя ангулар(причем первый) таки больше требуют, а реакт это вообще вьюшка по сути. Вообще на твоем месте я бы вообще не лез в жс парашу, там каждый день инновационная либа, которой раньше никогда не было и хипсторы кидаются на нее наворачивая говно, а потом либа уходит в закат и все про нее тут же забывают.
Конечно второе. Вообще, стремись к тому чтобы твои вьюшки были максимально "тупыми"
Чисто теория тебе ничего не даст.
попробуй написать рукаме про всё это.
Так толку будет лучше.
Есть Path, который задан строкой через Data. И есть два изображения, которые анимированны по этому пути с неким расстоянием между ними. Мне нужно взять часть данного пути и визуализировать его между ними. Сложность в том, что путь представляет собою кривую безье, либо любую другую хуиту, которую задаст пользователь. На закуску, мы знаем лишь x,y первого и второго элемента и полностью контролируем Path. Внимание, вопрос. Как это сделать?
Загуглить формулу расчета кривой безье.
Подставить в нее четыре элемента из path(два нужных и два соседних), потом рисовать линии между точками с подходящим шагом t.
В чем проблема?
>В чём сложность?
Первое
>Любую другую хуиту
Путь задается пользователём и это может быть всё что угодно. От прямых линий до ебнутых спиралей.
Вторая - KISS
Если адекватных идей не будет, то придется по другому визуализировать элемент и применить другую тактику. Суть линии - это время, которое означает зажатие клавиши. Альтернативный вариант - это полупрозрачный круг сужающийся до точки отжатия клавиши.
> В каждой второй вакансии Ангуляр.
Ангуляр же это в основном для оформления, а жеквери для доступа к ДОМ модели, да?
Странная фигня.
Есть два ComboBox'а.
В одном выбираю страну, в другом - город.
В первом, в ComboBoxCountry.SelectedIndexChanged Event пишу код для сброса второго.
Прикол в том, что даже если я выбираю в первом ту же страну, которая там была, второй ComboBox сбрасывается. Почему блядь? Индекс же не изменился!
EF и SQL, да.
сижу пытаюсь понять как делать поиск по заданной строке на ваших шурупах, есть строка самая обычная да мне в ней нужно поменять всего 2 элемента, но ни индексов ничего нет у них в изначальной строке
как поменять эти элементы и не обосраться?(2-3 и более символа в элементе)
вот так была задана строка и переменная с которой работал с элементами%массив array%
премного благодарен тебе анон я бы почитал книжечку да времени совсем нет, учусь практикой как говориться :)
Чтобы хипсторы не сильно смеялись
Главное чтобы потом книжечку почитал, а то будешь дефолтной макакой с stackoverflow-driven разработкой.
вася ну а хули ты хочешь? при присвоении того же значения всё равно происходит вызов метода, так как событие, на которое ты подписал этот метод - Changed, а не ChangedToDifferentValue. сделай интовую переменную, в которой запоминаешь индекс текущего элемента в 1 combobox и допиши в своём обработчике проверку, изменился ли индекс или остался тот же. если изменился - изменяешь интовую переменную и сбрасываешь второй комбобокс, если нет - ничего не делаешь.
Через String Collection Editor - прямо из дезайнера формочки.
Извини, не понял. Если индекс не изменился, зачем вызывается событие SelectedIndexChanged?
>сделай интовую переменную, в которой запоминаешь индекс текущего элемента
Её надо сделать на том же уровне, что и обработчик?
>проверку, изменился ли индекс или остался тот же
Я так понимаю, эту проверку надо внести в обработчик ComboBox1.SelectedIndexChanged ?
Я запутался.
>Извини, не понял. Если индекс не изменился, зачем вызывается событие SelectedIndexChanged
рискну предположить, что SelectedIndexChanged срабатывает на любое переприсвоение значения, в том числе и на уже установленное.
>Её надо сделать на том же уровне, что и обработчик?
я бы сделал в качестве одной из переменных в классе формы. ну типа просто между методами/конструкторами объявляешь int x; и инициализируешь в конструкторе или сразу при объявлении выбранным индексом 1 комбобокса.
>Я так понимаю, эту проверку надо внести в обработчик ComboBox1.SelectedIndexChanged ?
Я запутался.
да. в методе можешь написать чо нибудь типа ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if ((sender as ComboBox).SelectedIndex!=x)
{
x=(sender as ComboBox).SelectedIndex;
//то, что тебе нужно было сделать, типа там
comboBox2.SelectedItem=null;
}
}
Котаны, есть у меня 3 контроллера, по методу в каждом из них, что ищет посты по категории/тегу/тексту, так вот, шаблон для маршрута в стартапе замапен, и все работает, но, я хочу сделать так, чтобы 3 разных маршрута возвращали одну вьюшку, например Category/Development/1 Tag/C#/1 и Search/Hello/1 всегда вызывали одно действие в определенном контроллере, модель в вьюшку передается всегда одна и та же соот., так вот, если я закину 3 метода в один контроллер и пропишу 3 аттрибута [Route()] над одним действием, будет ли это работать?И есть ли другой способ или я просто выбрал неудачную архитектуру?
>Как получить куки с апи авторизации(рандомного)
Ебать у тебя скилл задать непонятный вопрос. Подозреваю что речь идет про внешнюю авторизацию через Facebook, Gmail и т.д.
В таком случае гугли OAuth
http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
Ты можешь вернуть из любого контроллера любую другую вьюху:
return View("../AnotherControllerName/Index", someBindingModel);
Спасибо большое, работает, однако я так понимаю я не смогу туда перекинуть информацию из ViewBag'a или ViewData'ы? Можно ли как - нибудь на вьюшке вытащить имя контроллера из маршрута? Pagination идет по имени контроллера.
А, нет, все итак работает, неактуально. Но однако если нужно вытащить информацию из маршрута, можно ли это сделать через
@{
var сontroller = ViewContext.RouteData.Values["controller"];
} ?
Какие профиты хочешь извлечь из этого? Просто я около 10 лет использую жму пинус, и лет 6 держал на десктопе(последнего времени). А он так и не готов для десктопа
вероятней всего попытка извлечь большие возможности приложения (в смысле ресурсов) при той же конфигурации сервера
я не он
да и опыта понабраться было бы неплохо (ИМХО)
Зачем тогда ставить его на десктоп? В dev режиме вообще похуй на какую-то производительность, а проблем отхватить можешь порядком(это и кривые дрова и пионерские поделки ломающиеся от релиза к релизу). Хотя ситуация сейчас конечно лучше чем лет 10 назад.
Достаточно будет виртуалки или VPS по ssh для изучения. Разрабатываешь в винде, а хостишь на линуксе.
АХАХА Получилось!
Спасибо!
Прогнал приложение, и понял, что удобнее всего видеть сразу все опции в определенной группе.
Так что нужен не ComboBox с DropDownList, а RadioButton.
Жди тупых вопросов
Еще раз спасибо
таки шо лучше использовать в качестве источника данных для DataGrid, если данные берутся из DataTable, в которые они попадают через SqlDataAdapter?
http://stackoverflow.com/questions/2890371/wpf-bindinglistcollectionview-to-listcollectionview-for-datatable-as-itemssource
Поцоны, у джетбрейнса ИДЕ для ДСЛ, давайте запилем дсл-друвен веб фреймворк. Чтобы с роутами на кончиках пальцев и акшонами в стиле тз.
по ссылке нихуя полезного нет. не сравнивают binding list collection view vs dataview, грят просто типа к контролу лучше припиздярь datatable напрямую, но мне нужна фильтрация, которую datatable не предоставляет, разве что постоянно дёргать метод dataTable.AsDataView().RowFilter="expression", но это ж постоянно придётся кастовать datatable к dataview, да ещё и, мне кажется, фильтрации не будет, т.к. фильтрация не будет распространятся через binding.
pattern matching - кастрирован
non-nullable references - не в этот раз
design by contract - нет
алгебраические типы данных - нет
higher kinded types - нет и не будет
Уже второй релиз новые возможности языка сводятся к набору примитивного сахара.
Язык и платформа .NET в целом стагнируют, что неудивительно, у MS 15 лет назад был план, что C# будет настолько хорош, что ради него все останутся/перейдут на винду, этот план провалился, так что C# сейчас просто не нужен и будет медленно умирать, а девелоперы постепенно переходить на Scala, Rust и другие современные языки.
>стагнируют
Относительно жабки, летит ракетой. Жалко только в 7 вроде не будет primary-constructors
Как ни крути, а дженерики в байткоде и value-types позволяют писать более быстрые программы чем на любом JVM языке.
Нах он нужен, когда есть UWP?
А для эстетов теперь есть ImmutableList, ImmutableSet, ImmutableDitrionary
Так в ситуациях, когда достаточно лишь бы какого-то UI и насрать на удобство, дизайн, кастомизируемость и т. д. и т. п. формы несколько лучше, потому что их проще освоить.
Плюс на формах дохуя легаси.
у .NET платформы есть оче хороший шанс взлететь с появлением Core, сладкий фреймворк как ни крути, все в одном месте, подключай что хочешь, серверную часть очень приятно писать, другое дело, WPF мертвый в некотором плане, но и кому нужны формы 2016 году? Нужны конечно, но не так сильно, как одинаковые веб-сервисы на бутстрапе с чОрными навбарами и большими зелеными кнопками.
Только кто будет на этом писать?
Ветераны дотнета кто останется на винде, кто перейдёт на никсы (что, кстати, повысит вероятность их ухода от .NET в перспективе), но, в общем, они и раньше писали, и теперь останутся.
Хипстаров ты не убедишь, что .NET - это стильно и модно. Идейных линуксоидов тем более не убедишь использовать что-то исходящее от MS.
Много ли реальных примеров перехода на Core с Джавы или допустим PHP?
Релиз только - только состоялся, будет видно через год или два, как раз на подходе второй ангуляр и новый бутстрап.
Ти таки думаешь они там у тебя по значению передаются? Если ты не байтоебишь, если у тебя есть хоть намек на рефлексию, свои бесполезные оптимизации оставь у входной двери.
http://pastebin.com/wJgw9kRs
В первом случае выведет всю коллекцию, во втором будет исключение соот., там есть разница же на уровне ILебства, так вот, есть ли смысл передавать даже ссылочные типы через ref, даст ли это какой - то прирост производительности или нет?
мимо учу шарп, пишу на js
Есть список, в формате CSV, в который можно добавлять названия планет. Или удалять
Есть формочка, которая инициализирует группу с RadioButtons. Как привязать список к количеству кнопочек?
Подскажи пожалуйста направление, или как гуглить подобное.
Думаю надо вытянуть твой список из csv в какой-нибудь list, и потом динамически наклепать кнопочек под каждый элемент.
А вообще лучше под такое дело какой-нибудь хитрый Grid с радиобаттонами внутри сделать
хз, насколько по производительности отличается реф/аут для ссылочного типа от обычной передачи ссылки. сдается мне, это - погоня за пикосекундами
Вопрос нахуя, если можно сделать контрол темплейт?
А грид вообще есть?
конкретно моя ситуация, есть библиотека с юзер контролом, в котором датагрид и ещё кое какие плюшки. дак вот, можно ли как то создавать столбцы датагрида из приложения, а не только внутри библиотеки? хотелось бы что то типа
...
<library:DataGridUC>
<library:DataGridUC.dataGrid.Columns>
<DataGridTextColumn ... />
</library:DataGridUC.dataGrid.Columns>
</library:DataGridUC>
на данный момент пробовал в классе юзерконтрола делать DependencyProperty для DataGrid'a, но это ничого не дало. класс DataGridColumnCollection запихнуть в dependencyproperty не могу, т.к. не нашёл такого класса, в общм то.
прямо повлиять на дочерние элементы контроле одно, предоставив на него публичную ссылку, лол. ну а вообще только, используя промежуточное апи, влиять на поведение внутренностей
про класс можешь адекватно объяснить, что тебе с ним пришло в голову делать, да так, что его и в природе не оказалось?
одно = можно
>Думаю надо вытянуть твой список из csv в какой-нибудь list, и потом динамически наклепать кнопочек под каждый элемент.
Да, именно так я и делал, проблема в том, что радиобаттоны должны быть в том же порядке, что и элементы в списке. Foreach тут не подходит.
>А вообще лучше под такое дело какой-нибудь хитрый Grid с радиобаттонами внутри сделать
Неа, не могу - нет датабазы установленной. А самое главное - надо легко и просто добавлять и убирать записи, в CSV это проще.
Так есть же UnityScript.
да нечего уже объяснять, по другому пути пошёл. хотел запихать датагрид в отдельный юзерконтрол, т.к. в контрол темплейте был текстбокс, обработчик TextChanged которого планировал разместить в классе юзерконтрола. и тут встал вопрос: а как добавлять то столбцы в датагрид из самого приложения? хуй как. решил перенести стили и шаблоны для датагрида в ResourceDictionary. и тут сука новая проблема:
почему стили из ResourceDictionary (размещён в App.xaml в теге <Application.Resources> с x:key и Source="DGS.xaml") не видятся статичными ресурсами, когда использую {StaticResource myStyleName}"? пишет %stylename% couldn't be resolved. что за хуйня с этими словарями ресурсов?
и ещё, в этом ебучем словаре в стиле, внутри шаблона есть текстбокс, событие textchanged нужно обработать. я пока нашел 2 варианта: использовать Binding на событие типа {Binding Path=TextEventHandler}", ну и обработчик запиздрячить во view model'е, который будет datacontext'ом окна. ИЛИ (долго объяснять зачем мне нужно искать родителя, но нужно) создать класс, связанный со словарём ресурсов, в текстбоксе указать простой обработчик типа TextChanged=simpleHandler
и в simpleHanlder'e через VisualTreeHelper находить datagrid, к которому присобачен с помощью dependencyproperty viewmodel, и уже с viewmodel'ом делать кое какие действия.
"~.Find(x => x.~));"
Конкретно как компилятором воспринимается x => x.
х равно или больше х или как? Если допустим ищем совпадение свойства объекта, то почему "=>" а не "==" ?
Прочти, что такое лямбда-функции.
Ты передаёшь методу Find функцию как аргумент, и прямо в скобках эту функцию описываешь. Слева её аргументы, справа тело функции. В данном случае функция должна принимать на вход элемент массива и возвращать true/false.
Например, чтобы найти людей с зарплатой больше 10000:
Persons.Find(p => p.Salary >= 10000);
В данном случае это функция (читни про лямбды).
x - аргумент фукнции. То, что после => - это ее тело.
Да, для того чтоб у пользователя работал твой сертификат он должен установить себе его вручную (хуевый вариант) или сертификат должен быть куплен и размещен в центрах сертификации.
У них есть определенная иерархия и браузер запрашивает у этих центров инфу о твоем сертификате, если они подтверждают что все ок то видно зеленый значек в адресной строке https и все данные между браузером и сервером защищены SSL/TLS.
В c# пользовался либой X509Certificate2, под другие типы тоже что-то должно быть.
Никогда бы не подумал, что создание обычных десктопных приложений может обернуться такой хуетой. Если с https такое еще понятно, ведь тут пользователю необходимо быть уверенным, что его данные не сливаются кому не надо, то в моем случае я вообще нихуя не понимаю. Я с таким же успехом могу создавать вишмастеры, затем просто купив сертификат, избавлюсь от предупреждений, и мои программы станут доверенными. А создатели троянов и вишмастеров так и делают?
>X509Certificate2
Все либы бесполезны, любое выполнение кода требует сначала запуска программы, а оно прерывается предупреждением.
>А создатели троянов и вишмастеров так и делают?
Не знаю как сейчас, а раньше они покупали серт, подписывали что надо, и возвращали деньги за серт назад (отзывали типо). При этом софт еще оставался некоторое время легальным с таким сертификатом.
И нихуя не работает. Smartscreen через интернет проверяет наличие сертификата в базе. Если не находит, выдает предупреждение.
смотря, откуда вкатиться. если ты не знаешь, что такое массив, цикл, условие, то почитай паскаль я серьёзно
если ты в курсе про любую из используемых парадигм программирования или хотя бы представляешь в голове, как это можно использовать, то велкам
Вкатился не так уж прямо с улицы.
>если ты не знаешь, что такое массив, цикл, условие
Знаю.
>парадигм программирования или хотя бы представляешь в голове
Понимаю принципы ООП, писать их пока не умею. Начал проходить курсы на Microsoft Virtual Academy по C#, там добрый дядька из Америки мне расскажет как эти принципы реализовать на си сярпе.
Правда же что C# легче, чем C++?
Тут даже ещё скорее вопрос, как сделать блокировку по времени, т.е. прикрутить новое поле к LockoutEnds
Большинство языков работает на схожих принципах, разница в нюансах.
Так что правильнее будет спрашивать: Правда же что C# легче, для "чего-то" чем C++?.
Я вот переполз c джавы на шарп, после того, как осознал какой адовый пердолинг в первой с GUI.
>Правда же что C# легче, для "чего-то" чем C++?.
Он всё правильно спросил - шарп легче вообще во всём.
>>819249
>>819256
У меня задача простая. Написать софт для личного пользования. Хочу под UWP. А конкретно для смартфона. У меня W10M. Хочу написать простой плеер, который сможет ходить по папкам и воспроизводить треки.
Казалось бы, проще нечего нет, а я все равно не могу это сделать. Что бы такое сделать мне кажется придется весь язык выучить.
Конкретно для низкоуровенного программирования (в самом прямом понимании как драйвера, ос) плюсы – ебаный кромешный ад, даже хз. Если просто поскладывать указатели и поработать без рантайма – да, легче.
>>819259
>чтобы написать что-то на языке его сначала нужно узнать
Хуя внезапно.
В принципе – там старый стандарт который намного проще и готовый фреймворк должен быть, ничего сложного нет.
>готовый фреймворк
Да ты знаешь, я аж охуел сколько работы за меня Майкрософт проделали. Я смог получить список файлов в папке даже не зная языка. Осталось только проблема в том, что я не знаю как ими управлять.
если я тебя правильно понял: расширить ApplicationUser, расширить UserManager добавив в него соответствующий метод (либо переопределив один из доступных)
Сначала напиши HelloWorld на ООП, потом измени так, что бы ты сам мог вводить необходимый текст.
Потом создай форму с полями и завяжи на неё это все. Вот тебе будет готовое решение для полей инпута, и небольшое понимание "как это говно работает".
А вообще понятие "весь язык выучить" это такое...
Тебе достаточно железно знать базу: массивы(+коллекции), переменные и их типы, циклы, условия, и понимание как работает ООП, что такое классы/свойства/методы/объекты. Все остальные нюансы под твои нужды спокойно гуглятся + есть очень много оф документации https://msdn.microsoft.com/
Спасибо за гайд по обучению анончик. Схоронил.
Без базы выйдет хуево.
Есть метод, который принимает два вещественных числа и возвращает их разность. Так вот, у полученного числа мне надо выделить целую часть и дробную.
Пытался сделать через приведение и конверт, но наткнулся на проблему:
http://pastebin.com/jxcFh2mV
Как мне решить проблему?
В первом случае через (int)d не работает, он округляет до 87. Convert.ToInt32(d) работает.
Во втором случае работает через (int)d, но не работает через Convert.ToInt32(d), округляется до 103.
В этом и проблема... округление.
Нужен вариант, который будет работать для обоих случаев.
Ставлю атрибутом к методу ссылку, захожу по ней, а эта ебола скидует 404 0_о ?
Охуительная история.
всё немного сложнее. я не могу привязать какое то свойство во view model по определённым причинам, так что вариант привязки свойства текста ко viewmodel'a, а в setter'e что то делать - не прокатит.
сейчас вот смотрю namespace xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions", там есть занятный тег
<ei:CallMethodAction MethodName="FilterTextHandler" TargetObject="{Binding }" />. вот только при его использовании выскакивает исключение с ошибкой, типа объект типа стринг не соответствует сигнатуре привязанного метода.
К какому методу - то? Метод внутри какого контроллера? Какая вьюшка возвращается/на какую редиректится, она вообще есть? Или речь идет вообще про RouteMap внутри стартапа?
>Делай ToString @ парсь строку в Int
Массивно получается как-то.
>>819418
>Ты бы руками то округлял как тебе надо
Руками это как? Мне не нужно округлять. Мне надо выделить целую часть.
>>819450
>Math.Truncate
Не работает, в первом случае округляет до 87.
>используй decimal
Он вроде очень медленный.
Беспокоюсь о скорости выполнения, нужно будет из файла обрабатывать около 2000 выражений.
Какой из этих вариант будет побыстрее?
http://pastebin.com/eBM4suan
> Не работает
Это ты не работаешь, а метод работает, просто у тебя число там 87.999, ты же сам видел. Вот поэтому надо использовать decimal.
>около 2000 выражений
>Беспокоюсь
Может ты просто попробуешь, и нам расскажешь?
Информативно. Если маршрут прописан в [HttpGet("твой маршрут")] то оставь просто [HttpGet] и внизу добавь аттрибут [Route("твой маршрут")], посмотри что будет, проверь ещё раз путь к вьюшке, если у тебя контроллер YobaController и внутри метод YobaView, то и путь должен быть Yoba/YobaView соответственно
Спасибо, попробую.
>Объясни.
текстбоксы находятся в заголовках текстовых столбцов датагрида (всё находится в стиле), в зависимости от количества и типа столбцов, их может быть 1, 2 или много. плюс, помимо текста текстбокса, представляет интерес тег текстбокса, ибо в нём хранится название столбца, необходимое для фильтрации. все стили находятся в словаре ресурсов (не хочу пока что выносить стили в ресурсы окна, и не хочу пока что прикручивать обработчик события к view)
>Ну тут без кода то уже все.
пикрелейтед
меня терзает жуткое сомнение, что хуй мне там можно указывать {Binding} как указатель на viewmodel из словаря ресурсов.
1) netstandard
2) PCL
3) UWP
4) NETStandard.Library & Microsoft.NETCore.App которые в nugete
в рот его ебать, прав я был - в случае resourcedictionary {binding} так просто нехуй указывать, нужно конкретизировать, например, можно указать relativesource, и тип window, ну и в классе окна присобаччить обработчик, и действия перенаправить во viewmodel. да, получается, в класс окна логика (класс окна это кстати model или view?) вынесена, да ещё и через рефлексию(?) relativesource'a, но хоть как то, ептыбля
Уебывай ты, птушник и по пути изучи машинную арифметику чтобы понять почему пекарня такое выдает.
Кто впустил эту пхп-макаку в наш элитный тред? Съебался нахуй отсюда, говень.
будет быстрее вариант с var, linq'ом и интерполяцией строк, дейкстра ты комнатный)
сделал для тебя твою лабораторную на лето
>Подразумевая, что это не будет работать с Split(new[] {',' , '.'}); или если не будет мантиссы у действительного числа
Ну ты чего такой, в самом деле?
дунно, но вглядит круто
Лови вариант с ExtentionMethods, добавляет к даблу методы IntPart, FractPart - http://pastebin.com/VJUFCqp2
Тест этой шняги - http://pastebin.com/HWTMmztA
вот это ты охуеть придумал с LastIndexOf (вообще, почему Last? ты ожидаешь строку в стиле 0,12,34?)
и главное - если к тебе пожалует экспоненциальный вариант отображения числа?
Алгоритм не претендует на охуенность, просто захотел вспомнить синтаксис ExtentionMethods.
>если к тебе пожалует экспоненциальный вариант отображения числа
Каким хуем он туда попадет, поясни
Грустный духом везде найдёт причину для уныния. Тем более, если ты а. знаешь только 1 ЯП || б. думаешь что зарплата зависит от ЯП а не от проекта - то грусти дальше, пока не развеешь заблуждения.
Очень странно оперировать в терминах говнокода, прикрепляя картинку для завлечения студентов первокурсников и школьников, зарплата зависит как уже ниже написали от проекта и области в которой ты работаешь. В .NET, например, одно из самых адекватных коммьюнити.
>>819938
Судя по доу, средняя зарплата существенно меньше, чем по той же джаве. Там сидят боты, которые вбрасывают низкие рейты или я что-то не понимаю?
>>819888
Интересные варианты, спасибо.
Совсем забыл про Substring.
.ToList() лучше чем каст к decimal?
>return (int)Math.Truncate(value);
Не правильно выделяет целую часть.
Остановился на таком варианте, без массивов и листов:
http://pastebin.com/mTYLRv9G
>каким хуем
https://dotnetfiddle.net/Csn3e5
>>819941
ты какие города смотрел? из того, что видел я, последние два обновления - практически наравне, либо на писечку выше жабы
Я понимаю что они не относятся, я просто сказал что уже знаю. Чего злой такой?
Потому что заебали вы, мудаки, вкатываться в моей айти. Ваше дерьмо, что вы пишете, даже толковые джуны потом чистить не хотят. Уууу мудни.
Но я ещё ничего не написал, как- же презумпция невиновности? Помоги лучше советом.
Выучить Scala. Или Haskell.
Вот ссылка на него, чтобы понятно было https://github.com/anderj017/pinnaclewrapper
Ладно, кажется сам разобрался.
for (byte i = 2; i >= 0; i--)
{
Console.WriteLine(i);
}
Не понял. Условие >= 0, при достижении 0 цикл должен прерваться. Что я не понимаю?
Ну чё ты несёшь!? Остановка при достижения 0 записывается "==".
Пока i больше либо равен 0 цикл продолжается.
Во вьюмодели нельзя. Или в форме или тебе нужны Behavior.
ну 10% это не разница в 1к, тому и писечка
>>820132
собрались два дауна, один объяснить не может, второй - написать
цикл for состоит из: стартового выражения, условия, пока все это дерьмо будет продолжаться, и изменения условия в начале следующего шага. тебе надо, чтобы при достижении нуля цикл прерывался, т.е. работал, пока значение і больше нуля
Мне надо, чтобы i дошло до нуля И на том шаге, в котором оно примет значение 0, выполнило кое-что задачка на реверс массива. Если условие больше нуля, то первый элемент массива не обрабатывается.
Я могу, конечно, добавить принудительный выход, так же, как понимаю, почему i переходит в максимальное значение, почему и написал что с sbyte нет проблемы. Мне не понятно, почему цикл не прерывается, ведь после того, как i станет равно 0, цикл больше не должен повториться, хотя и применяется -1, превращая его в 255.
Если да, то подскажите пожалуйста. Вот я получил доступ к Музыкальной библиотеке. Получил список папок.
Как сделать что бы при нажатии на папку я переходил в нее?
Там в коде на каждую папку делается кнопка и в ее имя помещается имя папки. На саму кнопку можно повесить ивент. Но я просто не знаю какой.
короче, ричи, лень читать предыдущее обсуждение, но вот что я скажу: по завершении 1 цикла (условие i>0), в конце у тебя итератор равен нулю, просто ты этого не видишь, так как вывод информации о величине итератора находится в цикле, а в цикл у тебя программа уже не зайдёт. все свои действия можешь выполнять после цикла.
>А с for'ом что?
Условие цикла всегда верно и потому цикл не прекращается, что тут блеадь не ясно ?
Как мне кажется (при условии, что итератор >= 0):
- на 1-ом шаге И = 3, условие удовлетворено
- на 2-ом И = 3 - 1 = 2, -"-
- на 3-ем И = 2 - 1 = 1, -"-
- на 4-ом И = 1 - 1 = 0, условие >= 0 выполнилось, следующего шага быть не должно.
Очевидно, что я неправильно понимаю, хотя для signed типов именно так и работает. В чём я не прав?
Неясно почему он после достижения нуля не прекратился.
Типа, когда i = 0, условие верно, поэтому-ка ёбну ему -1, превращая в 255, и ещё раз проверю?
в операторе for вторым "параметром" является булевая переменная. ты можешь с тем же успехом писать
for (byte i = 3;i!=0;i--)
если у тебя условие i>=0, то когда итератор i==0, то второй параметр цикла равен true, следовательно, программа ещё раз заходит в цикл, следовательно, по выходу из блока цикла итератор снова уменьшается. попробуй проверь:
byte i=3;
for (;i>0;i--)
Console.WriteLine(i);
//и вотэтовот по выходу из цикла
Console.WriteLine(i);
Как же грустно, когда ты один на весь мир со своей проблемой и никто не может тебе помочь.
Бротишк, какова вероятность что кто-то в 2016 пишет под десктоп и использует именно твою хитровыебанную либу ?
Лучше всего тебе поможет документация по ней и еще погугли XY problem.
почему ты называешь бенчмарком то, что юзает linq, generics, упаковку (с вероятными запусками сборщика)?
обычный тест производительности, чому нет - то?
Вот я если честно, не понял из описания проблемы.
Можешь подробнее пояснить что тебе нужно сделать?
Но это же не десктоп. Это UWP - под все девайсы майкрософт. Документацию всю перолопатил, гугл бессилен. Но я точно знаю что это возможно. В Магазине под мобилки есть дюжина таких вот файловых-менеджеров.
Я думал это современная вещь.
>>820315
Ну вот я получил список папок. Пикрелейтед. Но это для дефолтной папки "Музыка" в Windows. Как мне отобразить папки в любой папке? Я хочу сделать некое подобие файлового-менеджера. Что бы при клике на папку, срабатывал ивент и программа отображала уже новый список подпапок той папки что я кликнул. Надеюсь нормально объяснил.
Пользователь дает доступ приложению на чтение и запись тем же Folder Picker'ом из карты памяти (например) и все, можно спокойно ходить по всем папкам карты и памяти без необходимости давать доступ на каждую папку. Вот скажите как это реализовано?
>>820327
>>820332
Я вот не понял, ты гуй не можешь осилить?
Или просто не знаешь как достать все подпапки?
Если второе - http://pastebin.com/RCd0EVXt
Если первое - смотри датабиндинг
Вставил твой код себе, куча ошибок. Ну йоообана.
А датабиндинг это ж ийзи. Я не могу даже получить список подпапок, не то что их забиндить куда-то... Просмотрел 20 уроков по си шарпу, это мне нехуя не помогло.
ай, я просто залил на шару
https://ufile.io/841d2
если непонятно спрашивай.
Байндинг тоже хуита. Просто на неё нужно чуть больше времени. а у меня его не очень много
да и блин, я ж тебе не полностью решение скинул. Это ж не бездумно скопал / вставил.
Там ещё посмотреть что куда.
Может потому что ты переменную currentFolder вынес за пределы скоупа? вот только нахуя?
чувааааааак
Ты делаешь мне больно. Ну серьёзно
static StorageFolder currentFolder = KnownFolders.PicturesLibrary;
Но у нас на работе джуны будут посмекалистей. Рили.
.NET Core, ASP.NET Core, Xamarin
и ещё вопрос, что скажете насчёт entity framework, стоит ли его изучать вместо казалось бы устаревшего ado.net, или EF сугубо специализированная фича и не заменит ado.net во всех ситуациях?
Я уже перелопатил весь гугл, переустановил студию, добавил/удалил IIS в компонентах системы
имитировать чтобы что? начиная, если не ошибаюсь, с ef5, он прекрасно транслирует enum в int/long (code first, разумеется). или вопрос касается синхронизации значений?
да, стоит изучать. хотя бы потому, что серьезный фреймворк
Стоит изучать. Часто используется в проектах.
>EF сугубо специализированная фича и не заменит ado.net во всех ситуациях
Да в общем-то почти везде уже заменил.
А в каком месте устарел ado.net? Это же низкоуровневый интерфейс, на котором базируются разные орм и нф в том числе.
товарищ, наверняка, имел ввиду, что использование ADO в качестве механизма SELECT JOIN WHERE/UPDATE/DELETE устарело
использование хинтов, больших мегазапросов и прочей еболы, хотя в принципе, все-равно идет через Dapper-ы всякие или NHibernate
Но я индус
кто-то в чем-то шарит. что интересует?
lines[lines.Length - 1] = String.Empty;
File.WriteAllLines(fullpath, lines);
суп анончики, немогу понять, после использования данного сабжа у меня затирается ласт строкахотя мне ее нужно удалить а не затереть, но не в этом суть и добавляется новая пустая строка как на пикче
В чем проблема анон?
Потому что вот тут
lines[lines.Length - 1] = String.Empty;
ты заменяешь последнюю строку на пустую, а не удаляешь. Думаешь это то же самое?
EMPTY LINES MATTER, ГРЁБАНЫЙ ТЫ РАСИСТ!
Окей, продолжаю ебаться с планетками.
Program.cs вызывает статический метод mtd_InsertData в статическом классе cls_Data:
http://pastebin.com/zu6KHwQz
Planets.cs:
http://pastebin.com/sPhwczwq
Собственно, cls_Data напихал static везде уже:
http://pastebin.com/GRev8t3s
И все равно:
'FinalAssm.cls_Data.mtd_InsertData()' is inaccessible due to its protection level (CS0122)
неявно указанные модификаторы видимости превращаются: для классов в internal, для их членов - в private
задай явно internal или public и все будет оке
Хорошо, а чуть подробнее?
как я с sql загружу сразу в ObservableCollection? + в некоторых случаях при одном запросе я загружаю сразу несколько таблиц, как я их запихаю в разные ObservableCollection'ы?
>почему просто не использовать обычные потоки?
Нет никакого потока -> https://habrahabr.ru/post/216659/
Горь
> последние 8 гигов пямяти.
Может в этом и был проблема?
Несколько раз ставил на разные macOS девайсы, никогда проблема не было.
бротишки, что там с фрилансом на сисяпе?
прочитал пару книг, уже хочетца деньги начать зарабатывать, подскажите кто фрилансит на нем
А, понял, что означает "кто фрилансит", видимо, имелось в виду обращение к тем, кто фрилансит. Ясно.
А что конкретно сказать? Задания самые разные. В основном ASP.NET. Реже Unity. Десктопные приложения, может, и умирают, но заказы - не редкость, причём чаще всего WinForms. Да и мобильные приложения бывают. В общем, примерно всё то же, что и при поиске "обычной" работы.
Это на Апворке. Как на российском рынке - не знаю.
С чего начать? Весь софт есть (Unity, Visual Studio). Есть ли какие-то более менее годные видеокурсы не умею читать для ньюфагов? Решил начать с The C# Player's Guide. Обоссыте, пожалуйста, мой выбор.
Из знаний ЯП только ссаный паскаль.
Бля, забыл дописать.
Чекал курсы от geekbrains спиздил с торрентов. Не понравилась нихуя подача.
Я так понимаю, вкатываться нужно с книг по-любому?
хз, я бы начал с лабораторных по нарастающей сложности из различных вузов, чтобы, так сказать, прочувствовать язык, не углубляясь в какую то конкретную технологию. ну чтобы там узнать про использование ООП в шарпе, реализацию различных принципов ООП, подёргать многопоточность и асинхронность. потом посмотрел бы, какая технология сейчас востребована и начал дрочить бы её. вообще, завидую тебе, жаль я в свои 15 только в игори играл и даже винду не мог переустановить.
Да я вот думаю, как бы не проебать сейчас кучу свободного времени.
Ну пока мне бы с основ начать. Пойду, короче, книги дрочить.
Спасибо за совет с лабораторными
хз, я в юнити не делал ничего такого, что, в теории, стоит вычислять многопоточно. и вообще, если твой вектор - юнити, то тебе лучше спрашивать в /gd, что нужно от шарпа в юнити
Я уже догадываюсь. C# Players Guide как-то не очень хорошо обкатал эту тему. Я не совсем понял концепт "Shared".
Можно пожалуйста вкратце?
Статический класс - это класс, который не может иметь экземпляров и все методы в нём должны быть статическими. По сути не класс, а модуль, сгруппированный набор переменных и функций.
Суть в том, чтоы ты должен восстановить для себя сахарчик и потом свои костыли заменить на евейты, тогда поймешь. А ещё есть хорошая книжка по c#6 там ооче много про потоки и использование нового говна. Как просечёшь нахуя нужен пул, зачем фабрика задач, какие бывают виды потоков - тогда всё станет на свои места.
Тут https://stackoverflow.com/questions/371328/why-is-it-important-to-override-gethashcode-when-equals-method-is-overridden
поясняется зачем реализовывать(в случае если твой класс используется в структурах на основе хэшмапа, это значит во всех остальных случаях можно на него забить?) и как реализовывать свой GetHashcode
Но не сказали чем плох вариант просто вызывать base.GetHashCode(), т.е. GetHashCode класса Object.
Карочи, пили ASCII-игру в консоли, чтобы кораблик летал и стрелял по другим штучкам - научишься отлаживать программы, познакомишься с классами, потоками, модульной архитектурой и заодно бахнешь нечто хипстерское. Юнити для прогеров, которые уже знаю всё вышеперечисленное, там проект большой и распределённый и много 3д спицифики, тебя просто завалит эта куча инфы. Научись на малом, если скучно не будет байтики и символы крутить, значит сможешь кодить и создавать то, что у тебя в голове.
Сейчас пробовал на линупсе кодить для сисярпа. Всё-таки после студии с решарпером на других средах чувствуешь дикий дискомфорт, хотя, возможно, надо просто привыкнуть. Попробовал MonoDevelop, Rider, Atom и Vim. Visual Studio Code у меня не получилось нормально завести - .NET CLI tools не хочет у меня под арчем собираться, какую-то хуйню во время компиляции сорцов пишет (минут двадцать забивает /tmp, а потом говорит "А ПАМЯТИ ТО У ТЕБЯ НЕТУ НИХУЯ"). Ебал я этот блядский линукс.
Если честно, мне интерфейс семёрки просто более превычен, хотя уже почти год работаю на десятке.
1. Есть ли книги где объясняется не столько синтаксис Сишарпа, сколько именно программирование? С задачами после главы и т.п.
2. VSCODE подходит или надо именно Xamarin ставить (я с мака)?
Попробуй полистай учебники по информатике класса с 8го. Там, где паскаль начинается. Это если тебе нужно прямо теорию с нуля, алгоритмы и т.д.
За C# не расскажу, но принципы то везде схожие
Ну ведь всё равно придётся переходить на W10 без вариантов. Не сейчас, так через год. Или 2. Или 5 лет.
А по поводу Линакса - личне мне MonoDevelop показался сносной IDE. Rider не пробовал, но, думаю, он просто ещё слишком сырой, а вот как допилят...
хуй знает, если с нуля учишь, то у тебя, по идее, нет каких то конкретных вопросов, тебе нужно просто пособие для нулевых, где тебя будут именно учить писать на шарпе с нуля. ни на русском, ни на английском я таких книг не встречал, но встречал сайты: metanit.com (информация актуальнее, но чуть меньше разжёвана), professorweb.ru. потом, когда более-менее освоишься, и начнут появляться конкретные вопросы - можешь их либо гуглить (внезапно, на большинство твоих вопросов уже есть ответ), либо искать какие-нибудь книги, но с книгами я уже ничего не подскажу кроме тех, что в шапке, но все те, что я брал оттуда, были на английском, такшовот
Спасибо за ответ. Ну про нулевость я загнул слегка, не прям 0, знаю про литералы/классы/циклы etc. Думаю что пойду на сайтики, которые ты дал.
использую библиотеку NLua
возникла проблема с кириллицей. из файлов луа строковые переменные на русском читаются крокозяброй. я пробовал сохранять скрипт в разных кодировках. все хуйня. помогайте!
Кодирую на втором, Шарп всегда нравился, какие у меня есть варианты вкатывания?
Может кто перекатывался на работу с динамических на С# или без смены места часть сервисов переводил на него. Такой опыт интересует.
У меня на работе всякая сетевая асинхронщина, С# используют для таких задач? Знаю, что async/await как раз оттуда в Python взяли, но какова реальность, за рамки winforms, asp.net, unity применение выходит? Конкретно интересует сетевое программирование.
В общем-то С# я всё равно стану изучать, хотелось бы перспективы смены работы примерно знать.
> за рамки winforms, asp.net, unity применение выходит?
формы - это франкенштейн уже, не знаю, реально ли найти стабильную работу для него. в основном WPF уж
из всего, что ты перечислил, не хватает WCF - и 99% всех задач на рынке ты имеешь
на предыдущем месте работы мы использовали C#-приложения для контроля состояния промышленных объектов, используя как раз сетевые запросы, включая специфичный интерфейс. ну, использовали мы его по большей части потому, что другого знали мало. а так-то почему нет, если есть возможность
>спрошу тут. пытаюсь в lua
>использую библиотеку NLua
>возникла проблема с кириллицей. из файлов луа строковые переменные на русском читаются крокозяброй. я пробовал сохранять скрипт в разных кодировках. все хуйня. помогайте!
я сделал полный перебор всех кодировок. в цикле писал файл скрипта с нужной кодировкой, потом читал его. ни одна из хуевой тысячи кодировок не дала нормального результата.
помогойте скорее!
аноны! ну еб вашу маму! помогайте! я не знаю, что делать
Алсо нубовопрос, у вас можно писать Console.WriteLine($"Some text {varName} other text"); Но в туторах приводят примеры по другому Console.WriteLine("Some text {0}, other text", varName); это потому что первый вариант чем-то хуже? Мне просто он кажется удобнее и читабельней.
Это как удобнее, интерполяцию не так давно запилили, вроде.
>Есть ресурс или пак задачек разной сложности (начиная с нулевой, желательно).
codewars.com
https://www.codehunt.com/
Спасибо, большое!
насчёт спецсимвола с как доллар - завезли синтаксический сахар в c# 6.0 в прошлом году. доступен начиная с VS2015 и аналогов
Я потратил больше времени на набирание текста тут чем на поиск решения
https://damienbod.com/2015/12/05/asp-net-5-mvc-6-file-upload-with-ms-sql-server-filetable/
Братишка, ты даже зеленый маркер потерял, ты понимаешь, что в этот треде только ты и я? Решение, что ты скинул я видел прежде, и оно очень похоже на хуяк-хуяк, форма на ангуляре написана, поэтому мне надо отправить пост - запрос в котором будет вся форма, для картинки думаю поставить просто dynamic и ничего не придумывать, другое дело, я думаю кодировать это все в base64 и отправлять на сервер в виде строки, так даже проще будет наверное.
Зачем тебе гуй, сейчас везде веб
Проблема:
есть паблик класс MessageViewModel, в нём 3 публичных поля.
создаю экземпляр класса
MessageViewModel newMessage = new MessageViewModel {IsOpponent = isOpponent, Text = text, Name = name};
На брикпоинте сразу после создания экземпляра смотрю содержимое newMessage через отладчик Visual Studio, на что отладчик мне говорит, что ни одного публичного поля нет.
UPD: если играет роль, то всё это делается под Xamarin, newMessage создаётся в *.xaml.cs, и он тоже паблик.
Два дня ебся с этим говном, задал тут вопрос, через 20 минут разобрался.
Меня спас атрибут Preserve(AllMembers = true)
Аноны, кто может популярно объяснить что за магический атрибут?
>ты понимаешь, что в этот треде только ты и я?
ну вообще, тут еще есть я. но вы почему-то игнорите мою проблему.
> Prevents the MonoTouch linker from linking the target
бже, как же хорошо, что я на этом говне не пишу-то, а
ну тут, очевидно, надо копать в сторону, почему линковщик имеет такое поведение, какое имеет
Есть один мак на виртуалке и пол шишки зимарина. Короче, мак к студии на винде не коннектится, а на виртуалке мака не могу запустить приложение без девелопер айди. Что можно сделать, блеять?
Буду теребонькать мертвую тушку виновсфона
Продолжаю ебаться с планетками.
Итак, Я СМОГ подгружать радиобаттоны из файла!
http://pastebin.com/acn4Ttha
Теперь следующая проблема: как узнать какая из кнопочек в групбоксе выбрана? Я в событиях групбокса искал, не нашел.
вешаешь на все радиобаттоны группы общее событие CheckedChanged, а внутри обработчика фильтруешь. по свойству Tag или еще как-нибудь
System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object for interactive control.; Action='Pause'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='8385727'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Media.Animation.Storyboard'; TargetElement.HashCode='8385727'; TargetElement.Type='System.Windows.Media.Animation.Storyboard'
Код: http://rgho.st/7wJcDstPv
С решением давайте реквизиты или фейкомыльцо.
Через context.Entry(registration).Property(prop => prop.Name).IsModified = false; делать тоже не особо хочется, может есть проверка на null'ы перед апдейтом контекста? Если поле null, оно будет проигнорированно
>вешаешь на все радиобаттоны группы общее событие СheckedChanged
А разве можно повесить СheckedChanged на группу? Я не нашел такого события в группе, только на радиобаттоне.
Дай пожалуйста пример.
да не ебем мы что с твоим луа делать, сорян
>мак к студии на винде не коннектится
тут наоборот должно быть.
А что тебе ваще надо?
Могу пояснить
var checkedButton = container.Controls.OfType<RadioButton>()
.FirstOrDefault(r => r.Checked);
Вы видите копию треда, сохраненную 14 сентября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.