М.Двач / Программирование

Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 ноября 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

5 Кб, 375x375

.NET THREAD #2 (C#/F#/VB) 18 Сен, 00:27 #843711 В конец треда | Веб

Тред единственной элитной платформы в мире программирования.

Шапка: https://github.com/CSharpShapka/SharpHat/wiki

(пока просто перенесена шапка из ОП-поста, в ближайшее время приведу к более-менее адекватному виду, не стесняйтесь слать свои пулл-реквесты)

Прошлый тред тонет здесь: http://2ch.hk/pr/res/824683.html (М)

Ответы>>843733>>844106>>847732>>848122

18 Сен, 00:34 #2 #843719

Как указать размер у незубчатого массива? У зубчатого так -
>int[,] te = new int[4,8]
А у незубчатого как? Эти варианты не работают:
>int[][] te = new int[4][8]
>int[][] te = new int[4,8]

Ответы>>843725

25 Кб, 604x305

18 Сен, 00:49 #3 #843725

>>843719
multidimensional array:
>int[,] array = new int[4, 2]

jagged array:
>int[][] array = new int[2][]
>array[0] = new int[3];
>array[1] = new int[4];

Ответы>>843732

18 Сен, 00:56 #4 #843732

>>843725
Понял, спасибо!

568 Кб, 2048x1152

4 Кб, 1366x768

18 Сен, 00:57 #5 #843733

>>843711 (OP)
Какой маленький оп пик, я понимаю что у вас нет комплексов, но все же

5 Кб, 457x124

18 Сен, 03:13 #6 #843749

Почему у меня в цикле выводятся лишь первые 218 элементов массива, если должно выводиться около 10000?

Ответы>>843767>>843792>>843844

18 Сен, 05:02 #7 #843767

>>843749
i <= array[array.Length - 1]
нужно
i < array.Length

Ответы>>843792>>843842

18 Сен, 07:22 #8 #843792

>>843767
Это слишком просто

>>843749
Нюфажик, раскажи как ты вообще понимаешь смысл написанного тобой условия?

Ответы>>843842

18 Сен, 11:41 #9 #843842

>>843792
>>843767
Я не думал, что мог обосраться с элементарным циклом. Писать код в 3 ночи было ошибкой, всем спасибо.

18 Сен, 11:47 #10 #843844

>>843749
Так, он все равно мне в консоли выводит лишь с 9759 и до последнего элемента массива.
for (int i = 0; i <= array.Length-1; i++)
{
Console.WriteLine(i + ":\t" + array);
}

Ответы>>844008>>844587>>848245

493 Кб, 1920x1080

18 Сен, 12:23 #11 #843850

>>843557
Анон, а как ты разбираешься с большими неизвестными солюшенами?

С отдельными мелкими классами проблем нет, но я не понимаю как разобраться с большой кодовой базой в целом.
Разобраться в целом = знать какие классы есть в проекте, какие у них интерфейсы, как классы связаны между собой. Глубокое знание реализации пока не интересует.

Пробовал Code Map, легче не стало. :(

Ответы>>843971

92 Кб, 944x720

18 Сен, 16:15 #12 #843970

Есть большой файл. Хочу считывать его строки в пределах указанных байтовых границ.

FileStream inputStream = new FileStream(«azaza.txt», FileMode.Open);
StreamReader inputReader = new StreamReader(inputStream);
inputStream.Position = 9000;
inputStream.SetLength(900000);
string text = inputReader.Readline();

Вроде всё должно работать. Но эта команда inputStream.SetLength(900000); обрезает файл.
Есть ли простое решение? Или придётся писать свой ReadLine с побайтовым считыванием строк?

Ответы>>844025

18 Сен, 16:15 #13 #843971

>>843850
Зачем тебе полностью видеть всю картину? Чтобы добавить функционал или что-то поправить не нужно знать как работает все приложение.
Просто беру и разматываю ты часть, которая мне нужна.

Ответы>>844041

18 Сен, 16:58 #14 #844008

>>843844
Выводится на самом деле, просто консолька не хранит весь вывод, только последнее

18 Сен, 17:37 #15 #844025

>>843970
https://msdn.microsoft.com/en-us/library/9kstw824(v=vs.110).aspx

34 Кб, 400x524

18 Сен, 17:57 #16 #844041

>>843971
Я и не говорил что мне нужно.
>знать как работает все приложение.

Я просто хочу получить представление о кодовой базе продукта. Из каких классов он состоит и как они между собой связаны(т.е. глубже интерфейса изучать классы не требуется).

Ответы>>844043

18 Сен, 18:03 #17 #844043

>>844041
Никак, идешь к тому кто знает, он тебе все рассказывает.

Ответы>>844048

18 Сен, 18:08 #18 #844048

>>844043
Никак, идешь к тому кто знает, он тебе все рассказывает
выкладываешь тысячу денег, чтобы пришёл кто-то, и разобрался в этом пиздеце: https://www.upwork.com/job/Custom-Control-Library-WPF-using_~01eaa9761402514863/

Ответы>>844058

18 Сен, 18:21 #19 #844058

>>844048
>Once the programmer is left
Инстант проигрыш, да и все история анекдот какой то, и нубов научи, и контрол у них с нуля, и фрилансером будь.
>Member Since Sep 8, 2016
Okay

18 Сен, 20:09 #20 #844106

>>843711 (OP)
Спасибо за перекат, думал перекатывать вовремя и обновить/структуировать шапку, но времени катастрофически что-то не хватает. Добра, короче.

Ответы>>844111

18 Сен, 20:25 #21 #844111

>>844106
Можно сделать скрипт для автопереката и брать текст с мастера в гите.

Ответы>>844129

18 Сен, 21:53 #22 #844129

>>844111
Я хотел сделать скрипт для автопереката, но сейчас занят и не определился, какой язык взять. Один рубист это делал, но он бросил. Нужно сделать так, чтобы любой ОП мог добавить свой тред.

Ответы>>844141

18 Сен, 22:10 #23 #844141

>>844129
Я могу конечно, правда это не слишком интересный проект. ОПом будет скрипт, который по достижению бамплимита будет пересоздавать тред.

Ответы>>844551

Я наверное опять хуйню сморожу, но 19 Сен, 12:54 #24 #844412

Если я работаю с одной БД MSSQL, но приложение с несколькими формами, то мне на каждой форме что ли надо заново контекст выдергивать? Или где-то его один раз открыть и потом уже по выходу из приложения закрывать? Интуитивно понимаю, что на производительности сказаться может

Ответы>>844424>>845797

19 Сен, 13:20 #25 #844424

>>844412
ты, конечно, можешь держать соединение все время работы приложения, но правильней всего будет создавать контекст каждую транзакцию

Ответы>>844427>>845797

19 Сен, 13:25 #26 #844427

>>844424
ага, спасибо. а это не сильно по-васянски?

Ответы>>844548>>844574

19 Сен, 17:43 #27 #844548

>>844427
Держать соединение это по васянски. Гугли Unit of work.

Ответы>>845797

19 Сен, 17:44 #28 #844551

>>844141
И где будет хоститься этот скрипт?

Ответы>>844624

19 Сен, 18:06 #29 #844574

>>844427
это наоборот самое верное решение.

Ответы>>845798

19 Сен, 18:21 #30 #844587

>>843844
В консоли так много не помещаетс, выводи в файл

19 Сен, 19:58 #31 #844624

>>844551
У меня есть vps.

Ответы>>844679

6 Кб, 364x150

19 Сен, 20:46 #32 #844651

Возможно ли такое, чтобы содержимое where из linq можно было подгрузить из гуя? И не просто сравнение с переменными, а как если бы это условие было бы написано в коде.

Ответы>>844668>>844671>>844677

19 Сен, 21:17 #33 #844668

>>844651
Копай в сторону expression trees

19 Сен, 21:22 #34 #844671

>>844651
Покажи примерно что ты хочешь то, а то не понятно нихуя.

19 Сен, 21:33 #35 #844677

>>844651
Гугли Linq.Dynamic, там можно передавать строки эквивалентные лямбдам в Linq.
Если я правильно понял вопрос.

19 Сен, 21:36 #36 #844679

>>844624
А а капчу как распознавать? Сервисом чтоль каким?

Ответы>>845288

19 Сен, 21:47 #37 #844683

Анон,
Как узнать на какие методы указывает делегат?

Ответы>>844712

11 Кб, 853x203

19 Сен, 22:22 #38 #844712

>>844683
оттака

20 Сен, 13:56 #39 #844868

Есть maskedtextbox'ы в которых заданы маски типа "0,00", заданы выражением "0.00". С формы забираю те, которые вводятся, конвертирую их в дабл, рассчитываю значения и вывожу их в другие mtb, конвертнув тустрингом.

На форме всё отображается как надо, но когда пишу полученные значения в таблицу БД вываливается ошибка формата. Причем в тех случаях только, когда одно из значений имеет нулевую целую часть.

При записи в БД конвертируется вновь в дабл текст, полученный после расчета в mtb

Ответы>>844870>>844970

20 Сен, 13:59 #40 #844870

>>844868
Хуево, чо.

20 Сен, 16:51 #41 #844970

>>844868
О, как она меня унизиль субханаЛЛах.

в свойстве textMaskFormat надо было include prompt указать. ибо оно значение типа 0,23 возвращало в виде _,23 где _ - это пробел.
Чтобы понять пришлось эту говносхему в консольке параллельно произучать, охуительный язык, все понятно на самом деле, даже без справочников

20 Сен, 18:42 #42 #845032

Пиздец анон,
Я просто плачу от собственной тупости. Уже хуй знает сколько пытаюсь пройти главу с событиями. Делегаты разобрал, все вроде ясно.
Можешь подкинуть схематичное объяснение event'ов?
Как подписывать на событие, схематично с привязкой к коду.
Спасибо.

Ответы>>845034

20 Сен, 18:44 #43 #845034

>>845032
Делегаты-то здесь и вовсе ни при чём.

this.gridView.SelectionChanged += this.gridView_SelectionChanged;

И затем:

private void gridView_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e)
{
this.UnselectRows();

if (this.MultiSelect || this.gridView.SelectedRowsCount <= 1)
this.OnSelectionChanged();
}

Ответы>>845067>>845172>>845191>>851324>>852359

20 Сен, 18:49 #44 #845042

ньюфаг в треде. Посоветуйте ресурсов с задачками, только не хардкорно-анальной сложности, желательно по темам чтобы были разделены.

40 Кб, 600x600

20 Сен, 19:30 #45 #845067

>>845034
>Делегаты-то здесь и вовсе ни при чём.

20 Сен, 22:58 #46 #845172

>>845034
>Делегаты-то здесь и вовсе ни при чём.
Правильно, я тоже на хую вертел EventHandler

20 Сен, 23:38 #47 #845191

>>845034

Спасибо.
Объясни пожалуйста каждую строчку. Что-кого вызывает и куда указывает.
Спасибо.

Ответы>>845193>>846426

20 Сен, 23:40 #48 #845193

>>845191
>каждую
>одна строка полезного кода
>каждую

21 Сен, 04:02 #49 #845278

Добрался до 7.0, полистал. Туплы, readonly-классы, патерн-матчинг. Дебилов на c# насильно осчастливливают короче. Превращают в F#.

Вангуем, когда завезут констрейны? https://docs.microsoft.com/en-us/dotnet/articles/fsharp/language-reference/generics/constraints

в 8.0? Особенно интересно будет, если зделают не уёбищные инлайн-констрены мемберов, а что-нибудь типа тайпклассов хачкеля, пусть и простеньких. 20 лет жду.

Ответы>>845287

21 Сен, 06:57 #50 #845287

>>845278
Какого хрена они про primary-constructor забыли, обещали еще в 6.0 и все что-то тормозят.
Заебали анальные приседания с присвоение всех параметров к полям.

21 Сен, 07:24 #51 #845288

>>844679
Можно и антигейтом, но есть вариант проще.

Ответы>>845803

21 Сен, 23:36 #52 #845797

>>844412
>>844424
>>844548
А разве божественный дотнет не оптимизировать это вместо нас по умолчанию?
https://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx

Олсо. Вопрос. Как структуририровать проект? Ну там мультилеер, где кор выше всего (в нем всякие коммон хелперы, интерфейсы, логирование и все такое). Дата - репозитории. Возможно модел- где лежат поко, модели, дтохи. Сервисный слой- где бизнесслогика дергает репозитории и манипулирует моделями. Ну и конечные солюшены, которые дергают сервиси. Поясните, так норм?

Еще. Стоит ли выделять в класс лайбрари логику работы с определенным доменом. Юзер менеджеры,например. Чтоб теоретически юзать это в других проектах. Но тогда получается, что для каждого такого домена нужно еще по слою делать( репо, кор и т.д). Этож охуеть сколько класс лайбрари в проекте будет.
Приведите пример архитектуры годной, плиз.

Может кто в личечке не против, чтоб я с ним посоветовался, если тут не удобно?

21 Сен, 23:36 #53 #845798

>>844574
Почему же?

Ответы>>845819

21 Сен, 23:40 #54 #845803

>>845288
Какой же?

Ответы>>845917

22 Сен, 00:05 #55 #845819

>>845798
У тебя не расходуются ресурсы на поддержание коннекта к бд, ты не даёшь разрастаться своему контексту до неебических масштабов и ему не придётся трекать миллион всякой хуеты.

Господин сверху советовал глянуть на Unit of Work. Именно так в промышленной разработке пользуют контексты.

Ответы>>846482

149 Кб, 1089x813

22 Сен, 00:46 #56 #845833

Сап шарпаны. Что тут можно выбрать, если меня учили просто работать с базой данных через скрипты в манагер студии?

155 Кб, 1126x292

22 Сен, 05:29 #57 #845902

Был точно уверен что правильный ответ это D. Это я тупой, или в тесте ошибка?

Ответы>>845915>>845932

22 Сен, 07:05 #58 #845915

>>845902
Ты тупой.

22 Сен, 07:17 #59 #845917

>>845803
Попробуй подумать каким образом можно вообще не иметь дела с капчей.

Ответы>>846490

22 Сен, 08:00 #60 #845932

>>845902
protected internal = protected ИЛИ internal

Ответы>>846489

22 Сен, 09:36 #61 #845959

Но там нет ИЛИ.
Пюслюс, почему в ответе правильном перед and запятая, это инглиш грамматика или ошибка?

Ответы>>845979

22 Сен, 10:19 #62 #845979

>>845959
Почитай про сложносочиненные предложения.

Ответы>>846121

22 Сен, 12:36 #63 #846019

Господа, я в сомнениях.

Есть базовый класс с набором автосвойств.

Есть класс-наследник с тем же набором свойств, но с заданными значениями по умолчанию.

Правильно ли я понял, что в базовом надо сделать их виртуальными, а в наследнике перезаписать?

Ответы>>846030

22 Сен, 12:59 #64 #846030

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

Ответы>>846031>>846050

22 Сен, 13:01 #65 #846031

>>846030
Тхэнкс

22 Сен, 14:14 #66 #846050

>>846030
Что-то совсем не варит котелок. Вот что писать для того, чтобы у наследника по умолчанию name вася было? И чтобы вдруг он потом подрастет и будет не вася, а василий егорович?

http://pastebin.com/WZWGU7Sh

Ответы>>846092

56 Кб, 300x300

22 Сен, 15:12 #67 #846080

Проблема с таймером. Нужно написать маленькую программку. Задать время, допустим 4 часа и интервал, допустим один час. Каждый час она должна выполнять определенное действие. Необходимо, чтобы она выполнялась каждый день при запуске учётной записи пользователя. Действие напогромировал. Для того чтобы это всё регулярно включалось, я так понял нужно создать службу. Сделал, глянул как устанавливать службу. А теперь главная проблема. Как хранить таймер? Допустим он был включен, пользователь выключил компьютер. Прошло какое-то время он включил, как продолжить отсчёт с того же времени? Сколько не гуглю не знаю как это запихнуть в службу и к какому времени привязаться? Хорошо, изначально дёрнуть системное, а потом как защититься от подмены? Есть какие нибудь статьи на эту тему?

Ответы>>846095>>846492>>852788

22 Сен, 15:33 #68 #846092

>>846050
https://dotnetfiddle.net/AhV1pM

Ответы>>846098

22 Сен, 15:36 #69 #846095

>>846080
Можешь писать последнее время запуска в текстовичек.
Вариант в лоб — Thread.Sleep().
Другой вариант: консольное приложение и настроить виндовый шедулер.

Ответы>>846492

22 Сен, 15:44 #70 #846098

>>846092
От души, брат. А мне оказывается вообще не это надо было. Я ебанутый, мне для ведения справочников надо было, а я теплое с мягким попутал. Спасибо еще раз, охуенный тред

Ответы>>846107

22 Сен, 16:12 #71 #846107

>>846098
>А мне оказывается вообще не это надо было
Так обычно и бывает

22 Сен, 16:34 #72 #846121

>>845979
Ну и при чем тут это? В любом случае там или запятая должна быть или соеденитель.

22 Сен, 22:54 #73 #846426

>>845191
Не еби мозгу, читай тут:
http://www.akadia.com/services/dotnet_delegates_and_events.html#Multicasting

22 Сен, 22:54 #74 #846427

Подскажите как проверить символ на то алфавитный он или нет?
Проверка вроде @char == [?принадлежность к алфавиту?]

Ответы>>846431>>846452

22 Сен, 22:58 #75 #846431

>>846427
if (char.IsLetter(char c))

Ответы>>846432>>846455>>846628

22 Сен, 22:58 #76 #846432

>>846431
хотя нет, это на принадлежность к юникоду. делай свой метод, хули ты

22 Сен, 23:31 #77 #846452

>>846427
Regex to the rescue!

22 Кб, 705x513

sage 22 Сен, 23:43 #78 #846455

>>846431
Для каких случаев IsLetter будет неправильно работать?

Ответы>>846456

22 Сен, 23:45 #79 #846456

>>846455
Для твоих https://dotnetfiddle.net/LLIj5L

23 Сен, 01:05 #80 #846482

>>845819
Коннект не требует никаких ресурсов, кроме мизера памяти, а вот создание и разрыв коннекта - это ресурсоемкая операция, от которой стараются избавится (например keepalive)
Если говорить про ef, то в стандартном его поведении ничего не разрастается

23 Сен, 01:28 #81 #846489

>>845932
Как ты себе это представляешь?

Ответы>>846529

23 Сен, 01:31 #82 #846490

>>845917
Пасс код? Но я не хочу делать приятно макаке, шалун

Ответы>>847050

23 Сен, 01:46 #83 #846492

>>846095
Thread . Sleep? Ты позоришь честь этого треда
>>846080
https://msdn.microsoft.com/ru-ru/library/system.timers.timer(v=vs.110).aspx
Это чем не подходит?

Ответы>>846698>>846706

23 Сен, 09:06 #84 #846529

>>846489
Ты не очень умный?

Ответы>>846892

23 Сен, 13:46 #85 #846628

>>846431
Char.IsLetter - то, что нужно. Спасибо!
До этого пытался через regex, но не совсем понял как правильно его использовать в if

Ответы>>846637>>846661

23 Сен, 14:00 #86 #846637

>>846628
regex'ы не в иф блоках используются вроде. они возвращают строку, обработанную согласно параметрам regex'а.

Ответы>>846661

23 Сен, 14:32 #87 #846650

Подскажите, где достать GTK# for .NET для макоси?
Скачал Xamarin и Mono, но гтк найти не могу, хотя бы в виде исходников

Ответы>>846653

23 Сен, 14:34 #88 #846653

>>846650
Он ставится автоматически с Xamarin Studio

Ответы>>846655

23 Сен, 14:37 #89 #846655

>>846653
А последовательность какая? Сначала Mono или потом?

Как проверить, что все компоненты работают? захеллоувордить? извините, что нуб

Ответы>>846670

23 Сен, 15:02 #90 #846661

>>846628
>>846637
Regex.IsMatch, наркоманы

63 Кб, 899x653

23 Сен, 15:23 #91 #846670

>>846655
1) Качаешь установщик https://www.xamarin.com/download
2) Запускаешь установщик, он сам ставит mono/gtk/android sdk
3) Запускаешь Xamarin Studio, выбираешь пункт "New Project" -> "Other" -> "GTK"

23 Сен, 16:06 #92 #846698

>>846492
Я же сказал — вариант в лоб. В случае если не интересует точность интервалов.

Ответы>>846895

23 Сен, 16:12 #93 #846706

>>846492
Я могу его хранить в службе? А если мне нужно поменять интервал мне надо пересоздать службу с новым значением таймера или можно как-то изменить?

Ответы>>846899

184 Кб, 1080x1080

23 Сен, 16:59 #94 #846747

После нескольких неудачных собеседований впал в депрессию и забил на программирование. Целый год нихуя не делал, нихуя не учил. Сейчас вот потихоньку вылажу из этого говна, вновь начал читать Троелсена и вспоминать забытое. Так вот, хочу еще параллельно начать наворачивать литературу по джаваскрипту. Нормальное решение, или лучше оставить на потом?

Ответы>>846751>>846754>>847868

23 Сен, 17:02 #95 #846751

>>846747
почему неудачных? какой бэкграунд?

Ответы>>846761

23 Сен, 17:05 #96 #846754

>>846747
>джаваскрипту
Не будь говноедом, начинай хотя бы с TypeScript

23 Сен, 17:16 #97 #846761

>>846751
>почему неудачных?
Плохо дается теория, хоть я и зубрил ее, на теоретические вопросы на собеседовании мог только мычать. Обычно было так - hh дает мне тестовое задание, я его делаю, зовут на собеседование, на котором я опять обсираюсь.
>какой бэкграунд?
Закончил курсы погромирования, никакого опыта реальной работы нет. Образование средне-специальное.

23 Сен, 18:43 #98 #846820

Подскажите годных книг по VB для вообще полного нубаса. Чтоб и за синтаксис пояснили и про ООП(в рамках бэйсика конечно же) без всяких "ехал инкапсуляция через абстракцию видит инкапсуляция в полиморфизме наследование сунул инкапсуляция в абстракцию наследование инкапсуляция ипнкапсуляцию за инкапслуляцию инкапсулировала".
И можно с примерами работы с .NET.

Ответы>>846841

23 Сен, 19:08 #99 #846841

>>846820
книг не знаю, но знаю норм такой мануал. берёшь, короче, пишешь код на любимом сисярпе, прогоняешь его через ILSpy, получаешь код на VB. показываешь работодателю/преподу гришь о смотри ясделяль. ну или если тебе нужно разобраться в коде - та же хурма, перегоняешь интересующий блок с vb на c# и вуаля. базарю я синьёр помидор

Ответы>>846846

23 Сен, 19:16 #100 #846846

>>846841
Ну, блядь, ты просто гений. Мне нужно конкретно гайд для обучения конкретно нуба программированию на бэйсике. Мне не нужен готовый код, готовый сам смогу "добыть". А вот книги толковой не могу.

23 Сен, 19:50 #101 #846871

Есть список объектов, как с помощью linq найти объект с максимальным значением одного поля. Ебучий min max возвращает само значение поля, а мне нужен весь объект.

Ответы>>846906>>847066

23 Сен, 20:34 #102 #846892

>>846529
Да, зато ты, видимо, пиздец тупой
protected internal = protected И internal
Как может быть или? В одном случае protected, а в другом internal?

Ответы>>846944

58 Кб, 518x229

29 Кб, 400x447

23 Сен, 20:37 #103 #846894

Сломался деббагер в студии.

Ответы>>846898

23 Сен, 20:38 #104 #846895

>>846698
Проблеиа не в неточности, а в твоей быдлиности: ты создаешь поток, который делает... нихуя, но при этом ты выделяешь на него ресурсы: память под стэк и другие плюшки, процессорное время (контексты все равно переключаются). Один такой поток в системе, вроде и не страшно, но если бы все так писали, как ты, я бы не пользовался бы пекой

23 Сен, 20:40 #105 #846898

>>846894
А все, это из-за знака ' в названии, лол.

23 Сен, 20:40 #106 #846899

>>846706
С чего в службе нельзя хранить переменные?
Я не знаю, кури мсдн, я просто спросил чем не устраивает

193 Кб, 1143x681

23 Сен, 20:47 #107 #846906

>>846871
А мне сам объект возвращает. Может ты с IComparable проебался?

Ответы>>846955

248 Кб, 1149x767

9 Кб, 252x200

23 Сен, 20:51 #108 #846916

Max работает, а Min не работает.

Ответы>>846919

43 Кб, 500x562

23 Сен, 20:56 #109 #846919

>>846916
>listOfObjects.Min() + "\t" + listOfObjects.Max().someField)
Вот поэтому из меня никогда не получится нормального программиста.

23 Сен, 21:33 #110 #846944

>>846892
Модификаторы доступа показывают откуда можно получить доступ к методу, в одном случае из наследованных классов, а в другом из классов в той же либе.

Ответы>>847059

23 Сен, 21:44 #111 #846955

>>846906
> IComparable
> Решил такой писать на функциональном линке
> Нужно реализовать интерфейс @ Нельзя лямбды

Ответы>>846961

45 Кб, 499x635

23 Сен, 22:00 #112 #846961

>>846955
>listOfObjects.First( y => y.someField == listOfObjects.Max(r => r.someField))

Ответы>>847061

43 Кб, 500x282

23 Сен, 23:06 #113 #847013

>шел 2016 год
>в фреймворк добавляют кучу всякого сахарного говна, но до сих пор нет реализации простейшего дерева

Ответы>>847020

23 Сен, 23:12 #114 #847020

>>847013
Мы тут максимальный элемент в списке не можем найти, а ты уже про деревья

24 Сен, 00:00 #115 #847050

>>846490
>Пасс код?
Нет/

Ответы>>847063

24 Сен, 00:15 #116 #847059

>>846944
А теперь... что если их поставить вместе, Маня, как тебя в вопросе и спрашивают

Ответы>>847068

297 Кб, 602x282

24 Сен, 00:17 #117 #847061

>>846961
SEQUENCE CONTAINS NO ELEMENTS

Ответы>>847141

24 Сен, 00:17 #118 #847063

>>847050
Отвечай, не томи

24 Сен, 00:19 #119 #847066

>>846871
Install-Package morelinq

https://dotnetfiddle.net/saAaLG
Не могу разобраться, почему фиддлер не хочет компилировать, но в студии пример работает.

Ответы>>847073>>847132

24 Сен, 00:19 #120 #847068

>>847059
Не меня спрашивают, я пришел к словам попридираться.
> can be accessed by any code in the assembly in which it is declared, or from within a derived class in another assembly

24 Сен, 00:31 #121 #847073

>>847066
>// MoreLINQ - Extensions to LINQ to Objects
>// Copyright (c) 2008 Jonathan Skeet. All rights reserved.
Джон Скит в треде, все на SO!

24 Сен, 00:37 #122 #847074

Шарпач, есть коллекция из n элементов Node, у которого есть поля Id и ParentId. И есть произвольное пустое дерево. Я могу вставить в него все элементы за O(n^2). Как вставить быстрее?

Ответы>>847129>>847162

24 Сен, 03:44 #123 #847129

>>847074
Если n очень большое, то отсортировать по Id и искать ноды бинарным поиском.

Ответы>>847197

24 Сен, 04:56 #124 #847132

>>847066
https://dotnetfiddle.net/4rTRkZ

Ответы>>847155

43 Кб, 554x439

24 Сен, 06:16 #125 #847141

>>847061
Только если лист изначально пуст.

51 Кб, 1033x479

24 Сен, 08:22 #126 #847155

>>847132
Я бы написал свой
http://pastebin.com/BJsAjJV7
метод-расширение и положил бы в папочку /Commons/

Ответы>>847160

24 Сен, 08:39 #127 #847160

>>847155
Что за шрифт?

Ответы>>847165

24 Сен, 08:44 #128 #847162

>>847074
Сортани коллекцию таким образом, чтобы корень был в середине, слева все левые поддеревья, корень которых посередине между началом и главным корнем (1/4), то же самое с правой стороны. Начинай строить дерево с корня, потом поддеревья

Ответы>>847197

24 Сен, 09:00 #129 #847165

>>847160
https://github.com/i-tu/Hasklig (размер 15) + включенные лигатуры в VSC

Ответы>>847166

24 Сен, 09:01 #130 #847166

>>847165
Спасибо.

24 Сен, 11:39 #131 #847197

>>847162
>>847129
Но дерево не бинарное. Оно произвольное, то есть у каждого узла может быть k детей.

24 Сен, 23:35 #132 #847560

Почему нельзя сделать так, чтобы анонимный тип как бы реализовывал интерфейс? Не хочется кучу бесполезных классов писать.

Ответы>>847600

25 Сен, 02:23 #133 #847600

>>847560
Потому что это не java и тут есть нормальные делегаты и лямбды.

274 Кб, 400x281

25 Сен, 16:24 #134 #847670

Сап, шарпёры. Нужна ваша помощь. Здесь мне подкинули тестовое задание на программиста стажера за 200$\месяц, вот пилю потихоньку (хуй успею, ибо параллельно ебашу эникеем).
Короче, всю жизнь не комментил свой код, а сейчас задумался, ведь есть есть жы некий годный стандарт комментирования. Анон, реквестирую кусок кода с годными комментариями.

Ответы>>847717

25 Сен, 17:05 #135 #847717

>>847670
Для публичного API используй XmlDoc (то, что у тебя на скрине). Внутри кода комментарии не нужны - код должен быть самодокументирующимся. Исключение - какая нибудь сложная хуйня, которая будет неочевидна, как бы ты её не расписывал.

Ответы>>847915

25 Сен, 17:25 #136 #847732

>>843711 (OP)
UWP вообще как? Есть с ним жизнь без Store? В Магазин хентай пускают? Или дальше на WPF сидеть?

Ответы>>847763

25 Сен, 18:31 #137 #847763

>>847732
а на wpf жизнь есть?

27 Сен, 08:38 #138 #847790

Шалом, уважаемые.

В спецназе языков программирования 1с есть элемент "поле ввода", к которому прилагается кнопочка "обзор", в результате этот элемент может и как комбобокс в выпадающий список значения давать, и как опенфайл работать, только открывая другую форму.
А чем это в C# достигается? Что-то я потёк уже от размышлений, неужели кнопочку отдельно приклеивать?

Ответы>>847809

27 Сен, 13:25 #139 #847809

>>847790
Ну, в C# есть разные графические фреймворки для декстопа, в основном это winforms и wpf. ну ещё UWP. Насколько я знаю, в этих фреймворках нет того, что нужно тебе изподкаропки, но во всех трёх фреймворках есть возможность клепать кастомные контролы, но в wpf и uwp возможности ГОРАЗДО больше для этого, чем в winforms. короче говоря, можешь сделать просто конфетку ещё пизже чем на твоём 1с, но делать придётся самому, да. отсюда следует, что может получиться и не конфетка вовсе, а просто пиздец нахуй блять я у мамы фронтенд

27 Сен, 15:02 #140 #847815

О, братья!

Где почитать про правильную структуру проекта? Тысячи форм и сотни классов уже пугают, хочется упорядочивания. Если просто по папкам их распихаю, там же надо еще и директивы везде переписывать? Или папки на навигацию никакого влияния не оказывают? Или вообще проект разбить на несколько проектов, в одном формы, в другом классы, в третьем гробгробкладбище имейджез?

Ответы>>847816

27 Сен, 15:15 #141 #847816

>>847815
при помещении в папку уже существущего файла .cs, неймспейс не меняется. а вот при создании нового файла в папке неймспейс соответствует папке типа namespace projectName.folderName { }

27 Сен, 17:49 #142 #847830

Поясните, плиз, по хардкору, что это за GTK, GTK+, GTK+ 2.0?

Я понимаю, что такое .Net - платформа с дохуя библиотеками, для винды, которая .Net код компилирует налету в ассемблерный код, но строго для винды.
А GTK - это какая-то кроссплатформенная платформа для других, кроме винды?

Или я чего-то не догоняю.
Провалил из-за этого собеседование

Ответы>>847831

27 Сен, 18:01 #143 #847831

>>847830
ты бы хоть Троелсена первую главу открыл, чисто для интереса.

27 Сен, 19:00 #144 #847846

Когда сольют русик 7 редакции Троелсена? Или уже?
Вроде продают и на складах в наличии.

27 Сен, 20:02 #145 #847868

>>846747
Тут главное упорство, мне за 3 месяца поиска работы было три приглашения на собеседование и с третьего зашло.

12 Кб, 700x209

36 Кб, 830x504

11 Кб, 622x297

27 Сен, 20:15 #146 #847869

Есть тут магистры WPF? Может кто объяснить, что происходит, когда устанавливают Binding без указаний параметров будь то в xaml'e или в c# коде? Ну например, есть дататемплейт:
<DataTemplate x:Key="zzz">
<CheckBox Content={Binding} />
...
Вот здесь биндинг без параметров, то есть ни path, нихуя. Откуда в таком случае будут браться значения? Из DataContext'а, казалось бы? Но вот, например, в пикрелейтедах он даже не указывается. В 1 случае в дататемплейте биндинг указывается абсолютно пустым, только у контрола, для которого определяется дататемплейт, указывается ItemsSource. НО! если попробовать в дататемплейте в биндинге элемента указать Path=ItemsSource или Path=DataContext.ItemsSource, то дататемплейт будет работать некорректно (грубо гря, контент чекбокса не забиндится). Во 2 случае всё делается из c# кода ибо так приближено к боевым обстоятельствам. В настоящем проекте по определённым причинам я считаю, что меньше кода выйдет, если определять дататемплейты динамически, и даже если там указать в свойстве чекбокса ContentProperty просто пустой new Binding(), то сука DataTemplate будет работать корректно, то есть для каждого чекбокса определятся соответствующие значения. Ещё раз, вопрос: какого хуя? Почему в "пустом" биндинге всё равно правильно привязываются значения? Как он определяется по дефолту?

Ответы>>847904>>847916

27 Сен, 20:31 #147 #847874

Ок, почитаю.

27 Сен, 22:48 #148 #847904

>>847869
Отбой. Кажется, нашёл ответ на свой вопрос.

27 Сен, 23:46 #149 #847915

>>847717
>Исключение - какая-нибудь сложная хуйня, которая будет неочевидна, как бы ты её не расписывал
Это значит что ты пидар что написано криво и есть смысл переписать нормально.

8 Кб, 192x256

27 Сен, 23:48 #150 #847916

>>847869
Омакконелмой как же я проблевался с твоих длинных портянок.

73 Кб, 1919x705

28 Сен, 07:35 #151 #847953

Сап, дотнетач. Помоги мне, я немного заебался. В общем, мне надо десериализовывать однотипные JSON с сайта. По некоторым причинам я не хочу юзать сторонние либы для этого, поэтому приходится юзать DataContractJsonSerializer. Я сгенерировал классы, они работают, но не для всех JSON. Некоторые вылетают с SerializationException:

- Ошибка десериализации объекта. Ожидался маркер """, но найден "Ñ".
(разумеется, символа Ñ там нигде нет)

Я пробовал перегенерировать классы по ошибочному JSON, но это не помогает. Можно ли как-то это дебажить? Хотя бы узнать, на каком месте/оффсете парсер загибается? В инете ничего дельного не пишут, поля LineNumber и LinePosition в эксепшене равны 0.

Ответы>>847966

28 Сен, 09:11 #152 #847966

>>847953
.net 4?

Ответы>>847967

28 Сен, 09:13 #153 #847967

>>847966
3.5sp1, vs2008 Увы.

Ответы>>847968

28 Сен, 09:16 #154 #847968

>>847967
Баг фреймворка, починили в 4.5
http://stackoverflow.com/questions/23909231/datacontractjsonserializer-readobject-sometimes-throws-the-token-was-expected
Нужно просто обновиться / не использовать плохие входные данные / использовать json.net

Ответы>>847976

28 Сен, 09:57 #155 #847976

>>847968
Да, открыл тот же проект в 15 студии, сменил версию на 4.6, всё прекрасно заработало. Спасибо тебе, анон, что прекратил мои попытки решить оказывается нерешаемую проблему. Буду выбирать из двух зол, или включать стороннюю либу, или таки переходить на другую студию и версию.

Ответы>>847980

28 Сен, 10:28 #156 #847980

>>847976
Тащемта тебе надо и новую студию поставить на этот раз английскую, потому что пиздец, и либу подключить, тому что она быстрее.

28 Сен, 11:10 #157 #847990

Как "апгрейднуть" инстанс базового класса в сабкласс? Написать оператор конверсии нельзя - компилятор его не примет, хотя было бы очень удобно. Писать конструктор/метод в сабклассе, принимающий параметром инстанс базового и писать копирование свойств?

28 Сен, 11:32 #158 #847994

Явно/неявно переопределить оператор каста к сабклассу в базовом классе, а потом использовать конструкцию типа
BaseClass BC = new BaseClass();
SubClass SC = (SubClass)BC;

Ответы>>848003

10 Кб, 255x200

28 Сен, 11:41 #159 #847996

Какие профиты переходя с 13 студии на 15? Знакомые спрашивают хули я еще не обновился, а я сижу и думаю "а нахуй оно мне надо".

Ответы>>847998>>848006

28 Сен, 11:44 #160 #847998

>>847996
c# 6.0 изподкоробки, там же всякие расширения для юнити, андроид СДК и ещё чо то.

Ответы>>847999

28 Сен, 11:51 #161 #847999

>>847998
А для аспа что нибудь полезное-новое-модное-молодежное ввели?

Ответы>>848000

28 Сен, 11:52 #162 #848000

>>847999
а хз. я мимостудент, дальше wpf не заезжал ещё.

Ответы>>848002

28 Сен, 11:55 #163 #848002

>>848000
Ясно. На новую версию без переустановки шинды перейти возможно?

Ответы>>848005

28 Сен, 11:56 #164 #848003

>>847994
>Написать оператор конверсии нельзя - компилятор его не примет

28 Сен, 11:56 #165 #848005

>>848002
а схуяли нельзя? сносишь к ебеням скачивать коммьюнити версию с сайта майкрософт или покупаешь на торрентах алтимейт и вперод.

Ответы>>848007

28 Сен, 11:58 #166 #848006

>>847996
Увеличение тормозов. Ты купишь новое железо, чтоб комфортно работать. Мс доставляет профиты не тебе, а себе а производителям железа. 2008 форева, даже на старом железе работает крайне шустро.

Ответы>>848008

28 Сен, 12:00 #167 #848007

>>848005
Когда с 10 на 13 переходил прошлось полностью шинду сносить, потому что не вставало. А сейчас что, просто студию удалил и новую накатил? Пакеты вилкой чистить не нужно?

Ответы>>848009

28 Сен, 12:02 #168 #848008

>>848006
У меня i5 2500k, 8 гиг оперативы и ссд. Да даже на моем ноуте с одним ядром 13 студия не тормозила, я хз на каком динозавре ты там сидишь.

Ответы>>848014

28 Сен, 12:04 #169 #848009

>>848007
хз, я свой путь начал сразу с 2013. никаких проблем не было, только скопировал папку с проектами в новую директорию vs2015. НО! помни, я мимостудент, и, возможно, не использовал полностью функционал VS как ты мог это делать в энтерпрайзе. мб у тебя там какие нибудь охуенные зависимости, завязанные конкретно на vs2013.

28 Сен, 12:06 #170 #848010

Какое последние издание у Троелсена? Седьмое?

28 Сен, 12:30 #171 #848014

>>848008
У меня i5-4460, тоже 8 гб оперативки, правда без ссд. 2008 не думает вообще, грузится за 1-3 секунды, по нажатию F5 тоже практически мгновенно дебаг запускается. А вот 2015 уже ворочается и думает, иногда по 3-5 секунд. Особенно при запуске дебага притормаживает.

Ответы>>848015

28 Сен, 12:36 #172 #848015

>>848014
>правда без ссд
В этом твоя проблема.

47 Кб, 610x402

28 Сен, 13:18 #173 #848021

Ребятки, помогите, взялся делать инвентарь в простой игре, но не получается, Есть оружие, щиты и тд, для каждого свой класс. Все это дело было занаследовано от класса Item, и вот накидал Item'ы в инвентарь, все норм, а потом захотел сделать так чтоб в ячейку для оружия перетащить Item. Но Item не имеете параметра "сокет", дабы определить подходит ли в слот. Дебаг показывает что объект класса Weapon, но к свойствам доступа нет, и это понятно, в классе Item они же не прописаны. Как тут надо делать? Ведь шмот в инвентаре должен быть однородным, да? И класс Item для этого подходит? Но как тогда сделать так чтоб было понятно что в Item засунули оружие, а не щит к примеру, и использовать свойства оружия?

Ответы>>848029>>848030>>848095>>848139

19 Кб, 353x334

28 Сен, 13:53 #174 #848029

>>848021
твои пушки должны реализовывать интерфейс Iweapon. Потом смотришь, реализовывает ли item интерфейс, если да, разрешаешь использование в качестве оружия.

Ответы>>848034>>848095

28 Сен, 14:01 #175 #848030

>>848021
А нахуй вообще нужно оружие в инвентаре, которое в слот запихнуть нельзя?

Ответы>>848034

28 Сен, 14:23 #176 #848034

>>848030
>А нахуй вообще нужно оружие в инвентаре, которое в слот запихнуть нельзя?
Как это? Как раз оружие и хочу запихнуть в слот, но нужно сначала узнать подходят ли параметры оружия.

>>848029
>твои пушки должны реализовывать интерфейс Iweapon. Потом смотришь, реализовывает ли item интерфейс, если да, разрешаешь использование в качестве оружия.
Так, я тупой, и не всегда понимаю. Есть класс "героя", у которого есть поля типа Weapon, Shield, Engine. Вот эти все итемы (Weapon, Shield, Engine) надо класть в инвентарь/ одевать. В данные момент они все имеют класс-родитель Item, что-то подсказывает это неправильно. Если я реализую интерфейс Iweapon в классе Item, то все итемы будут уметь стрелять, не?

Ответы>>848035

28 Сен, 14:26 #177 #848035

>>848034
Ты говоришь что у тебя у класса оружия есть поле "сокет". Зачем он?

Ответы>>848036

28 Сен, 14:32 #178 #848036

>>848035
>Ты говоришь что у тебя у класса оружия есть поле "сокет". Зачем он?
Сокет - отдельный объект в классе Hull, сокет выполняет роль слота и имеет несколько разновидностей, нужно узнать у оружия какой сокет оно поддерживает, и если да, добавить в List<Weapon>.

Ответы>>848037

28 Сен, 14:37 #179 #848037

>>848036
Если каждый наследник класса Item использует поле "сокет", и самому Item это поле тоже необходимо, то пиши его именно в Item.

Ответы>>848041

28 Сен, 14:44 #180 #848041

>>848037
>Если каждый наследник класса Item использует поле "сокет"
Не, в том то и дело что сокет нужен только для орудий, у Engine должна быть своя атмосфера. Короче говоря разные классы, которые как-то нужно засунуть в один контейнер(инвентарь) и взаимодействовать(вставлять в слоты) с ними.

Ответы>>848049

28 Сен, 15:29 #181 #848049

>>848041
ладно, а почему бы тогда не создать классы наследники от item: Shield, Weapon, Engine?

Ответы>>848064

28 Сен, 16:31 #182 #848064

>>848049
>Shield, Weapon, Engine
Мало похожие классы, класс-суперпомойку говорят делать не есть хорошо.

Ответы>>848069

28 Сен, 16:34 #183 #848066

Ну то есть мне же придется писать сокет в итеме, иначе я не смогу получить доступ, и сокет же нахуй не всрался в шите и двигателе.

28 Сен, 16:46 #184 #848069

>>848064
Как вариант сделай еще класс usableItem, который будет наследоваться от обычного item. И пиши в нем что хочешь.

28 Сен, 17:59 #185 #848095

>>848021
>>848029
поддвачну этого.

Или предлагаю вот тебе что сделать. заводишь поле
ItemTypeEnum itemType;

где
public enum ItemTypeEnum
{
Shit,
Weapon,
Gear,
// итд
}

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

Если такое будет, то делай через наследование.

28 Сен, 19:21 #186 #848122

>>843711 (OP)
Почитал ваш гайд
Начинаю с
The C# Player's Guide
CLR via C#
Pro WPF 4.5 in C#
Multithreading in C# 5.0 Cookbook
Потом дрочу эскьюэль, учусь пользоваться гитхабом и ищу какую-то джуновскую вакансию?
Алсо, про первую книгу написано что она для ньюфагов в шарпе, а если я ньюфаг в программировании? ну когда-то там писал на сях сортировку пузырьком, про массивы что-то знаю, но это не считается
Или мне начинать изучение сишарпа с с?

Ответы>>848125

28 Сен, 19:35 #187 #848125

>>848122
Если умеешь работать с типами данных, циклами-хуиклами, массивами и условными операторами типа if else switch и тд, то можешь сразу учить шарп.

28 Сен, 20:11 #188 #848139

>>848021
динамикодрисня multiple dispatch решительно врывается в тред!
https://dotnetfiddle.net/6jFDPm

Ответы>>848144>>848151

28 Сен, 20:19 #189 #848143

Короче, поцоны, целый день пытаюсь понять ,и нихуя. Можно сделать с помощью рефлексии, но все говорят это обсёр. Вот блядь я либо чтото упустил, либо не могу поять как оно работает.
1. Ебаные разные шмотки должны хранится в списке , типа так List<Item> , да? Вот мы берем и ХУЯК добавляем пушку в инвентарь методоом items.add(new Weapon()). м?

2. Ну и как теперь одеть пушку в слот, который треубет тип Weapon, если я даже не могу посмотреть в List<item> мощность пушки. А даже если бы мог, через свойство, то всеравно итем стрелять то нихуя не умеет. И НЕ влезет в поле типа Weapon, где изъян?

Ответы>>848152

28 Сен, 20:20 #190 #848144

>>848139
Кк, ща буду читать, после того как помоюсь/

Ответы>>848145

28 Сен, 20:20 #191 #848145

>>848144
Так потом опять мыться придется.

Ответы>>848146

28 Сен, 20:21 #192 #848146

>>848145
Ну зато вонять не буду

Ответы>>848147

2697 Кб, 400x225

28 Сен, 20:23 #193 #848147

>>848146

28 Сен, 20:37 #194 #848151

>>848139
Ага, но вот варлока распидарасила рога голая ,выпал стафф,сворд и спелбук, не мог бы ты,бро, добавить их в сумку, вывести статы сворда в консоль и одеть стафф на рогу. Само собой рога может только стафы носить, но ты все равно попробуешь одеть сворд.

Ответы>>848158

28 Сен, 20:45 #195 #848152

>>848143
Ты довен штоле?
https://dotnetfiddle.net/vZwtMO

Ответы>>848154>>848155

28 Сен, 20:50 #196 #848154

>>848152
Так я просил спеллбук и стафф положить вместе, (разные типы объектов)

Ответы>>848159

28 Сен, 20:54 #197 #848155

>>848152
ой, не, все норм

28 Сен, 21:07 #198 #848158

>>848151
Вывести статы итема - самое простое, тут же single dispatch.
В остальном просто добавляешь правило
https://dotnetfiddle.net/jEJELz

28 Сен, 21:10 #199 #848159

>>848154

foreach (Weapon i in inventory)
{
if (i is Staff)
//шось тут
else if (i is Spellbook)
//шось тут
else
//эксепшон
}

Вот тебе решение в лоб. Может кому будет не лень что нибудь другое придумать.

Ответы>>848163

28 Сен, 21:24 #200 #848163

>>848159
Вот когда перебираю веапоны, то заебись, прям вообще нахуй, доступ к параметрам есть, и можно проверить сокет. НО а если перебирать итемы, то уже хуй, ведь в рюкзаке хотелось держать именно итемы, там же не тольько оружия будут лежать,а еще и броня, без сокетов блядь! Короче тут либо делать в классе-родителе поле сокет, и глушить его в классе броня, либо я вообще хуй знает. Проблема не решена.
Может рефлексия?

Ответы>>848167

28 Сен, 21:25 #201 #848164

Или нахуй эти итемы всрались? Держать списки для оружия, и дял брони разные..

28 Сен, 21:37 #202 #848167

>>848163
Блядь, да сделай .OfType<Weapon>()

Ответы>>848175>>848177>>848320

28 Сен, 21:42 #203 #848175

>>848167
Садись, два.

Ответы>>848176

28 Сен, 21:44 #204 #848176

>>848175
На словах ты Лев Толстой

44 Кб, 604x604

28 Сен, 21:47 #205 #848177

>>848167
Гляжу на пример в mdsn, делаю свой ArrayList, а у него нету метода OfType<T>()

Ответы>>848180

28 Сен, 21:54 #206 #848180

>>848177
>ArrayList
Где ты это говно раскопал, возьми List<T>

Ответы>>848189

28 Сен, 22:06 #207 #848189

>>848180
https://msdn.microsoft.com/ru-ru/library/bb360913(v=vs.110).aspx

Ответы>>848192

28 Сен, 22:16 #208 #848192

>>848189
Это все очень хорошо, только нахуя не generic коллекция в 16 году.

Ответы>>848195

28 Сен, 22:22 #209 #848195

>>848192
Хз, с листом не работало, пошел на мсдн глядеть, там с аррайлистом делали. Сейчас дошло что без подключения Linq не работает.

Ответы>>848198

28 Сен, 22:31 #210 #848198

>>848195
Извини пожалуйста, ты без решарпера там штоле сидишь?

Ответы>>848201>>848262

28 Сен, 22:37 #211 #848201

>>848198
Я на dotnetfiddle сидел вообще.

66 Кб, 668x515

28 Сен, 23:05 #212 #848208

Сишарпач, подскажи.
Что нужно установить/сделать чтобы подключить postgres? По идее в этом списке он должен быть (пикрелейтед). Npgsql установил.

Ответы>>848224

8 Кб, 518x302

28 Сен, 23:49 #213 #848224

>>848208
В доках обещают что будет.
http://www.npgsql.org/doc/ddex.html
Только зачем?

Ответы>>848228

28 Сен, 23:54 #214 #848227

Отличный вопрос - где искать конторы в которых можно поработать на стажировке за нихуя удаленно? Точнее конечно за хуя - за опыт реальной работы в проекте и еще раз за опыт.

Ответы>>848229

28 Сен, 23:58 #215 #848228

>>848224
Да, я уже нашёл это. Пункт появился. Вроде даже работает. НО! Столбцы-то он извлекает, а вот данные - нет.
Ошибка:
Error in SELECT clause: expression near '"'.
Missing FROM clause.
Unable to parse query text.

28 Сен, 23:58 #216 #848229

>>848227
> можно поработать на стажировке за нихуя удаленно
Ты главное фотку индуса не забудь к профилю по поиску работы приделать, иначе не возьмут.

Ответы>>848231

29 Сен, 00:06 #217 #848231

>>848229
Уверен, что ты злой человек.

29 Сен, 02:52 #218 #848245

>>843844
> Console.WriteLine(i + ":\t" + array);
Что он у тебя вообще выводит? array
да-да, слоупок, только зашел

29 Сен, 05:23 #219 #848262

>>848198
А решарпер он вообще нужен? Сильно облегчает работу? Я вообще нихуя не программист, а админ. Мне шарп очень сильно полюбился, и поэтому я на нём клепаю много разной хуйни себе (и юзерам) для автоматизации и облегчения работы работаю на радиостанции, у нас тут плейлисты, логи выходов/невыходов и прочая хрень, которую обрабатывать надо. Последний раз вон даже add-in для экселя сделал. Сижу на голой 2008 студии и вообще не парюсь.

Ответы>>848271

29 Сен, 08:21 #220 #848267

Шарпоанончики, поясните за Asp.Net. На нём можно написать веб игру? Ну то есть что бы он сгенерировал хтмл5 с канвасом и js скриптами? Или JS тоже надо учить? Или это всё вообще не так работает?

Ответы>>848270

29 Сен, 08:28 #221 #848270

>>848267
> он сгенерировал
Что значит "сгенерировал"? Ты можешь юзать asp.net как бэкэнд (равно как и java-сервлеты, php или что-то ещё подобное), но саму игру тебе писать всё равно придётся.

Ответы>>848279

29 Сен, 08:38 #222 #848271

>>848262
>add-in для экселя сделал
Ничоси ты админ. Вообще, решарпер не нужен, но с ним гораздо проще, вместо написания кода можно нажимать ctrl+space и alt+enter, и буквы сами на экране появляются.

29 Сен, 09:06 #223 #848279

>>848270
Уточню вопрос... Можно ли средствами asp.net выводить интерактивное анимированное содержимое в объеме достаточном для не очень сложной 2Д игры?

Ответы>>848280

29 Сен, 09:10 #224 #848280

>>848279
Средствами asp.net можно выводить статичный html, для интерактивности и анимированности тебе нужно что-нибудь, что исполняется в браузере.

Ответы>>848281>>848282>>848283

29 Сен, 09:15 #225 #848281

>>848280
Ясно, вопрос закрыт.

29 Сен, 09:15 #226 #848282

>>848280
И спасибо.

29 Сен, 09:21 #227 #848283

>>848280
Нет, стой, ещё один маленький вопрос. Средствами asp.net нельзя написать типа "вывести кнопку/квадрат/картинку с ID №1 с текстом "Нажми меня", и событием, что бы при нажатии на неё приходил ответ на сервер что пользователь с такими то куками нажал c ID №1", при этом asp.net сгенерировал бы хтмл страницу, на которой был бы скрипт js который бы это делал?

Ответы>>848284>>848286

29 Сен, 09:23 #228 #848284

>>848283
Сдаётся мне, ты вообще не понимаешь, что такое asp.net, и что такое js, и в чём вообще различие между нии.

Ответы>>848285

29 Сен, 09:26 #229 #848285

>>848284
я понимаю что такое js (немного, пол учебника прочитал), а вот что такое asp.net - не понимаю. Поэтому разбираюсь, стоит ли мне его учить (так как я немного знаю C#), что бы решить мою задачу или не тратить время.

29 Сен, 09:28 #230 #848286

>>848283
Ты можешь сделать страницу с кнопкой, при нажатии на которую, запрос пойдет на сервер и тебе вернется новая страница, на которой написано что ты пидор

Ответы>>848288>>848289

29 Сен, 09:31 #231 #848288

>>848286
А я?

Ответы>>848290

29 Сен, 09:33 #232 #848289

>>848286
Ясно, понятно. Спасибо.

64 Кб, 566x604

29 Сен, 09:36 #233 #848290

>>848288
А ты нет.

29 Сен, 13:53 #234 #848320

>>848167
То что нужно, братишка, я просто не знал об этой хуйне. А есть такое же, только для элемента? Чтоб объекты класса Weapon, WeaponDirect и тд будут возвращать тру, остальные фолс, if (i.GetType() == typeof(Weapon)) , только веапоны в переборе пропускает, а надо еще и наследники.

Ответы>>848345

29 Сен, 14:01 #235 #848324

АХ, это же вроде оператор is, да? Ебать меня в сраку раскаленным ломом, как просто то.

29 Сен, 14:34 #236 #848333

привет

29 Сен, 15:02 #237 #848345

>>848320
>if (i.GetType() == typeof(Weapon))
Хуйню какую то написал. Вот короче
https://dotnetfiddle.net/HqgpEL

Ответы>>848358

29 Сен, 15:07 #238 #848349

Как решить следующую задачу: есть тип, который однозначно enum, но неизвестно какой и какие у него возможные значения, но известно, что у него есть атрибут [Flags]. Затем, нужно в текстовую строку запихать элементы перечисления, которые есть в заданном int. Вопрос: как это сделать, если перечисление неизвестно наверняка и вообще задано Type'ом? Зная конкретное перечисление, я бы сделал что то типа
if ((definiteEnum)someInteger).HasFlag(definiteEnum.asd))
dosmth

а вот как это делать с неопределённым типом?

Ответы>>848352>>848364

29 Сен, 15:15 #239 #848352

>>848349
Определить тип GetTypeом не пробовал?

Ответы>>848354

29 Сен, 15:21 #240 #848354

>>848352
Тип у меня заранее известен, и я знаю, что это enum (ну вернее сделал так, что ничем кроме энума это быть не может). Как мне получить static public методы у неизвестного типа, заданного объектом типа Type, если я знаю наверняка, что у него есть метод HasFlag(Enum value)? Мне надо получить характерные только для этого типа атрибуты, какетоблятьсделать? Я уже в штаны сру просто как конь ебаный помогите спасите звоните в скорую

Ответы>>848357>>848364

23 Кб, 447x278

29 Сен, 15:25 #241 #848356

Так, то что хотел узнал, но вот, у нас есть Item, и мы его пытаемся вставить в орудийный слот, если Item есть оружие, то ставим. А что если мы не знаем какого типа слот? Может то не орудийный слот, а для двигателя. Можно узнать какой тип у переменной? А потом проверить подходит ли Item для этого типа?

Ответы>>848358

29 Сен, 15:26 #242 #848357

>>848354
Ладно, отбой. Вроде придумал.

29 Сен, 15:27 #243 #848358

>>848356
>>848345

Ответы>>848360

29 Сен, 15:37 #244 #848360

>>848358
>foreach (UsableItem i in inventory.OfType<UsableItem>())

А что тут? Тут нихуя. Ну вот получили список <UsableItem>, а теперь нужно их поставить в слот, а тип слота неизвестный, тип слота к примеру<Staff>, но ты не знаешь что <Staff> это <Staff>, как узнать какого класса слот(переменная)?И после того как узнали, попробовать преобразовать <UsableItem> в <Staff> ?

НЕИЗВЕСТНО var;
foreach (UsableItem i in inventory.OfType<НЕИЗВЕСТНО>())

Ответы>>848361>>848366

29 Сен, 15:39 #245 #848361

>>848360
Хули оно у тебя неизвестно? Ты не знаешь какие классы оружия создавал или что? Я твою мысль никак уловить не могу.

Ответы>>848363

29 Сен, 15:44 #246 #848363

>>848361
Не, ну я вообще, для общего развития спрашиваю, разве не может быть так что тип переменной может быть неизвестен? Или как-то динамически изменяется что в итоге сам не знаешь что там может быть.

29 Сен, 15:50 #247 #848364

>>848349
>>848354
https://dotnetfiddle.net/C5MB4G

29 Сен, 16:02 #248 #848366

>>848360
Паттерны подъехали: https://dotnetfiddle.net/OGDyG2

Ответы>>848368

29 Сен, 16:10 #249 #848368

>>848366
А как называется-то паттерн??

Ответы>>848372

29 Сен, 16:30 #250 #848372

>>848368
Visitor pattern

29 Сен, 17:59 #251 #848399

Пачаны, поясните за "c#2010 ускоренный курс для профессионалов Трей Нэш". Узнал много интересной хуйни, но однако настораживает, что 2010. Вреда не будет от того, что он такой старый?

Ответы>>848407

29 Сен, 18:12 #252 #848407

>>848399
Ну потом просто почитаешь, что добавили в 4.5 - 4.6, типа async/await и все.

29 Сен, 21:24 #253 #848459

Драч, помогай. Что за хуйня с этими dependencyproperty в wpf? Сделал кастомный контрол для DataGridTemplateColumn, дак вот, коллбэки вызываются каждый раз при появлении/сбросе фокуса на/с столбце, хотя изменений, на которые должны реагировать эти коллбэки, не происходит.

Ответы>>848475

29 Сен, 21:33 #254 #848460

Чето устроился на работу и дома совсем лень кодить.
хотя когда я не работал, то тоже не особо кодил, хуй знает как меня такого дауна взяли, лол.

29 Сен, 22:29 #255 #848475

>>848459
Так, с этим пока хуй с ним. Сделал кастом контрол, который унаследовал от ComboBox'a. Чому он не может не отображаться нивкакую на окне, если всякой добавочной логики минимум? То есть вот прям вообще нихуя: создал просто кастом контрол через мастера VS, в XAML'е выкладываю его на окно, а он нихуя, пустой. ЧЯДНТ?

Ответы>>848477

29 Сен, 22:32 #256 #848477

>>848475
Отбой, нашел причину.

Ответы>>848484

29 Сен, 22:42 #257 #848484

>>848477
Собсна, проблема "Драч, помогай. Что за хуйня с этими dependencyproperty в wpf? Сделал кастомный контрол для DataGridTemplateColumn, дак вот, коллбэки вызываются каждый раз при появлении/сбросе фокуса на/с столбце, хотя изменений, на которые должны реагировать эти коллбэки, не происходит.
" так и не решена. я чёт вообще в ахуе, при повторной фокусировке на контрол в дататемплейт коламне конструктор кастомного контрола вызывается каждый раз, пиздецнахуй. как это лечить?

30 Сен, 00:35 #258 #848499

Здравствуйте, господа.
Может мне кто-то помочь , готов заплатить немношк, если еще поясните как это сделать?

В общем, есть сайт по генерации лабиринтов http://www.mazegenerator.net/

Я написал небольшую прогу консольную, которая пнгшный файл с изображением лабиринта, полученная с этого сайта генерится в лабиринт в моей игре.
Потом этот самый лабиринт я использую в игре, сделанной на юнити.

Собственно вопрос. Как мне в программе отправить запрос за получение и сохранить картинку?
Прошу, помогите.

Ответы>>848527

30 Сен, 03:36 #259 #848527

>>848499
Устанавливаешь httpfox (или какое-нибудь другое дополнения для отслеживания запросов), запускаешь его, после чего генерируешь лабиринт. В списке появляется пост-запрос, который тебе нужен. Смотришь на его содержимое. А как отправить пост-запрос с нужными данными и обработать ответ с помощью кода, я думаю, ты сможешь загуглить.

Ответы>>848541>>850007

30 Сен, 14:12 #260 #848541

>>848527
хм, интересное решение. сегодня вечером попробую.
спасибо

30 Сен, 20:18 #261 #848675

Сап /pr/. Решил вкатиться в .NET, поясните почему данный код не показывает возраст в консоли, а только имя?

Вроде все правильно делаю, не?

class Program
{
static void Main(string[] args)
{
PersonTest p1 = new PersonTest("Dick", 20);
Console.WriteLine(p1.personName, p1.personAge);
Console.ReadLine();

}

public class PersonTest
{
public String personName;
public int personAge;
public PersonTest(string name, int age ) { personName = name; personAge = age; }
}

Ответы>>848685

30 Сен, 20:22 #262 #848678

бамп
да я макака

30 Сен, 20:24 #263 #848679

бамп

30 Сен, 20:40 #264 #848685

>>848675
нет, неправильно
тот вариант консоле.врайтлайн, который ты взял, использует форматированные строки

Ответы>>848688

30 Сен, 20:47 #265 #848688

>>848685

Подскажи как исправить

Ответы>>848689

30 Сен, 20:48 #266 #848689

>>848688
Console.WriteLine(p1.personName + p1.personAge);

Ответы>>848690

30 Сен, 20:49 #267 #848690

>>848689

Спасибо, няша.

30 Сен, 23:34 #268 #848768

Ребятки, короче сделал Итемы для корабля, инвентарь работает, но вот что, каждый итем вставляется в свой сокет. Корчое есть класс Item и класс Socket. У итема есть enum который говорит что это за итем вообще, и вот если итем Weapon, то оруийный сокет приводит Item в Weapon, и норм.А вот теперь сделать нужно обычные шмотки, пусть будет класс Devicе наследуемый от Item, но шмотки будут иметь уникальыне способности. Один итем чинить корабль, второй давать телепорт. И не совсем понятно как тут делать. Мне то и с оружием не понятно, класс веапон(который наследник итем) имеет пустой виртуальные метод FIre(), а его потомки уже переопределяют, и как-то некрасиво выходит. Или норм? Как делать правильно?

Ответы>>848836

30 Сен, 23:49 #269 #848772

Почему metanit.com в шапке нет?

Ответы>>848836

01 Окт, 09:55 #270 #848836

>>848772
ресурс хоть и хороший, но крайне поверхностно дающий сведения
тогда уж каждый высер в шапку будем включать

>>848768
наследованием в лоб в таких случаях ты упрешься в тупик достатощно быстро, что ты и сделал уже

Ответы>>848842>>848894

01 Окт, 11:05 #271 #848842

>>848836
>крайне поверхностно
>полный гайд по сисярпу, охуенный гайд по аспнету, потрясающий гайд по ксамарину
Ты на сайт заходил хоть?

Ответы>>848868

01 Окт, 12:05 #272 #848868

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

> крайне поверхностно
хотя да, с "крайне" я перегнул, признаю

вот что действительно, что я оттуда вынес - так это знания по WPF. и то потому, что другие источники мне ранее было читать лень/неинтересно

Ответы>>848877

01 Окт, 12:33 #273 #848877

>>848868
поссал на дауна (тебя)

Ответы>>848945

01 Окт, 13:03 #274 #848894

>>848836
>наследованием в лоб в таких случаях ты упрешься в тупик достатощно быстро, что ты и сделал уже

А как не в лоб?

Ответы>>848945

01 Окт, 15:25 #275 #848945

>>848877
встречайте супирсиньора-порватку. хелловорлд скомпилил уже?

>>848894
композицией + диспетчером объектов, либо хардкодить и привязывать поведение своих классов до не могу

01 Окт, 16:55 #276 #848968

Насколько важен в работе CIL? И нужен ли он вообще?

22 Кб, 1040x237

01 Окт, 19:19 #277 #849009

Охуевшие модеры прикрутили хуй пойми какие слова с спам-лист, который неизвестно где задекларирован, поэтому пикрилейтед.

Ответы>>849010>>849073

01 Окт, 19:23 #278 #849010

>>849009
вот я смотрю в чей-то код, а там var askjfhskdjghksjhdv = 5. ну, канеш, это что-то значит в расшифровке (либо кошка по клавиатуре прошлась), но совсем не очевидно.
у некоторых пул-реквесты закрывались из-за того, что переменная названа неочевидно/не в соответствии с выполняемым действием. такшо нехуй лениться, если это не пет-проджект

Ответы>>849019>>849036

01 Окт, 19:40 #279 #849019

>>849010

ленится не нужно, только каждую_переменную тоже не стоит так называть, кроме того есть еще худо-бедно общепринятые сокращения, типа i18n

383 Кб, 2560x1600

01 Окт, 20:12 #280 #849035

Анон, я к тебе с вопросом про ООП.
Если класс знает про своего наследника, то это нормально или нет?
Я хуево объясняю, но это что-то вроде: у нас есть классы A и B:A и в A есть свойство типа B.

Ответы>>849045

01 Окт, 20:16 #281 #849036

>>849010
а если над акронимом был бы комментарий поясгняющий?

Ответы>>849067>>849069

01 Окт, 20:37 #282 #849045

>>849035
Скорее всего, ты не до конца знаешь, какие возможности предоставляет наследование и полиморфизм. Сформулируй задачу конкретно.

Ответы>>849049

593 Кб, 1920x1200

01 Окт, 20:55 #283 #849049

>>849045
https://github.com/ppy/osu-framework/blob/master/osu.Framework/Graphics/Drawable.cs

Вот тут в классе есть:
Свойство "public Container Parent { get; set; }"
Метод "internal void ChangeParent(Container parent)"

Container это класс производный от Drawable. Это же плохо и так нельзя делать?

Ответы>>849064

01 Окт, 21:38 #284 #849064

>>849049
крякнул А, ну это GUI похоже. В гуи да, такое применяется и часто, типа чтоб при закрытии основного контейнера закрывались дочерние и типа того.

01 Окт, 21:43 #285 #849067

>>849036
камент написать не впадлу, а назвать переменную изначально развернуто - впадлу

01 Окт, 21:54 #286 #849069

>>849036

ты же понимаешь, что это неудобно. Нужно или умную иде держать чтобы комментарии в рантайме показывала, или переходить по имени переменной к её декларации. А что если переменных будет не 1 штука, а сотня, раскиданная по десятку неймспейсов?

01 Окт, 21:58 #287 #849073

>>849009
>IsCheckBoxInitializingSyncronizationActive
isInitSync

17 Кб, 813x325

14 Кб, 791x241

02 Окт, 13:21 #288 #849308

Чурбаны, а поясните вот ещё что. Допустим, есть коллекция, из которой нужно считывать объекты и делать с ними какие то действия. При этом есть булевый флаг, в зависимости от которого нужно либо прошерстить всю коллекцию, либо остановиться после первой успешной проверки определённого условия внутри цикла. И вот тут вопрос, если в коллекции ОЧЕ много объектов, целесообразно ли сделать иф-элс блок с двумя циклами, что ведёт к раздуванию и избыточности кода, или похуй, что стомилльёнов раз будет проходить проверка флага в единственном цикле?
пикрелейтед - иллюстрации того, что я пытался сформировать словами.

Ответы>>849309>>849427>>849451

02 Окт, 13:31 #289 #849309

>>849308
второй пик адекватен хотя бы потому, что отсутствует почти тотальное дублирование кода
а вопроса я так и не понял :(

Ответы>>849312

02 Окт, 13:39 #290 #849312

>>849309
Ну типа в первом варианте (v) не будет лишней проверки в каждой итерации, потому что поведение определено ещё до входа в цикл. А во втором случае есть дополнительная проверка в каждой итерации для определения поведения блока цикла. Мне показалось, что при большом количестве итераций лишняя проверка может повлиять на производительность. Или проверить байт это как два пальца обоссать даже на 101010

Ответы>>849314

02 Окт, 13:53 #291 #849314

>>849312
итераций?, забыл дописать, да.

Ответы>>849350

02 Окт, 15:07 #292 #849350

>>849314
тогда тебе все варианты не подходят. лучше (эффективней) вынести if (E.HasFlag) за пределы foreach. т.к. я перенабираю твой кiд со скрина, я подзаебался пытаться исправлять, посему сам

Ответы>>849362

02 Окт, 15:32 #293 #849362

>>849350
Но как он вынесет этот if за пределы foreach, если ему надо проверить всю коллекцию Items этим if? Или не надо?

Ответы>>849400

02 Окт, 16:21 #294 #849400

>>849362
с помощью TakeWhile и FirstOrDefault

Ответы>>849408

02 Окт, 16:31 #295 #849402

Котаны, пишу робота, который авторизуется и парсит сайты. Как получить итоговый код хтмл, который находится в теге iframe. Как я понял, он заполняется результатом выполнения описанных в нем скриптов. Использую хромиум, в его окне страница в итоговом виде отображается, фидлер показывает что скрипты отработали, но когда я смотрю хтмл код с формы, там результатов работы скриптов нет, а только ссылки на сами скрипты.

02 Окт, 16:42 #296 #849408

>>849400
И как ты себе это представляешь вообще?

Ответы>>849414

02 Окт, 16:52 #297 #849414

>>849408
да легко

Ответы>>849416

02 Окт, 16:53 #298 #849416

>>849414
Если вынести if (E.HasFlag) за foreach, то foreach уже и не нужен будет. Я вот никак не могу уловить ход твоих мыслей.

Ответы>>849425

02 Окт, 17:03 #299 #849419

Кто нибудь в WPF делал кастомные контролы для MenuItem? ну типа делаю кастомный класс и наследую его от menuitem Почему они не показываются в приложении при запуске, чего мне не хватает ?

Ответы>>849422

02 Окт, 17:10 #300 #849422

>>849419
А всё, нашёл решение.

02 Окт, 17:14 #301 #849425

>>849416
ну, сам блок foreach там будет использоваться неявно. можно прибегнуть и к его помощи непосредственно, но это будет аналогичное громоздкое решение

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

Ответы>>849429

50 Кб, 610x610

02 Окт, 17:16 #302 #849427

>>849308
Объясните мне зачем ему enum айтемов если их можно в обычную коллекцию типа листа запихнуть? Я слишком нуб и чего то не понимаю?

Ответы>>849438>>849482

02 Окт, 17:21 #303 #849429

>>849425
А в чем профит заменять обычный foreach на TakeWhile?

Ответы>>849431

02 Окт, 17:26 #304 #849431

>>849429
шобы потом сделать LiB.LP.SelectedItems.AddRange
опять таки, на любителя (хотя в случае с List-ом было бы эффективней)

02 Окт, 17:40 #305 #849438

>>849427
у него коллекция enum-ов

Ответы>>849439

8 Кб, 247x200

02 Окт, 17:41 #306 #849439

>>849438

02 Окт, 17:54 #307 #849451

>>849308
Я нихуя не понял. Такой вариант устроит?
https://dotnetfiddle.net/g2B5L6

Ответы>>849463>>849469>>849482

74 Кб, 604x441

02 Окт, 18:02 #308 #849463

>>849451

02 Окт, 18:10 #309 #849469

>>849451
Если нужна разная обработка, в зависимости от того, берём один или много элементов, можно так сделать.

https://dotnetfiddle.net/etu5Gg

Ответы>>849482>>849484

02 Окт, 18:20 #310 #849482

>>849427
Если в кратце, пикрелейтед с моего первого вопроса - часть контрола в WPF, в который загружаются перечисления об определённом объекте. (Типа перечисления районов/этажей/деталей объекта, которые поддаются перечислению и их количество ограничено) Благодаря этому в БД хранится лишь интовое число, а при загрузке данных в клиентское приложение интовое число преобразуется в флаговый энум, который парсится, и в контроле (листбокс в popup'е, элементы которого либо радиобаттон либо чекбокс, в зависимости от флага UseAsFlaggedEnum, который определяется в зависимости от заказываемой таблицы), во первых, в список предметов добавляются все элементы перечисления, и во вторых, отмечаются соответствующие столбцу,строке в БД.
>>849451
>>849469
Да мне не нужна была конкретная реализация. Я остановился на (S) варианте, но мне просто чё то стало интересно, допустимо ли с этической точки зрения плодить код ради мельчайшего улучшения производительности, который в моём случае и заметен не будет, ибо один хуй энумы интовые и больше 63 (127?) сёравно хуй засунешь.

Ответы>>849501>>849776

100 Кб, 500x375

02 Окт, 18:21 #311 #849484

>>849469

164 Кб, 512x286

02 Окт, 18:43 #312 #849501

>>849482
>Благодаря этому в БД хранится лишь интовое число
Щито? Захуй тебе тогда бд вообще, если по сути вся инфа хранится у клиента? Что за хуйню я только что прочитал?

Ответы>>849515

02 Окт, 18:48 #313 #849509

Анон помоги. Что обычно требуется знать .net джуну? Важно ли знать дохуя паттернов, или достаточно ООП, алгоритмов и языка? Читаю Троелсена, все достаточно легко и понятно, что еще можно почитать?

Ответы>>849519>>849545

02 Окт, 18:50 #314 #849515

>>849501
У клиента просто инструкции по отображению инфы. int вместо varchar(100500) на сервере, чтобы меньше байт передавалось с сервера клиенту и обратно.

Ответы>>849516

02 Окт, 18:54 #315 #849516

>>849515
Ты так хуево все объяснил, что я сначала подумал что все расчеты проводятся на стороне клиента, а на сервере одни инты в бд хранятся за каким то хуем.

02 Окт, 18:55 #316 #849519

>>849509
Уметь писать нормальный код под имеющуюся задачу без решарпера. Всё.

>Читаю Троелсена
Да хоть Троллсена. Один хрен не поможет. Учись на реальных задачах, книги не нужны.

Ответы>>849523>>849525>>849952

02 Окт, 18:56 #317 #849523

>>849519
Но это требования к мидлу же.

Ответы>>849527

02 Окт, 19:00 #318 #849525

>>849519
Читаю чтобы систематизировать знания и различать String и string, ага. Практикой давно занимаюсь: ищу/ставлю себе задачу и делаю

Ответы>>849527

02 Окт, 19:11 #319 #849527

>>849523
>это требования к мидлу
Проиграл. В голос.

>>849525
>и различать String и string, ага
Для всего этого есть MSDN + StyleCop + встроенные средства VS 2015, а не книги, хуй пойми когда написанные.

Ответы>>849530

02 Окт, 19:18 #320 #849530

>>849527
Джун который может самостоятельно что то писать под имеющуюся задачу и которому не нужен наставник это уже не джун вовсе. Что за хуйню ты городишь?

Ответы>>849531

02 Окт, 19:20 #321 #849531

>>849530
А кто такой джун тогда? Мартыхан, клепающий классы по шаблонам?

Ответы>>849535

02 Окт, 19:24 #322 #849535

>>849531
Именно он и есть. Пиздец я бы таких как ты палками пиздил - уеба с опытом и умением работы прибедняется и идет на джуна, хотя знаний и опыта на мидла, а настоящим джунам, которым этот опыт работы в настоящей компании очень нужен, остается только хуй сосать.

Ответы>>849536>>849552

02 Окт, 19:26 #323 #849536

>>849535
>Именно он и есть
Ну ок, я думал ты пошутил так.

>Пиздец я бы таких как ты палками пиздил
Не стоит, я у джунов хлеб не забираю и не занимаю их должности.

Ответы>>849539

02 Окт, 19:31 #324 #849539

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

Ответы>>849545

02 Окт, 19:36 #325 #849545

>>849539
>обучаемость
Важнейшее качество, соглашусь.

Короче, >>849509, если ты обучаемый - работу в любом случае найдёшь. Могут пару раз завалить на собеседованиях по поводу какой-то несусветной хуиты, но рано или поздно найдутся те, кто тебя возьмёт на работу.

Ответы>>849562

02 Окт, 20:00 #326 #849552

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

02 Окт, 20:11 #327 #849562

>>849545
Немного успокоили, спасибо.

LINQ 02 Окт, 20:19 #328 #849567

Быстро решительно, у тебя есть 5 секунд, как вернуть несколько объектов из списка с максимальными значениями одного из полей сего объекта. За один проход можно же, няши?

Ответы>>849571>>849574>>849600

02 Окт, 20:22 #329 #849571

>>849567
Linq

Ответы>>849573

02 Окт, 20:24 #330 #849573

>>849571
НУ а метод какой?

Ответы>>849576

02 Окт, 20:24 #331 #849574

>>849567
orderby считается одним проходом?

02 Окт, 20:26 #332 #849576

>>849573
Where/Select + Max, скотина ты ленивая.

Ответы>>849581>>849582

02 Окт, 20:31 #333 #849581

>>849576
чот я не понял, как с помощью Where и Max ты выберешь инстансы с максимальными значениями чего-либо?
Select я в каком-то упоротом варианте, возможно, смогу представить

Ответы>>849584

02 Окт, 20:32 #334 #849582

>>849576
Как же я тебя люблю, что за вэрэ и селект? Ладно пойду гуглиться.

>orderby считается одним проходом?
Не знаю, браток, мне казалось есть простое решение, нажать кнопку и всё готово, а нихуя

Ответы>>849591

02 Окт, 20:33 #335 #849584

>>849581
Анонимные типы, Люк. Используй их и всё получится.

Ответы>>849591

02 Окт, 20:37 #336 #849591

>>849584
https://dotnetfiddle.net/PDGHkq
что я должен указать, дабы все получилось по свойству A?

>>849582
OrderByDescending(item => item.Prop).Take(count);
так непросто?

Ответы>>849594

02 Окт, 20:40 #337 #849594

>>849591
Что должно в итоге получится, ты можешь нормально описать?

Ответы>>849595

02 Окт, 20:42 #338 #849595

>>849594
> вернуть несколько объектов из списка с максимальными значениями одного из полей сего объекта
речь до сих пор идет только об этом

Ответы>>849599

02 Окт, 20:45 #339 #849599

>>849595
Блядь, OrderBy это не то же самое, что выбирать по максимальному значению свойства.
Если я тебя правильно понял, замени строку 9 в своём фиддле на
foreach (var item in GetAzaza().OrderByDescending(i => i.A))
А иначе точнее объясняй задачу.

Ответы>>849602

02 Окт, 20:46 #340 #849600

>>849567
https://dotnetfiddle.net/GdGcKA

Ответы>>849603>>849627>>849783

02 Окт, 20:47 #341 #849602

>>849599
да еб же твою мать. человек спрашивает:
> как вернуть несколько объектов из списка с максимальными значениями одного из полей сего объекта
ты (или не ты, мне похуй) отвечаешь:
> Where/Select + Max
я, в недоумении, как же ты собрался оперировать сими методами в данной задаче. ты же, блять, сводишь все к Order

Ответы>>849605

02 Окт, 20:49 #342 #849603

>>849600
а если последний элемент в списке, как выяснится, будет самым весомым, ты вернешь List<> с одним этим элементом? я чет не догоню

Ответы>>849608

02 Окт, 20:51 #343 #849605

>>849602
Ты идиот или прикидываешься? Селектишь итемы (и свойства в массивы если нужно), дальше смотришь что там по Max в массивах получается, возвращаешь искомое значение.
Нахуй ты тогда здесь OrderBy в фиддле приплёл? Выражайся яснее.

Ответы>>849611

02 Окт, 20:53 #344 #849608

>>849603
На 49 строке мы обнуляем возвращаемый массив - это произойдёт в том случае, если текущий элемент весомее тех, что хранятся в массиве.

> ты вернешь List<> с одним этим элементом?
Да.

Ответы>>849611

02 Окт, 20:54 #345 #849611

>>849605
прикидываюсь
что мне нужно в фиддле своем нопесать в foreach для того, чтобы выполнить сее действие?

>>849608
ну а в чем фишка если мне, допустим, надо два объекта?

Ответы>>849614>>849615>>849619

02 Окт, 20:56 #346 #849614

>>849611
Сортируешь по величине и вытаскиваешь первые два.

02 Окт, 20:57 #347 #849615

>>849611
>ну а в чем фишка если мне, допустим, надо два объекта?

Он вернёт два объекта, если они равны по заданному полю и это поле максимальное для твоего массива.

02 Окт, 20:59 #348 #849619

>>849611
>прикидываюсь
Тогда сформируй задачу так, чтобы людям понятно было.

Ответы>>849620

02 Окт, 21:02 #349 #849620

>>849619
человек описал ее выше
я привел для наглядности фиддл с указанием готовых объектов
как мне, используя Where/Select/Max в моем фиддле отобрать несколько инстансов с максимальными значениями свойства А?

Ответы>>849623

02 Окт, 21:04 #350 #849623

>>849620
var sortedList = listOfSomeClasses.OrderBy(r => r.SomeValue).Reverse();
И вытягиваешь столько максимальных значений, сколько тебе нужно.

Ответы>>849632

02 Окт, 21:07 #351 #849627

>>849600
Поясните, плиз, чем мой вариант не устраивает. Или я неправильно понял, что ему нужно?

Ответы>>849630

02 Окт, 21:08 #352 #849630

>>849627
Просто ты изобрел велосипед.

Ответы>>849636

02 Окт, 21:11 #353 #849632

>>849623
> используя Where/Select/Max

Ответы>>849634

02 Окт, 21:13 #354 #849634

>>849632
Зачем?

Ответы>>849637

02 Окт, 21:14 #355 #849636

>>849630
Но ведь подобного метода нету ни в стандартной поставке, ни в популярных либах.

Тем более, если требованием является сделать это за один заход, то цепочка из операторов из Where/Select/Max здесь явно не подойдёт.

Ответы>>849643

02 Окт, 21:17 #356 #849637

>>849634
ты это указал как решение задачи, которого (решения) я не понял. во что я сейчас и пытаюсь въехать

Ответы>>849639

02 Окт, 21:19 #357 #849639

>>849637
>ты это указал
Чо блять? Я вообще мимо проходил.

Ответы>>849641

02 Окт, 21:21 #358 #849641

>>849639
охебанаврот

02 Окт, 21:27 #359 #849643

>>849636
Думаю под одним заходом он имел ввиду то, что нужно все записать одной строчкой, а не писать простыню с новыми методами, классами и прочим.

Ответы>>849649

02 Окт, 21:33 #360 #849649

>>849643
Тогда вот так.
https://dotnetfiddle.net/y95bpa

Ответы>>849651

02 Окт, 21:36 #361 #849651

>>849649
Странно рандом на фиддл работает, у меня всегда выдает 29.

Ответы>>849654

02 Окт, 21:41 #362 #849654

>>849651
Генерируется 100 объектов. У каждого объекта поле Prop в диапазоне от 0 до 29. Потом берутся объекты с максимальным полем и выводятся.

Если уменьшить число объектов или поменять верхнюю границу значения поля Prop, то тогда результат будет меняться.

Ответы>>849658

02 Окт, 21:49 #363 #849658

>>849654
Короче, если не понятно. Вот без всей хуйни с рандомом.
https://dotnetfiddle.net/TQlJSc

Ответы>>849661

02 Окт, 21:52 #364 #849661

>>849658
Да я то понял, но как уже тут писали, можно сделать проще.
https://dotnetfiddle.net/7JjYkl

Ответы>>849665

02 Окт, 21:55 #365 #849665

>>849661
Откуда 5 в Take берётся? Разве ему нужно не все объекты, у которых заданное поле максимальное?

Ответы>>849668>>849670

02 Окт, 22:00 #366 #849668

>>849665
> Разве ему нужно не все объекты, у которых заданное поле максимальное?
> Как вернуть несколько объектов из списка с максимальными значениями одного из полей сего объекта

Я слепой мудак, прошу прощения. Несколько - это сколько? Все, или какое-то константное значение?

Ответы>>849670

02 Окт, 22:02 #367 #849670

>>849665
>>849668
Сколько захочет - столько и возьмет. Если не любит магические числа, то пропишет константу, а мне лень было.

02 Окт, 22:57 #368 #849707

есть 2 массива, например: [1, 1, 3] и [1, 3, 4, 1]
надо как-то проверить, чтобы все элементы одного были в другом. т.е. если в одном две единицы, то и в другом должно тоже быть 2 единицы.
Как это сделать?

Ответы>>849711>>849720

02 Окт, 23:00 #369 #849711

>>849707
хранить объекты "соответствий" элементов массивов и при нахождении пары проверять, дабы этот индекс не был использован ранее. хотя так се решение, имхо

02 Окт, 23:08 #370 #849720

>>849707
https://dotnetfiddle.net/gdHVtd

02 Окт, 23:14 #371 #849724

Раз тут такая мутка, то скажите и мне, как найти допустим три ближайших объекта, и как оно работает, массив сортируется, после чего просто загребются первых три элемента?

10 Кб, 483x357

03 Окт, 00:09 #372 #849740

Помогите разобраться с WPF. Я нашёл, как сделать привязку с INotifyPropertyChanged в коде, но как сделать это же в разметке xaml? Это вообще возможно?

Ответы>>849764

03 Окт, 01:14 #373 #849764

>>849740
https://ru.stackoverflow.com/questions/269615/wpf-привязка-данных-из-объекта

Ответы>>849797

03 Окт, 02:35 #374 #849776

>>849482
щито тебе не нравится?

03 Окт, 03:07 #375 #849783

>>849600
поясните-ка этот момент
where TR : IComparable<TR>

Ответы>>849785

03 Окт, 03:32 #376 #849785

>>849783
Данный кусок кода ставит ограничение для обобщённого элемента. В данном случае мы говорим, что тип TR должен реализовывать интерфейс IComparable<TR>

Интерфейс IComparable предоставляет метод CompareTo для сравнения двух элементов (дата, число и т.п.). Если не указывать это ограничение, то в обобщённом методе нельзя будет вызвать метод CompareTo, т.к. не у любого объекта он доступен, а только у реализующих указанный интерфейс.

http://professorweb.ru/my/csharp/charp_theory/level11/11_3.php

03 Окт, 07:01 #377 #849797

>>849764
Спасибо, а там ещё написано, что датаконтекст можно поставить в разметке, как это сделать?

Ответы>>849804

03 Окт, 07:37 #378 #849804

>>849797
<Window.Resources>
<local:aViewModel x:key=aVM>
</Window.Resources>
<Grid DataContext="{Static Resource aVM}">
</Grid>
если view model с параметром в конструкторе, то придется прибегнуть к ObjectDataProvider
Также размещаешь в ресурсах, указываешь тип объекта, параметры конструктора и чё то там ещё, и также в DataContext грида пихаешь

Ответы>>850888

03 Окт, 08:11 #379 #849811

Каким образом можно сгенерировать файл с классом на основе информации полученной с ресурса?
Например я заполнил List данными и теперь мне нужно с его данными создать файл с классом по шаблону.

Ответы>>849815

03 Окт, 08:22 #380 #849815

>>849811
Попробуй еще раз, а лучше нарисуй.

Ответы>>849826

03 Окт, 08:42 #381 #849826

>>849815
Что тут непонятного. На стороннем ресурсе есть список, который нужен мне в виде физического класса в одном проекте.
Т.е я не хочу парсить это в рантайме, мне проще иметь его в виде статического класса с List или Dictionary. Можно ли как-то его сгенерировать из шаблона в ооп стиле, не хочется билдить это строками, без форматирования. Или может билдить строками и пропустить через утилиту форматирования, но мб есть другой путь.

Ответы>>849836>>849845

03 Окт, 09:16 #382 #849836

>>849826
проблема в количестве данных или ты решил, что такой способ будет забавней?

Ответы>>849844

03 Окт, 09:34 #383 #849844

>>849836
Да, данных много, наверно даже заюзаю lazy.
Ну в общем сделал через StringBuilder, вышло кучеряво.

03 Окт, 09:36 #384 #849845

>>849826
Тебе просто данные захардкодить? T4 шаблоны. Можешь просто файл с данными рядом с собой положить и не выебываться

Ответы>>849846>>849849

03 Окт, 09:40 #385 #849846

>>849845
[code=csharp]test();[/code]

Ответы>>849847

03 Окт, 09:44 #386 #849847

>>849846
>Unexpected token

03 Окт, 09:53 #387 #849849

>>849845
Тут просто данные периодически обновляются, не часто, но все же. И они на стороннем ресурсе.

Ответы>>849871

03 Окт, 10:57 #388 #849871

>>849849
Так тем более положи в файл, потом прост заменять его будешь, вместо перекомпиляции.

Ответы>>849876

03 Окт, 11:20 #389 #849876

>>849871
Так жеж это лишняя работа.

16 Кб, 400x331

03 Окт, 12:13 #390 #849895

Интересно, а можно ли на основе метаданных полностью переписать чужую сборку в код?

Ответы>>849924>>850020

03 Окт, 13:01 #391 #849924

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

03 Окт, 13:46 #392 #849952

>>849519
> без решарпера
схуяли?

03 Окт, 15:25 #393 #850007

>>848527
Инструменты разработчика есть в любом браузере, даже ничего устанавливать не нужно

03 Окт, 16:01 #394 #850020

>>849895
дык на лету можно даже инжектировать инструкции/данные

04 Окт, 07:18 #395 #850300

Не тонем.
Аноны, есть такая проблема: есть файл на сетевой шаре, файл постоянно дописывается, мне надо новые строки из него читать. Вроде бы хуйня, но не получается. Открываю через FileStream, выставляю FileShare.ReadWrite, но таки третья программа в этот момент не может открыть файл на чтение, а выдает только "permission denied". Как-то победить можно?

Ответы>>850308>>850344>>850958

04 Окт, 08:30 #396 #850308

>>850300
Если тебе только читать то зачем тебе write?

Ответы>>850318

04 Окт, 08:48 #397 #850318

>>850308
Эта константа определяет, как файл шарится же. https://msdn.microsoft.com/ru-ru/library/system.io.fileshare(v=vs.110).aspx
А файл я конечно в режиме чтения открываю.

04 Окт, 08:51 #398 #850319

У кого-нибудь t4 шаблоны добавляются в проект net core?

04 Окт, 09:26 #399 #850331

Учу шарп. Посмотрел ASP.NET MVC и NancyFX, нэнси нравится больше. Насколько хорошей идеей будет учить вначале нэнси, а потом асп эмвиси?

Ответы>>850338

04 Окт, 09:28 #400 #850332

Какие смежные знания требуются шарперу? Вот например жавист или питонист должен знать основы линукса и MySQL/PostgreSQL, жаваскриптер должен знать сборщики типа gulp и webpack, основы ноды. А что дополнительно нужно шарперу?

Ответы>>850334

04 Окт, 09:34 #401 #850334

>>850332
редко что-то требуют
шейрпоинт, жс. например

Ответы>>850336

04 Окт, 09:40 #402 #850336

>>850334
сикуль

04 Окт, 09:49 #403 #850338

>>850331
А что там учить в ненси это довольно таки простой микрофреймворк, на котором можно быстро что-нибудь запилить.
Смотря какие у тебя цели, на работе тебе будет нужен 4ый и возможно если новый проект то core.
Для себя я уже решил что буду писать на core и старые проекты на ненси тоже переведу на новый асп. Он тоже довольно-таки прост в освоении.

04 Окт, 10:24 #404 #850344

>>850300
Аноны, ну есть какое-то решение? Открываю по всем инструкциям, не блокируя файл, и всё равно другая программа открыть его не может.
using (FileStream fileStream = new FileStream(plFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))

Ответы>>850352>>850958

04 Окт, 10:57 #405 #850352

>>850344
ПК, на котором выполняется третья программа, имеет доступ к чтению файла? Имею ввиду, ОС позволяет?

Ответы>>850353

04 Окт, 11:00 #406 #850353

>>850352
Да, имеет. Если мою программу закрыть, то доступ на третьем ПК начинает работать

04 Окт, 13:40 #407 #850394

Посоветуйте книжку по ООП с нормальными примерами на шарпе.
Пытался навернуть "Объектно-ориентированные мышление" от Вайсфельда - будто говна поел, еще и большинство примеров на ломаной джаве.

Ответы>>850427

04 Окт, 14:36 #408 #850427

>>850394
Троелсен

Ответы>>850481

04 Окт, 14:40 #409 #850432

Создал проект на Нэнси. Кроме основного файла программы добавил отдельный файл с роутером и рандомным названием файла и класса, но стандартным неймспейсом. И он... работает! Как? Откуда программа узнала об этом классе? Она что, автоматически парсит все .cs файлы? Их не нужно подключить вручную? Где можно прочитать про принцип работы этого?

Ответы>>850709

04 Окт, 15:37 #410 #850481

>>850427
Всего 90 страниц про основы ООП, очень кратко.

Ответы>>850534

04 Окт, 17:06 #411 #850534

>>850481
да это с опыт приходит, анон.

так, если хочешь, то паттерны проектирования хорошо мозги вправляют еще.

04 Окт, 20:30 #412 #850671

Что скажете об "C# 4.0 и платформа .NET 4 для профессионалов." Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон? Насколько годная, какой порог вхождение?

Ответы>>850683>>850713

04 Окт, 20:41 #413 #850683

>>850671
вах зачем сышарб чотыриноль?

Ответы>>850710>>850711

04 Окт, 21:44 #414 #850709

>>850432
> Создал проект на Нэнси. Кроме основного файла программы добавил отдельный файл с роутером и рандомным названием файла и класса, но стандартным неймспейсом. И он... работает! Как? Откуда программа узнала об этом классе? Она что, автоматически парсит все .cs файлы? Их не нужно подключить вручную? Где можно прочитать про принцип работы этого?
Там небось класс или метод атрибутами декорируются?

Ответы>>850724

04 Окт, 21:45 #415 #850710

>>850683

04 Окт, 21:45 #416 #850711

>>850683
а разница-то?

Ответы>>850714>>850719

04 Окт, 21:46 #417 #850713

>>850671
Зачем вообще начиеающим читать что-то кроме Трэлсона? Вы же не про цене выбираете, все равно все бесплатно.

04 Окт, 21:49 #418 #850714

>>850711
Разница в async await (важно), строчной интерполяции, дефолтных значения свойств и прочего с# 6 сахара(не очень важно)

Ответы>>850894>>850936

04 Окт, 21:51 #419 #850719

>>850711
начиная с c# 5.0 завезли async и await, (в 6,0 ещё и их поддержку в catch-finally блоках), что хоть и является лишь синтаксическим сахаром, но поможет разгрузить код от ебанутых конструкций типа
Task<int> A = new Task(...);
Task B = A.ContinueWith(()=>{a = A.Rezult();})... ну и прочий приятный синтаксический сахар, который может сделать код более наглядным. Оператор nameof() может пригодится в WPF при использовании биндингов.

Ответы>>850894

04 Окт, 21:58 #420 #850724

>>850709
Наследуется от NancyModule.

Ответы>>850753

04 Окт, 22:24 #421 #850753

>>850724
Вот тебе и ответ

20 Кб, 1000x1000

04 Окт, 23:36 #422 #850802

Анон, ты знаешь какой-нибудь быстрый способ вкатиться в OpenGL+OpenTK? Судя по гуглу, OpenGL Superbible мой друг, но 880 страниц это дохуя. Если что, мне глубокое понимание и 3D не нужно. Но хочу хотя бы иметь представление о всяких там vertex, batch, transform, shader ну или что там еще можно в 2D игрушке встретить.

Ответы>>851030

05 Окт, 07:20 #423 #850888

>>849804
А я ещё вот такой вариант методом тыка нашёл. Если в MainWindow есть ссылка на объект, из которого надо брать данные (напр., myObject со свойством myProperty), то можно написать DataContext="this.myObject", и потом в контроле (напр., текстбоксе) вот так: Text="{Binding Path=MyProperty, UpdateSourceTrigger=PropertyChanged}".

А со статик ресурсом будет лучше (если да, то чем), или без разницы?

Ответы>>850893

05 Окт, 07:40 #424 #850893

>>850888
с точки зрения производительности - без разницы. возможно, даже лучше все контролы и вообще ебаное всё делать в коде, ибо код КЗАМЛа конвертируется в БАМЛ (бинарное представление), а потом вроде прям при запуске парсится и генерируются контролы. но с другой стороны, похоже разница в скорости милипиздронческая будет, так что рекомендуется весь UI код писать в кзамле, просто потому что это визуально разделяет бизнес логику и представление (паттерн MVVM все дела ебала). Типа, если не впихивать всё в кзамл, то у тебя помимо this.DataContext = myObject; ещё потом строчка появится, которую можно было в кзамле прописать, потом ещё и ещё и в итоге у тебя 1/4 c# кода может быть вынесена в кзамле, а вместо этого ты прокручиваешь его каждый раз, когда тебе нужно изменить/вспомнить как работает бизнес логика.

05 Окт, 08:12 #425 #850894

>>850714
>>850719
я знаю про разницу 4.0 и всех остальных версий. глобально разница-то в чем? TPL есть и в четвертом, nameof заменяется атрибутом типа CallerNameAttribute, если правильно помню. остальной сахар всего-лишь сахар. канеш писать на новой версии всегда приятней, не спорю. но в обучении-то какой принципиальный момент есть?

05 Окт, 08:27 #426 #850897

Здравы буде, бояре.

Направляемый наставлениями премудрых волхвов создал клинопись рабочую с использованием mssql да на windows forms. И всё бы ничего, но решимостью одержимый оптимизировать код натолкнулся на темную область в своем разуме.

На одной из скрижалей надобно мне одну и ту же надпись в несколько label'ов залить, поступил по-древлянски сначала, присвоив каждому эту надпись вручную, но должно же это как-то и слаще делаться? Или ошибаюсь я?

Ответы>>850898

05 Окт, 08:32 #427 #850898

>>850897
можешь присвоить лейбмлам тег уникальный, и потом делаешь что нибудь типа
foreach(Control C in this.Controls)
if (C is Label && C.Tag=="uniqueTag")
((Label)C).Text="newtext";

Ответы>>850899>>850913>>850914

05 Окт, 08:36 #428 #850899

>>850898
>тег уникальный

Спасибо, я все вокруг этого свойства крутился.

05 Окт, 09:59 #429 #850913

>>850898
Хм. Ниработаит. Почему-то проверяет кнопки, лол. Напрямую
label1.Text = label2.Tag.
втыкается, а вот почему он на кнопках цикл гонит.
Пробовал в условии ставить Label C in Controls, сразу же исключение вываливается - "невозможно батон к лэйблу привести". Смешно чота

Ответы>>850914>>851032

05 Окт, 10:04 #430 #850914

>>850913
и лейбл и баттон наследуются от контрола. видимо, в логику foreach не вложена проверка допустимости приведения типа, поэтому приходится действовать, как я изложил в >>850898
foreach(Control C in this.Controls)
if (C is Label && C.Tag=="uniqueTag")
((Label)C).Text="newtext";

Ответы>>850921>>850987

05 Окт, 10:18 #431 #850921

>>850914
Прости, но я именно так и делал сначала, потом уже стал экспериментировать.
Тут видимо надо получать коллекцию только лэйблов для начала, а потом уже по нему гонять с проверкой.

05 Окт, 10:44 #432 #850933

Ебать, я поехавший. Мне ж как покрасивее надо, а не учел, что groupBox - контейнер. Надо было не с зыс контролс брать для перебора, а с групбокса именно.

Спасибо еще раз

05 Окт, 11:15 #433 #850936

>>850714
async await же еще с 4.5 добавили, не?

Ответы>>850937

05 Окт, 11:16 #434 #850937

>>850936
C#5 4.5framework*

05 Окт, 11:56 #435 #850958

>>850300
>>850344
В итоге так и не получилось у меня это победить. Пришлось городить костыли: мониторю дату изменения файла, и в случае изменения читаю весь файл с последней измененной строки (её тоже запоминаю). Благо, единственная прога, которая пишет в файл, только добавляет новые строки, ничего не удаляя. Но это как-то через жопу, и мне не нравится, если честно.

05 Окт, 12:59 #436 #850987

>>850914
> в логику foreach не вложена проверка допустимости приведения типа
Если бы это было так, то это был бы не язык программирования, а сплошной анал-карнавал.

05 Окт, 14:00 #437 #851030

>>850802
>в 2D игрушке
бери гамак и лепи. а если любишь шарпы, то юнети и вперед.
иди в /gd/, там найдешь тред юнетей.
еще там один доброанон выложил цикл уроков по юнете для самых маленькихна ютабе ищи level gd. за выходные осилишь.

Ответы>>851102

05 Окт, 14:05 #438 #851032

>>850913
Не понял, что тебе не нравится. Оно и будет проверять кнопки. Цикл пройдётся по всем контролам в форме, но вставит текст только лэйблам с указанным тегом.

Ответы>>851079

05 Окт, 15:24 #439 #851079

>>851032
Мне всё нравится. Я уже отписался. Кстати, во многом и допёрло, что дело в групбоксе, из-за того, что кнопки всплывали

05 Окт, 15:58 #440 #851102

>>851030
Мне нужно разобраться с готовым open source проектом на самодельном фреймворке. Так что юнити мне не нужно от слова совсем.

Ответы>>856400

17 Кб, 549x357

05 Окт, 22:00 #441 #851273

Так, шарпаны, напомните, что делать в таких ситуациях (пикрелейтед)
имею ввиду как убрать эту ебучую точность, когда вместо 0 получается 0.0099999999999Е-17?

Ответы>>851280>>851311

05 Окт, 22:06 #442 #851280

>>851273
decimal

Ответы>>851286

05 Окт, 22:14 #443 #851286

>>851280
кастовать всмысле или куда?

Ответы>>851299

05 Окт, 22:21 #444 #851299

>>851286
Ну ты левую и правую границы и шаг как получаешь? double.parse? Вот сделай decimal.parse.

05 Окт, 22:26 #445 #851311

>>851273
О, спасибо. И вот ещё вопрос. Допустим есть приложение, которое для своих нужд создаёт дочерние процессы. Если основной процесс завершает работу аварийно, как пиздануть все дочерние процессы?

05 Окт, 22:40 #446 #851324

>>845034
Не понял, метод можно напрамую подписывать на событие?
Зачем тогда во всех книгах описывают это только с помощью делегатов? Как я вообще до этого должен был дойти?

Ответы>>851623

06 Окт, 01:49 #447 #851379

Доставьте годный гайд/книгу/что угодно про Xamarin.

Ответы>>851387

06 Окт, 02:22 #448 #851387

>>851379
https://channel9.msdn.com/Shows/XamarinShow

102 Кб, 811x882

06 Окт, 09:12 #449 #851420

Бесконечный цикл, чзх
byte res = new byte[256];
for(byte i = 0; i <= 255; i++)
{
res = i;
}

Ответы>>851421>>851423>>851424

06 Окт, 09:15 #450 #851421

>>851420
res=i

06 Окт, 09:21 #451 #851423

>>851420
Сука сраный ондроед, ну, думаю, все поняли

06 Окт, 09:22 #452 #851424

>>851420
в прошлом треде такой же вопрос был вроде. у байта максимальное значение = 255, потом переполнение, в результате (если на 1) которого число становится = 256%256=0, что и происходит в твоём случае. сделай условие <255

06 Окт, 11:11 #453 #851447

есть циклический процесс, который делает дела с удаленными сервисами/серверами -> практически вся работа идет через Connection's и Stream. естессно вся Disposable фигня обернута в using

но после каждого цикла остается ~60-80 мегабайт памяти, занятой System.Byte[]. прошерстя профайлером, убедился, что все их корни идут от тех самых стримов, сериализаторов, коннэкторов и всей прочей шешуры, которых уже и след давно простыл

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

гуглы ничего адекватнее using/Dispose не говорят. пробовал и обнулять все объекты по выходу из цикла, и вызывать GC.Collect (хотя бы для того, чтобы оценить потенциальный результат). но все, к чему привело - уменьшение скорости выделения памяти под себя. т.е. проблема не ушла, но стала совсем на писечку менее явной. есть один "пример", который, используя винАПИ, принудительно делает deallocate памяти под процесс, но это во-первых так себе, а во-вторых имеет такую проблему, что я не знаю, сколько реально памяти можно сожрать

вообще, есть методы борьбы с подобными процессами? в частности, как определить, почему мусор, являющийся мусором, не умирает. а если мусором не является (в чем я сомневаюсь ибо в конце концов процесс съедания памяти имеет предел), то что его держит в живых?

Ответы>>851636

06 Окт, 17:15 #454 #851623

>>851324
SOOPER BUMB VOPROSU

Ответы>>851636>>852031

06 Окт, 17:44 #455 #851636

>>851623
а это не делегат?
this.gridView.SelectionChanged += this.gridView_SelectionChanged
я чота не пойму

>>851447
крч оказалось все очень как страшно. забита память, в основном, объектами типа System.Collections.Concurrent.ConcurrentStack+Node<Object>, поверхностная информация о жизни которых выглядит как-то так:

Domination path for "System.Collections.Concurrent.ConcurrentStack+Node<Object>" from "Survived objects of the value type System.Byte[] "
Holds 60176192 B in 5576 objects

System.PinnableBufferCache ->
System.Collections.Concurrent.ConcurrentStack<Object> ->
System.Collections.Concurrent.ConcurrentStack+Node<Object> ->
System.Collections.Concurrent.ConcurrentStack+Node<Object> глубже не имеет смысла

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

Ответы>>851995

06 Окт, 18:57 #456 #851685

Шарпач, помоги.
Есть один проект, тестовый. Знаю, что оче налажал, но где - не совсем очевидно, я же нублан. Анон, сделай ревью, потыкай носом, а?
https://github.com/Joysome/Test-Web.APi-AngularJS.git
Особенно интересует, куда надо было бы деть то, что у меня в FSService.

Ответы>>852255

07 Окт, 02:09 #457 #851982

FileSystemWatcher'ом слежу за изменением файлов в директории. Хочу когда файл изменится дописать в него небольшой фрагмент, но возникает проблема: когда я записываю в этот файл информацию, на него снова срабатывает watcher и программа уходит в бесконечный цикл. Если перед записью в файл в обработчике события OnChange отключить watcher, а после включить, то он пропускает изменение другого файла, который записывался как раз в этот момент. Как быть?

Ответы>>852068

07 Окт, 02:51 #458 #851995

>>851636
>а это не делегат?
Нет конечно, gridView.SelectionChanged - это событие.

Ответы>>852023

07 Окт, 08:08 #459 #852023

>>851995
а событие это у нас нынче не делегат?

Ответы>>852325

07 Окт, 08:31 #460 #852031

>>851623
тебе что непонятно-то? как события использовать на практике или как оно в машинный код переводится? По-человечески объясни. Я нуб, если что.

Ответы>>852314

07 Окт, 10:11 #461 #852068

>>851982
1. Можешь для каждого файла заводить отдельный FSW, и при возникновения события Changed внутри блока обработчика этого события отписываться от метода (sender as FileSystemWatcher.Changed-=methodName;) потом делаешь свои грязные делишки и снова подписываешься всё внутри обработчика
2. (если в событии фильтр можно смотреть путь файла, вызвавшего )Делаешь словарь типа Dictionary FileUpdatedManuallyFlag<string, bool>, заполняешь его названиями файлов в директории с интересуемыми расширениями, и в обработчике Changed каждый раз смотришь, вручную ли был изменён файл (например, из обработчика)
if (!FileUpdatedManuallyFlag(e.Name))
{
//do the thing;
FileUpdatedManuallyFlag(e.Name)=false;
}
else
{
FileUpdatedManuallyFlag(e.Name)=true;
//дописываешь в файл залупу
}

07 Окт, 16:05 #462 #852255

>>851685
Начнем с того, что .vs и packages не нужно комитить.
Зачем тебе dynamic? Почему post, если это get?

07 Окт, 17:40 #463 #852314

>>852031
>метод можно напрамую подписывать на событие?
>Зачем тогда во всех книгах описывают это только с помощью делегатов?

Ответы>>852339

07 Окт, 17:47 #464 #852325

>>852023
В книге написано, что - нет.
Хотя судя по синтаксису и логике работы - вполне. Поэтому я и застопорился, либо я чего-то не догоняю, либо в книгах странно объясняют.
Алсо, как таким образом (подпиской напрямую) передавать ссылку на вызывающий объект?

Ответы>>852339

07 Окт, 18:09 #465 #852339

>>852314
>>852325
давайте разберёмся в терминологии для начала, шо такое "подписка напрямую" и чем она отличается от такой же, только в обход?

Ответы>>852359

07 Окт, 18:25 #466 #852359

>>852339
Хмм. Надеялся, что вопрос будет понятен. Надо подумать, как сформулировать вопрос правильно.

Есть, например, форма с радиобаттонами.
Есть событие rb1.ChckedChanged, на которое я хочу подписать метод rb1_OnCheckedChanged.
Как это правильно сделать? В частности, надо использовать стандартный делегат EventHandler или нет?
Здесь >>845034
>this.gridView.SelectionChanged += this.gridView_SelectionChanged;
не используется EventHandler, и это я называю "напрямую". Я так понимаю, это можно сделать потому, что SelectionChanged это стандартное событие C#, какое-то кастомное событие надо объявлять через делегат. Я правильно понял?

Ответы>>852423

07 Окт, 18:33 #467 #852364

Привет, шарпач.
На работе приходится разбираться в старом коде и увидел в wcf сервисе следующее:

internal class Settings
{
internal static Settings Instance => Nested.instance;

public MainForm MainForm { set; get; }

class Nested
{
static Nested() { }
internal static readonly Settings instance = new Settings();
}
...[методы]
}
Вопросы:
1)Это вообще нормально? Так принято делать? И главное я не могу понять зачем, можно это как-то иначе реализовать? 2)Зачем Nested пустой статический конструктор?

Ответы>>852423

07 Окт, 20:15 #468 #852423

>>852359
начнем с того, что "стандартный" делегат - это такой же тип делегата, как и все остальные, ничем не менее стандартные как RoutedEventHandler, MouseRventHandler и т.д.
как тебе подписаться на событие - решай сам: через new HuiPizdaDelegate, через += Method, через +=(s,e)=>{ }
вот, почитай крч: https://m.habrahabr.ru/post/198694/

>>852364
тебя, надеюсь, не реализация синглтона смущает? пустой конструктор - это, скорее всего, архаизм. когда-то там чота было, возможно даже инициализация самого синглтона, а потом перекочевала куда надо. в любом случае наличие пустого статического конструктора плоды не делает и перфоманс не поломает.
само вложение классов, вероятней всего, связано с попыткой разделения зависимостей/функционала. все дело в том, что за функционал населяет оба класса, и, самое главное, какова их история. может быть, если копнуть за годы назад, окажется, что все было по-другому и раньше было лучше

Ответы>>852479>>852513

07 Окт, 21:33 #469 #852479

>>852423
>https://m.habrahabr.ru/post/198694/
>Перво-наперво: события (event) не являются экземплярами делегатов. А теперь снова: События — это НЕ экземпляры делегатов.

Ну, что скажешь?

Ответы>>852488

07 Окт, 21:50 #470 #852488

>>852479
оо, ну я теперь понял твой вопрос

принципиально - да, конечно, делегат != событие (так же как класс != структура, enum != int/long), чем я, наверное, смутил тебя децл.

если совсем сгладить все - событие можно представить как частную форму делегата, но, опять таки, именно так и воспринимать сее не стОит

Ответы>>853430>>855184

07 Окт, 22:11 #471 #852513

>>852423
Не знал про сигнлтоны, спасибо что, прояснил

07 Окт, 22:50 #472 #852536

Хотел спросить в /ra, но думаю здесь корректнее.
Шарпаны, поясните, неймспейс Windows.Devices.Gpio можно использовать только для windows IoT?

08 Окт, 11:38 #473 #852727

Можно ли обеспечить для приложения совместимость с виндой вплоть до ХР? Можно как-то сделать чтобы было не обязательно устанавливать .netframework для того, чтобы моё приложение работало?

Ответы>>852734>>852737

08 Окт, 11:50 #474 #852734

>>852727
1 - пикрелейтед
2 - хз, насколько я знаю, программы сисярпа запускаются в виртуальной машине, которая, рискну предположить, сама берётся из .net framework'a.

Ответы>>852735

46 Кб, 1048x600

08 Окт, 11:51 #475 #852735

>>852734

08 Окт, 11:54 #476 #852737

>>852727
А что у тебя за приложения?
Если ASP.NET или console, то можно попробовать CoreCLR.

08 Окт, 12:32 #477 #852748

Где можно почитать про то, как правильно оформлять код? Ну типа куда пихать свои классы и т.д.

Ответы>>852784

08 Окт, 13:24 #478 #852784

>>852748
на хабре.

70 Кб, 309x281

08 Окт, 13:25 #479 #852788

>>846080
Task Scheduler.

205 Кб, 1595x872

08 Окт, 16:05 #480 #852871

Почему 4 раза повторяются результаты, где я накосячил?
http://ideone.com/JGo8qY

Ответы>>852879

08 Окт, 16:11 #481 #852879

>>852871
>foreach (DriveInfo di in dis)
>DirectoryInfo dir = new DirectoryInfo(/di.Name/"H:\\");

Ответы>>852898

242 Кб, 1527x937

08 Окт, 16:27 #482 #852898

>>852879
Точно, на каждый экземпляр диска же запускается поиск.
И еще вопрос по ошибкам с доступом к папкам, как его обойти?

Ответы>>852922

08 Окт, 17:14 #483 #852922

>>852898
catch (UnauthorizedAccessException)

Ответы>>852927>>853006

08 Окт, 17:22 #484 #852927

>>852922
Спасибо

181 Кб, 1489x892

08 Окт, 20:12 #485 #853006

>>852922
Помоги, анон!
Что написать-то надо в катче?
Обновил код
http://ideone.com/JGo8qY

Ответы>>853018

08 Окт, 20:17 #486 #853010

Почему ref и out переменным нельзя задать значение внутри анонимного метода?

public Task GetAsync(string name, out Texture targetVariable)
{
var task = Task.Run(() => Get(name)).
ContinueWith(t =>
{
targetVariable = t.Result;
});
backgroundLoadingTasks.Add(task);
return task;
}

Ответы>>853052

08 Окт, 20:35 #487 #853018

>>853006
Ничего не надо, особенно throw.

Ответы>>853019

209 Кб, 1411x848

08 Окт, 20:40 #488 #853019

>>853018
Вот без throw

Ответы>>853023

08 Окт, 20:44 #489 #853023

>>853019
Почему ты без дебага запускаешь?

Ответы>>853027

270 Кб, 1322x884

08 Окт, 20:50 #490 #853027

>>853023
Потому что для меня там все китайская грамота :-(
Файл проверил, галочек онли рид на нем не стоит.

Ответы>>853046

08 Окт, 21:34 #491 #853042

А доставьте плиз каких-нибудь ресурсов с задачками для ньюфагов, с использованием винформочек. Что-то типа получения обратной матрицы и т.д.

08 Окт, 21:43 #492 #853046

>>853027
Ну зато увидишь где у теб падает. Значит try/catch нужно еще и здесь можель попробовать запускать от админа свое приложение, может тогда доступ будет

Ответы>>853459

08 Окт, 21:56 #493 #853052

>>853010
памушта после запуска эвейт управление передается вызывающему коду, где ожидается, что реф/аут будут инициализированы, что не является гарантией

Ответы>>853278

09 Окт, 03:11 #494 #853181

Есть какой-то сайтик, где можно покодить с подсказками как на код академи?

Ответы>>853281

09 Окт, 13:06 #495 #853278

>>853052
Где ты тут await увидел?
мимокрокодил

Ответы>>853300

09 Окт, 13:17 #496 #853281

>>853181
Dotnetcademy, но там есть баг, отчего один урок нельзя пройти на 100%. В остальном годнота.

09 Окт, 13:40 #497 #853300

>>853278
мимокрокоди дальше
сильно вероятно, что код, потребляющий эту таску, будет с эвэйт. даже если не так, то конпелятор совершенно справедливо предполагает, щито метод может/будет выполняться асинхронно

09 Окт, 16:45 #498 #853377

Какая сейчас самая модная технология GUI в шарпах? Wpf уже не в моде?

Ответы>>853414

09 Окт, 17:11 #499 #853414

>>853377
ну почему же?

327 Кб, 677x788

09 Окт, 17:18 #500 #853417

Вкатываюсь с нуля, в идеале хочу запилить свой фотошоп с имитацией масла, жидкостей и прочих партиклес. Поясните что курить для графики на C# для самых тупых, нашел какого-то мужика (пикрилл) для основ и уроки в которых делают пейнт, я их посмотрел и один повторил, не знаю правда нахуя, все равно ничего не понял.

Ответы>>853436>>854154

09 Окт, 18:02 #501 #853430

>>852488
Ок, спасибо.
Я думаю, я разобрался, и мне кажется ты не совсем прав.

Делегат, в контексте события, нужен толькр для того, чтобы определить сигнатуру методов, которые могут подписаться на событие.

События, которые включены в среду я использую SharpDevelop, например:
gridView.SelectionChanged
radioButton.CheckedChanged
уже определены с помощью делегата EventHandler. В этом можно убедиться, если посмотреть на код этих событий.
Поэтому, метод можно напрямую подписать на события, которые поставляются со средой.
Если использовать свои какие-то события - придется использовать делегат для определения сигнатуры методов.

Ответы>>853644

09 Окт, 18:21 #502 #853436

>>853417
> что курить для графики на C#
> C#
Ничего там нет. Нормальное 2D рисование и C# - понятия практически несовместимые (не, ну можешь конечно рисовать через GDI, только никому не рассказывай).
А с учётом того, что ты и C# не знаешь (раз тебе требуются уроки с твоего пика), то выкатывайся оттуда и закатывайся на C++. Программирование под DirectX начиная с 10.1 очень сильно упростили, ищи мануалы под Direct2D, и вперёд.

Ответы>>854154>>854520

09 Окт, 19:18 #503 #853459

>>853046
Угу, поставил два катча на занятые и недоступные и вроде бы заработало. Спасибо.

09 Окт, 22:19 #504 #853604

Так-с, господа полубоги, помогайте. В общем меня приглашают стажироваться в одну фирму топовую для нашей мухосрани, кстати. А они там занимаются аспом.
Проблема в том, что я дочитываю Троэлсена и понемного программирую разные програмки уровня laba1, и совершенно не знаю что и в каком порядке учить.
Если что, в вебе вообще не шарю, так что подскажите плиз

Ответы>>853642

09 Окт, 23:04 #505 #853642

>>853604
metanit
начни, а там че-нить другое найдешь

09 Окт, 23:10 #506 #853644

>>853430
Полный трєдж специалистов, никто не может сказать или я на правильном пути и похвалить?

Ответы>>853669

10 Окт, 00:04 #507 #853669

>>853644
От того, что ты используешь SharpDevelop события по другому работать не начниают.Почитай еще.

10 Окт, 08:35 #508 #853779

Зачем использовать winapi в c#? Дайте интересных задач чтобы разобраться.

Ответы>>853780

10 Окт, 08:39 #509 #853780

>>853779
Да банально, понадобилось мне на лету подредактировать PEB запущенного процесса другой программы. Она была криво написана, и в какой-то момент работы портила его сама себе. Вот делал минификс для этого.

10 Окт, 16:16 #510 #853971

В HttpWebRequest устанавливаю хедеры для запроса и когда делаю req.Headers.Set("Accept-Encoding", "gzip, deflate, br"), то вместо текста страницы получаю кракозябры. Если её закомментировать, то всё в порядке. Через браузер смотрел, хедер в запросе именно такой. В чём прикол? Может я чего-то не понимаю?

Ответы>>853975>>854019

10 Окт, 16:29 #511 #853975

>>853971
gzip же сжимает данные

10 Окт, 17:27 #512 #854001

Какой проект можно разработать чтобы прикрепить к резюме на джуниора?

Ответы>>854029

10 Окт, 18:06 #513 #854019

>>853971
Когда ты делаешь
> req.Headers.Set("Accept-Encoding", "gzip, deflate, br")
то ты говоришь удаленному серверу: мол, я могу и сжатые данные принять. Вот он тебе и шлёт сжатые. А твой HttpWebRequest по умолчанию их расжимать не умеет.

Ответы>>854038

10 Окт, 18:27 #514 #854029

>>854001
rss reader

Ответы>>854298

10 Окт, 18:48 #515 #854038

>>854019
Стоит их сжатые получать, а потом разжимать? Выигрышь от этого будет?

Ответы>>854100

10 Окт, 20:01 #516 #854100

>>854038
ну во всем не выиграешь. выбирай, что тебе важнее: нагрузка на трафик плюс, возможно, дополнительные расходы на unmanaged-память, либо нагрузка на проц в лице декодирования сообщения

147 Кб, 3000x1682

10 Окт, 20:05 #517 #854103

Асинхрач, а как можно организовать цикл по таскам/акшонам с несколькими awaitами?
Пробовал так:
Parallel.ForEach (uri, async (x) => {
y = await Processing(x);
z = await Processing(y);
Console.WriteLine(z);
})
Console.Wrilteline(«цикл завершён»);

Но задача считается выполненной на первом-же awaitе. И первой записью в консоли будет «цикл завершён».

Ответы>>854174

10 Окт, 21:17 #518 #854153

Здравствуйте поцаны, я решил вкатиться именно в этот язык, уже прошел небольшой курс от гикбреинс по виндоформам, понял что это совсем детский сад и решил, что никто лучше ребят с двача не разбирается! Так что пригрейте дурачка

Ответы>>854156>>854157

sage 10 Окт, 21:17 #519 #854154

>>853436
Двачую, с DirectX и С++ даже в моём мухосранске были вакансии в геймдев.
C# больше используется для серверного и декстопного по финансового сектора. Хотя, когда проходили в универе мы делали подобие пейнта, это теоретически возможно. Уроки с пика >>853417 годные.

Ответы>>854520

10 Окт, 21:20 #520 #854156

>>854153
чё тебе греть? все деньги в asp.net. десктоп сисярпа в лице WPF и winforms умирает перерождается в веб и мобильных устройствах. Unity имхо годится для 2д индюшатины, но это на любителя.

Ответы>>854159

10 Окт, 21:20 #521 #854157

>>854153
Любая книга по C# из яндекса/гугла.
Любыве бесплатные видеоуроки на ютуб.

Ответы>>854159

10 Окт, 21:22 #522 #854159

>>854156
Ну нужно же с чего-то начать второкурснику, который только и умеет что калькуляторы писать(даже это почти не умею)
>>854157
ИТВДН посоветовали, но там и они бабла хотят.

10 Окт, 21:49 #523 #854174

>>854103
Parallel.ForEach был бы нужен, если бы у тебя были блокирующие методы, а у тебя асинхронная кашка, к ней можно подойти сбоку
http://pastebin.com/wcXBb91D

Ответы>>854204>>854391

10 Окт, 22:05 #524 #854185

Не могу найти нормальный учебник на русском. Вообще ничего нет, что ли?

Ответы>>854202>>855149

10 Окт, 22:23 #525 #854202

>>854185
Так троелсен/албахари/скит/рихтер вроде все есть. Но читать всё равно надо на ангельском, а то посоны на двощах засмеют.

Ответы>>854207

10 Окт, 22:24 #526 #854204

>>854174
.AsParallel().ToArray() смеха ради

10 Окт, 22:28 #527 #854207

>>854202
Блин, я то ангельский понимаю, но русский то понятнее..

Ответы>>854208

10 Кб, 725x92

10 Окт, 22:31 #528 #854208

>>854207
>русский то понятнее
Врети

Ответы>>854210

10 Окт, 22:32 #529 #854210

>>854208
Не врети!

Ответы>>854216

3 Кб, 605x54

10 Окт, 22:41 #530 #854216

>>854210

10 Окт, 22:57 #531 #854231

Я понимаю, что прошу бред, но все же, есть ли тут люди которые смогут терпеть мои бредовые вопросы и не посылать сразу же нахуйв гугл?

Ответы>>854233

10 Окт, 22:59 #532 #854233

>>854231
А ты вопросы спрашивай, а не метавопросы.

Ответы>>854235

10 Окт, 23:00 #533 #854235

>>854233
Есть стринг с двоичным числом как мне его записать в массив?(нужно сделать из прямого кода обратный)

Ответы>>854296

11 Окт, 00:34 #534 #854296

>>854235
стринг и есть массив символов. (ну или класс с индексатором, ссылающемся на List<char> а может и вообще char[], не рефлектил
)
на ввод подаётся число в двоичном представлении, или ты парсишь интовое число в 10 СС и загоняешь его побитово в строку?

Ответы>>854301>>854936

11 Окт, 00:35 #535 #854298

>>854029
Смешно.

Ответы>>854441

11 Окт, 00:36 #536 #854301

>>854296
Я ввожу в текстбокс допустим 1|101 нажимаю кнопку, мне возвращает 0|010

Ответы>>854701

11 Окт, 09:33 #537 #854391

>>854174
Спасибо! Работает как надо!

11 Окт, 11:11 #538 #854441

>>854298
что тебе смешно?
Нахуя спрашиваешь тогда?

11 Окт, 12:38 #539 #854520

>>853436
>>854154
Спасибо за советы, просто мужичок с этих уроков сказал что С# может делать тоже что и C++ и даже больше, типа C++ это ООП, а С# это КОП который включает в себя ООП, а еще он легче. По поводу DirectX я сразу загуглил есть ли он под .NET и нашел SlimDX который вроде полный аналог. Надо короче еще посидеть подумать, поискать больше разной инфы.

Ответы>>854541>>854643

11 Окт, 12:49 #540 #854526

Почоны, есть ли у вас какие-то сайд проекты на которых вы зарабатываете? Есть ли вариант иметь ~50к в месяц, но при этом не тратить на работу по 10 часов 5 дней в неделю? В обычном фрилансе, я так понимаю дотнетчикам не место, но как быть-то тогда?

11 Окт, 13:07 #541 #854541

>>854520
> SlimDX
Он в разработке до сих пор, и неизвестно, когда допилят. А в C++ всё есть здесь и сейчас.

> мужичок с этих уроков сказал что С# может делать тоже что и C++ и даже больше
Мужичок твой говорит, да недоговаривает. Не надо его слушать, он походу сам не особо понимает, что к чему. Потрать сам время, и выясни различия этих языков. Тогда тебе станет понятно, почему тебе для графики рекомендуют C++, а не C#.

11 Окт, 14:22 #542 #854593

Что изучать для работы с бд?

Ответы>>854658>>854936

11 Окт, 15:20 #543 #854643

>>854520
Там где directx, обычно требуется высокая скорость, при прочих равных, c++ будет быстрее шарпа, плюс, вроде как, во время сборки мусора остальные рабочие потоки приостанавливаются, в обычном софте будет незаметно, но для графы критично

11 Окт, 15:41 #544 #854658

>>854593
EF и sql

11 Окт, 16:55 #545 #854688

С помощью чего можно рисовать в шарпе простенькие рисунки? Например визулизация игры "жизнь", крестики-нолики, морской бой и т.д.

Ответы>>854850

11 Окт, 17:10 #546 #854701

>>854301
winforms с его picturebox'ом и обработкой для него событий mouseup, mousedown, mousemove. wpf с его InkCanvas'ом.

Ответы>>854845>>854850

11 Окт, 17:18 #547 #854714

Что за конструкция [/тут какая-нибудь фигня, например dll/] (например вот такой атрибут перед main методом в сгенерированном коде [STAThread])?

Ответы>>854936>>854940

11 Окт, 20:08 #548 #854845

>>854701
Ты не понял. Я уже сделал это, теперь мне нужно разбить этот стринг по разрядно

Ответы>>854850>>854852

11 Окт, 20:11 #549 #854850

>>854845
ой, я не тебе отвечал.
>>854688 --- чмотри суда → >>854701

11 Окт, 20:14 #550 #854852

>>854845
а в твоей ситуации я бы делил строку на подмассивы по '|', потом присваивал каждому элементу массиву строк его же, только приведённому к int с NumberStyle.Binary, обработанного битовым оператором отрицания "~", и снова взятому через ToString()

Ответы>>854912

11 Окт, 21:28 #551 #854912

>>854852
Ебать, как сложно, что я ничего не понял.

11 Окт, 22:03 #552 #854936

>>854296
на char*

>>854593
ado.net, entity framework, nhibernate, если реляционные

>>854714
атрибуты

11 Окт, 22:07 #553 #854940

>>854714
а,ты знаешь про атрибуты. тогда хз, в чем твой вопрос

12 Окт, 10:04 #554 #855149

>>854185
Чем тебе Шилдт не угодил?

15 Кб, 338x568

32 Кб, 876x793

12 Окт, 11:12 #555 #855184

>>852488
EventHandler это тип делегата.
gridView.SelectionChanged и radioButton.CheckedChanged это объекты делегата.
Единственное отличие обычного объекта делегата от объекта с припиской event — это то, что со вторым за пределами класса, в котором он объявлен, можно делать только 2 операции: += и -=.

Ответы>>855225

14 Кб, 481x176

23 Кб, 615x557

12 Окт, 11:43 #556 #855197

Сишарпач, что же это творится? Решил сесть за изучение EF, но студия как обычно "не хочет".
Порядок действия:
Project - Add New Item - ADO.NET Enity Data Model - EF Designer from database
Выбрал работающее подключение, нажал далее и дальше возможно 2 варианта:
1. На чистом проекте EF 6 не доступен, доступен только EF 5. Выбираю EF 5 нажимаю далее. Выбираю какие таблицы нужны и нажимаю финиш. В ответ получаю ошибку (пик1)
2. После установки MySQL через nuget EF 6 и EF 5 становятся не доступны (пик2)
Как решить проблему? Как мне завезти EF 6/EF 5?

Ответы>>855260

12 Окт, 12:55 #557 #855225

>>855184
Не единственное: event можно пихать в интерфейс, чего не сделать с делегатом

12 Окт, 14:29 #558 #855260

>>855197
для мускуля нынче разве не надо коннектор устанавливать?

Ответы>>855399

12 Окт, 17:58 #559 #855399

>>855260
Коннектор и плагин для студии установлены, они шли вместе с MySQL

12 Окт, 21:22 #560 #855513

Кто-нибудь уже пилит что-нибудь на .Net core? Что вообще думаете по теме, взлетит? А то кругом шум, что .Net вот-вот умрет, а модные ребята на Go и прочий Elixir переходят

Ответы>>855626

19 Кб, 953x603

12 Окт, 21:47 #561 #855535

Шарпач-wpfач, помоги говнокодеру советом. Есть xml-файлы примерно такой структуры: http://pastebin.com/ynTQAgBL (приложение может их загружать, либо генерировать). Вкратце, если ты посмотрел пастебин: Есть вопросы. Вопросы расфасованы по темам и предметам, в свою очередь темы тоже расфасованы по предметам. Все эти три хуйни можно добавлять/удалять. Для отображения всего этого есть 3 ListView пикрелейтед. Проблема в том, что я не знаю как это хранить в программе, да еще с учетом MVVM. К тому же, мне нужно по предмету получить список его тем, или по теме узнать ее предмет. Попробовал нахуярить несколько классов, но че-то над кодом плакать хочется.

Ответы>>855584

12 Окт, 22:45 #562 #855584

>>855535
я бы попробовал держать файл xml на ЖД, потом через какой нибудь xml reader считывать его в DataTable из ADO.net (а им точно можно xml скармливать, правда, не помню как.) а можно и поискать, как его прям в ObservableCollection захуячить (для этого придётся Model-классы создавать), ну и потом к itemsSource'ам listView присваивать полученный datatable или observablecollection.

Ответы>>855655

13 Кб, 195x200

12 Окт, 23:26 #563 #855626

>>855513
>Кто-нибудь уже пилит что-нибудь на .Net core?
Юзаю еще с первых беток.

Разрабатываю в VisualStudioCode на своем макбуке.
В основном пилю бэкенды для своих мобильных приложений и деплою в docker под linux.
Для базы данных юзаю Postgress через EF Core.

Получается в разы дешевле чем возится с виндоус серверами (это важно тк приложения opensource).

Сейчас жду когда Xamarin переведут на CoreCLR, вот тогда прикольно будет.
А еще прикольно будет когда добавят сборку нативных бинарников,
можно будет рассылать один бинарник вообще без зависимостей на .net (как в Go).

Ответы>>855839

13 Окт, 00:03 #564 #855655

>>855584
Спасибо за ответ. Я додумался до решения. Заюзал три ObservableCollection, в общем.

34 Кб, 512x512

13 Окт, 06:19 #565 #855744

В заглавном треде игнорят.
Поступил в универ на заочку. Буду изучать c#. Подскажите годную книгу по данному языку для изучения с нуля.

Ответы>>855747>>855779

13 Окт, 06:35 #566 #855747

>>855744
Миллиард раз говорилось уже. Книги устаревают. Не нужно их читать. Выбирай себе реальную задачу, и разрабатывай, изучая по пути. По ключевым фичам разных версий языка можешь погуглить или почитать хабр, чтобы быть в курсе, что в языке нового (и не писать вечно под фреймворк 3.5 или даже 2, как некоторые делают).

Ответы>>855770

13 Окт, 08:27 #567 #855770

>>855747
ну хоть не 1.1

sage 13 Окт, 09:47 #568 #855779

>>855744
Ты тупой или читать (шапку) не умеешь?

Ответы>>855849

13 Окт, 12:40 #569 #855839

>>855626
Что посоветуешь почитать/посмотреть по мобильным бэкендам на .net core?

13 Окт, 13:13 #570 #855849

>>855779
человек, не умеющий читать, спрашивает, что прочитать

Метрики сложности 13 Окт, 15:59 #571 #855936

Каким тулзами их можно посчитать?
Важно что бы это работало без Visual Studio и запускалось на mono/coreclr.

Может есть какие консольные утилитки, типа как для запуска на CI сервере?

Пишу на маке под xamarin.

130 Кб, 1311x844

13 Окт, 19:02 #572 #856095

Котаны, вот есть простенький класс ракет, и я хочу создавать уже конкретные экземпляры.Но без передачи хуеву тучу параметров,а примерно вот так - RocketAmmo = new RocketAmmoLV(); Корчое сделать разные наследники от RocketAmmo, и чтоб наследников делать без передачи в конструктор параши. В одном наследнике ракеты по 10 бьют, а во втором по 20. Надеюсь вы поняли. Удобства ради.

13 Окт, 19:07 #573 #856100

ПЕРЕКАТ
https://2ch.hk/pr/res/856099.html (М)
https://2ch.hk/pr/res/856099.html (М)

14 Окт, 13:34 #574 #856400

>>851102
ну тогда могу только пожелать удачи.

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 ноября 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion