Сохранен 511
https://2ch.hk/pr/res/525272.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

OFFICIAL C# THREAD #9

 Аноним OP 03/08/15 Пнд 23:32:06 #1 №525272 
14386339265640.jpg
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# - прекрасный детектор современного, умного и успешного человека. Изучение .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого поистине прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

Скачать VS2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx

Что почитать:
- C# Yellow Book (для ньюфагов, книга полностью бесплатная)
- Joseph Albahari и Ben Albahari - C# 5.0 in a Nutshell (на русском: C# 5.0, Справочник. Полное описание языка)
- Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)
- Jon Skeet - C# in Depth (на русском: C# для профессионалов. Тонкости программирования)
- Jeffrey Richter - CLR via C# (на русском: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#)
- Writing High Performance .NET Code (Ben Watson)
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

Что посмотреть:
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners

Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/

Онлайн-компиляторы:
- https://dotnetfiddle.net/
- http://csstub.com
- http://www.tutorialspoint.com/compile_csharp_online.php

FAQ

Q: Где и какую студию брать для работы?
Для большинства задач подойдет Community версия. Она бесплатная и скачивает из сети только указанные компоненты. Скачать можно тут - https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
Q: Что с IDE для других систем?
Самый юзабельный вариант - MonoDevelop (http://www.monodevelop.com/download/)
Для vim можно использовать OmniSharp (https://github.com/OmniSharp/omnisharp-vim)

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6

Прошлый тред тонет тут: http://2ch.hk/pr/res/516185.html
Аноним 03/08/15 Пнд 23:41:58 #2 №525281 
Перекатываю в новый тред старый вопрос.
Как получить адекватное последнее время открытия папки? LastAccessTime не робит.
Аноним 03/08/15 Пнд 23:56:53 #3 №525285 
>>525281
>Microsoft disabled the Last Access Time Stamp
>disabled the Last Access Time Stamp
>disabled
>Last Access Time
>Microsoft
Потому что любой запрос на read автоматически превращается в запрос на write, что сказывается на диск IO.
Аноним 04/08/15 Втр 00:00:55 #4 №525286 
>>525285
Пиздос, значит папочки буду в ручную удалять.
Аноним 04/08/15 Втр 00:01:43 #5 №525289 
>>525286
Это и к файлам относится.
Аноним 04/08/15 Втр 00:02:05 #6 №525290 
>>525289
С файлами всё хорошо, не надо тут.
Аноним 04/08/15 Втр 00:07:22 #7 №525293 
14386360429850.png
>>525290
Т.е. я отредактировал файл 3 августа, но открывал его только 1 августа?
Аноним 04/08/15 Втр 00:09:45 #8 №525294 
>>525293
Мда. И что, мою прожку теперь можно на выброс?
Аноним 04/08/15 Втр 00:30:58 #9 №525299 
>>525294
Тащемта ты можешь fsutil behavior set disablelastaccess 0, а потом нужно перезарузить винду еще раз, и тогда все будет работать очень медленно
Аноним 04/08/15 Втр 00:33:51 #10 №525301 
>>525299
Хоть как-то.
Клятi мiлкомягкiе!
Аноним 04/08/15 Втр 00:46:17 #11 №525304 
>>525272 (OP)
В чем разница: public int Value {get;} и public int readonly value
Аноним 04/08/15 Втр 01:03:05 #12 №525308 
>>525304
Первое не будет компилироваться
>Возможно вы имели в виду: public int Value{get; private set;}
Первое - auto property - ты все таки сможешь менять значение внутри класса.
Второе readonly очевидно field, значение может быть установлено только в конструкторе или при инициализации при объявлении, в других местах - ошибка при компиляции. Значение можно быть изменено при помощи рефлексии в любом месте.
Аноним 04/08/15 Втр 01:09:20 #13 №525309 
>>525308
public int Value {get; } Новая фича С# 6.0 же.

Можешь пояснить про рефлексию, как это?
Аноним 04/08/15 Втр 02:10:36 #14 №525326 
>>525309
>Новая фича
Ах вот как, тогда разница только в том, что первое - свойство, а второе - поле, сахарок-с.
http://ideone.com/M7jEpZ
OldYoba (с# < 6.0) - эквивалент Yoba (c# 6.0). Рефлексия же ебет все ваши ридонли в рот.
Аноним 04/08/15 Втр 03:00:30 #15 №525335 
Репостну с предыдущего треда.
Пробую с помощью HtmlAgilityPack сохранять картиночки с вконтакта.
Почему doc.DocumentNode.SelectNodes(".//*[@id='page_wall_header']") возвращает null?
И вообще, это не первый случай, когда xpath, взятый с помощью файрбаг, возвращает ссылку на null. А некоторые работаю отлично, те же сосач и доброчан легко распарсились.
Аноним 04/08/15 Втр 03:32:14 #16 №525340 
>>525335
Потому что такая нода появляется только после работы некоторого джяваскрипта, а в исходном хтмл ей даже не пахнет?
Аноним 04/08/15 Втр 03:35:00 #17 №525341 
>>525340
>ею
исправился
Аноним 04/08/15 Втр 03:56:37 #18 №525346 
>>525335
И вообще, Люк, используй апи.
Аноним 04/08/15 Втр 07:18:03 #19 №525359 
>>525326
Рефлексия всё в рот ебет.
Ну а ридонли — это защита от дурака, а не от пидараса.
Аноним 04/08/15 Втр 13:30:27 #20 №525426 
>>525359
Пидорасов можно запускать в partially trusted домене, как на dotnetfiddle например, где такие фокусы кидают MemberAccessException.
Аноним 04/08/15 Втр 15:15:06 #21 №525450 
14386905063040.jpg
14386905063051.jpg
Здравствуй анон, надеюсь ты не против помочь мне советами.
В общем, организовал "модель" на пикрелейтеде. Для сравнения тайлов между собой(нужно в основном для сортировки) реализовал интерфейс IComparable<Tile>. В связи с чем у меня и возникли следующие затруднения:
1. Возможно ли, как-то упорядочить типы наследников между собой. Т.е. например, SuitedTile<DragonTile<WindTile. В данный момент, я использую Tile "private int sortedIndex = 0" в Tile, и затем в наследниках меняю это значения в соответствии с тем в каком порядке должны идти наследники. Но какой-то говнокод, т.к. это поле к каждом экземпляре класса, хотя должно быть всего одно.
2. Можно ли в дочерних классах реализовывать IComparable<WindTile> вместо <Tile>, так чтобы это работало? В данный момент , в дочерних классах у меня вот такое написано
if (other.GetType().Equals(GetType()))
return ((IComparable)wind).CompareTo(((WindTile)other).wind);
else
return sortIndex.CompareTo(other.sortIndex);
Сорта говнокод я считаю.
3. В общем-то, у меня сортировка работает, но я не понимаю почему, хочется разобраться. Я сделал сортировку некоторого набора экземпляров классов и она работает как было задумано. Но интересует 1 момент: На 2 пике. Сообственно, изображен метод CompareTo класса Tile. Когда я вызываю в массиве из Tile метод CompareTo, даже если там не Tile по ссылке на Tile, вызвается метод базового класса, т.к. методы CompareTo лишь скрывают базовый метод в дочерних классах. Вопрос вот в чём, почему на пике 2 не возникает рекурсии, т.е. я даже попытался прокастить в Tile, но компилятор говорит не нужно. Почему вызываются CompareTo не класса Tile, а SuitedTile, например.
Аноним 04/08/15 Втр 15:32:13 #22 №525461 
>>525450
>1. Возможно ли, как-то упорядочить типы наследников между собой. Т.е. например, SuitedTile<DragonTile<WindTile. В данный момент, я использую Tile "private int sortedIndex = 0" в Tile, и затем в наследниках меняю это значения в соответствии с тем в каком порядке должны идти наследники. Но какой-то говнокод, т.к. это поле к каждом экземпляре класса, хотя должно быть всего одно.
Сделай статическое. Хотя возникает ощущение, что ты пытаешься решить задачу неправильным способом.
>Сорта говнокод я считаю.
Да. См выше.
>Когда я вызываю в массиве из Tile метод CompareTo, даже если там не Tile по ссылке на Tile, вызвается метод базового класса
virtual+override
Алсо у тебя несовременный код. Сейчас принято использовать LINQ для сортировки (OrderBy). Туда можно передать компаратор, в котором зашита логика сравнения, заодно ты эту логику вынесешь нахер из классов Tile, где ей в общем-то не место.
Заодно можно сделать Dictionary<Type, int>, в котором будет указан порядок для сортировки разных экземпляров классов и делать типа
var orderedTiles = tiles.OrderBy(tile => orderDictionary[tile.GetType()]).ThenBy(...));
или (что ещё лучше) эту логику тоже сложить в компаратор.
Но меня всё ещё не оставляет ощущение, что ты выбрал неправильный подход к решению задачи.
Аноним 04/08/15 Втр 16:58:14 #23 №525475 
14386966945440.png
Норм second max?
Аноним 04/08/15 Втр 17:09:21 #24 №525478 
>>525475
Какой смысл в твоем коде? И нет, не норм. Для того, чтобы найти «second max» в отсортированном по убыванию массиве, достаточно найти первый элемент, отличный от «нулевого» элемента массива. Не говоря уже о том, что для того, чтобы найти максимальный элемент, сортировать массив не нужно.
Аноним 04/08/15 Втр 17:15:25 #25 №525479 
>>525450
Объясните нубу
Там вот на скриншоте есть
return ((Tile)this).CompareTo(other);
Это разве не рекурсивный вызов того же CompareTo?
Оно же тогда бесконечно будет вызваться если нету условия когда закончить рекурсию
Аноним 04/08/15 Втр 17:19:16 #26 №525480 
>>525478
>найти первый элемент, отличный от «нулевого» элемента массива
Внатуре
Аноним 04/08/15 Втр 17:53:11 #27 №525496 
>>525479
Да.
Аноним 04/08/15 Втр 17:54:48 #28 №525501 
>>525496
Что да?
Оно же никогда не закончится.
Это же неправильно.
Аноним 04/08/15 Втр 18:01:30 #29 №525509 
>>525501
Да.
Аноним 04/08/15 Втр 21:00:06 #30 №525586 
>>525479
Так-то оно так, но вот почему-то в моем коде оно не рекурсируется. Если вызвать на настоящих Tile, тогда скорее всего зависнет.

>>525461
>virtual+override
Но ведь метод CompareTo у меня не виртуальный и компилятор предупреждает, что метод в наследниках перекрывает метод базового. Т.е. Tile t = new SuitedTile();
t.CompareTo(other); -> Должно вызвать CompareTo базового класса -> бесконечная рекурсия, но этого не происходит, а работает как будто virtual + override.

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

Кстати 2015 Community > 2013 Pro?
Аноним 04/08/15 Втр 21:04:49 #31 №525589 
А где можно найти документ-спецификацию 6й версии языка?
Аноним 04/08/15 Втр 21:13:46 #32 №525593 
>>525586
>работает как будто virtual + override
Он вызывает метод дочернего класса потому что у тебя SuitedTile : IComparable<Tile>.

Сделай Tile : IComparable<Tile>, IComparable<SuitedTile>, IComparable<WindTile> ...
А в дочерних классах переопрдели эти метооды, тогда тебе не нужен будет sortedIndex, потому что в методе CompareTo ты уже будешь знать какой конкретный тип имеет this, и какой - other лел
Аноним 04/08/15 Втр 21:23:35 #33 №525596 
>>525586
>Да меня самого терзают такие сомнения, но я же ньюфаг и не вижу всех возможностей языка и как их использовать, ну и наверно, не до конца понял что конкретно я хочу получить в итоге.
Ну ты расскажи, нахрена тебе тайлы сортировать.

>Кстати 2015 Community > 2013 Pro
Если там решарпер работает, то да.
Аноним 04/08/15 Втр 21:44:23 #34 №525604 
>>525586
В общем, есть 34 различных тайла, по 4 каждого вида, т.е. в общем 132 тайла всего. Из всех тайлов каждый игрок берёт по 13 тайлов и получает свою руку. Сортировка мне нужна чтобы тайлы одного вида стояли рядом и сразу было понятно что у тебя за комбинации в руке(или намёки на них). Сейчас хочу сделать программу которая будет высчитывать количество тайлов необходимых для замены в руке, чтобы победить и т.п.(вероятности и т.д.). Для этого мне потребуется искать связности тайлов, т.е. игрок в свой ход берёт тайл, например 5 бубей(лол) и она образует некоторую комбинацию в руке, например 3-4-5(бубей), задача состоит в том, чтобы находить такие комбинации. А для того, чтобы найти число заменяймых тайлов, нужно как-то искать выигрыш в нашей руке, причём с хочу сделать так, чтобы можно было найти все возможные выигрышные комбинации и сортировать их по числу заменяймых тайлов, стоимости и т.п.

Как-то так, надеюсь хоть как-то стала ясна проблематика.
Аноним 04/08/15 Втр 21:44:46 #35 №525606 
>>525596
>>525604
Аноним 04/08/15 Втр 22:07:30 #36 №525620 
ASPач, подскажи по API, никогда раньше дел не имел, заливаю на сервер - сосу, локально запускаю через дебаг студии - работает, из клиент-приложения обработка идет и возвращает все охуенно.
Файлы asp заливаются просто как любой php или html файл, или че нужно указать или настроить то?
Аноним 04/08/15 Втр 22:46:04 #37 №525634 
>>525593
>Он вызывает метод дочернего класса потому что у тебя SuitedTile : IComparable<Tile>.
Всё равно не понимаю, вот есть у меня код:
Tile t = new SuitedTile();
Tile t1 = new Tile();
t.CompareTo(t1); //Вызывается Tile.CompareTo(other Tile) => CompareTo(other), так почему же затем вызывается SuitedTile.CompareTo(other tile)? Т.е. это из-за то, что я вызываю метод ComrapeTo(other) внутри дочернего, соответственно он и вызывает свой метод, а не базовый? Блин, есть какие-нибудь задачи, на развития понимания всего этого?

Кстати, Tile : IComparable<Tile> {...}; SuitedTile : Tile, IComparable<Tile> {...} есть тоже самое, что Tile : IComparable<Tile> {...}; SuitedTile : Tile ? Т.е. смысла в наследовании интерфейса в дочернем классе нет?

>Сделай Tile : IComparable<Tile>, IComparable<SuitedTile>, IComparable<WindTile> ...
Попытался сделать, теперь пикрелейтед, бесконечная рекурсия. Как исправлять это?

Попробую ещё через комперер сделать, нужно всё опробовать, мб чему и научусь.
Аноним 04/08/15 Втр 22:46:30 #38 №525635 
14387175905090.png
>>525634
Картинку забыл
Аноним 04/08/15 Втр 22:48:03 #39 №525636 
>>525604
>есть 34 различных тайла, по 4 каждого вида

Можно сделать вид через enum и явно прописать в нем порядок следования при сорте, ну и в каждом тайле хранить "private int sortedIndex = 0 (еще +33)".

Тип
enum TileKind { A = 1000, B = 2000, C = 3000, D = 4000 }
Компаратор
(Tile.sortedIndex + (int)Tile.Kind) > [ another tile ]

Наследование для тайлов не нужно.
Аноним 04/08/15 Втр 22:49:01 #40 №525637 
>>525596
>Если там решарпер работает, то да.
А вы вот все тут лицензионным пользуетесь? Если нет, то откуда можно скоммуниздить и какие подводные камни? А то я СТУДЕНТ, денег нет.

Извиняюсь за засёр треда. Хотел в 1 посте всё написать, но про это забыл.
Аноним 04/08/15 Втр 22:53:34 #41 №525640 
>>525637
Да хоть с рутрекера, джетбрейнс достаточно спокойно к этому пока относится, подводных камней никаких. Они вон даже на рутрекере помогают пиратам, лол.
Аноним 04/08/15 Втр 23:01:43 #42 №525644 
>>525637
Дык, у них то ли скидки, то ли вообще бесплатно для студентов. Главное студак им посканить и отослать.
Аноним 04/08/15 Втр 23:01:56 #43 №525645 
>>525636
Про виды, я криво написал, имелось ввиду всего различных тайлов 34: три масти(в которых циферки с 1 по 9) = 27 тайлов; Ветра = 4 тайла; Драконы = 3 тайла. И каждый из этих тайлов дублируется 3 раза(т.е. всего 16 ветров, например).
Ну в любому случае, то что ты написал применить к этому можно, вот только, честно говоря, мне не нравится как это выглядит.
Хм, пока писал зачем мне нужно наследование, понял что действительно можно без него обойтись...Мне просто не приходила идея, рассматривать масти как отдельный вид тайлов. Если так сделатЬ, то просто сделать класс вид + значение. Спасибо :)
Аноним 04/08/15 Втр 23:20:23 #44 №525649 
>>525637
Оформи студенческую лицензию, ну.
Есть ли ВУЗ предостовляет персональный мэйл - заполняешь форму и вуаля, получаешь ВСЕ их продукты в бесплатное пользование на время обучения.
А вообще лучше оформить ISIC и обмазываться тонной студенческих подписок на любой вкус, GitHub, Xamain etc. тому примером.
Аноним 04/08/15 Втр 23:22:35 #45 №525650 
>>525645
>имелось ввиду всего различных тайлов 34 ...
Какая разница сколько у тебя там чего.
Cделай столько энумов сколько подтипов тайлов и их комбинаций. Только учитывай чтобы при сложении энумы друг в друга в вкладывались без колизий. Это позволит сделать глобальную сортировку сразу по нескольким признакам, а у тайла придется хранить несколько енумов полностью описывающих тайл.

Наследование не нужно, до тех пор пока не появится уникальное поведение для какого либо сочетания энумов. Я так понял у тебя этого пока нет. А потом будет жопа, либо класс действия при условиях, либо ебля енумов в подклассах.
Аноним 04/08/15 Втр 23:23:31 #46 №525652 
Анон, начинаю учить C#.
Стоит ли читать 4.0 Шилдта(На самом деле неважно даже что 4.0, новые фичи дочитать из других книг можно, я говорю о базисе), либо есть что-то более годное?
Аноним 05/08/15 Срд 00:02:57 #47 №525667 
>>525634
https://dotnetfiddle.net/hPY4yk
Сорт оф visitor pattern.
>t.CompareTo(t1)
Это ты руками вызываешь. Когда ты вызываешь .Sort(), там какой-то ебанутый компарер создается, который хуй знает как работает.
Аноним 05/08/15 Срд 00:21:23 #48 №525677 
14387232839400.png
>>525634
>>525667
Компарер с пикрелейтед функцией создается.
Из-за дженериков получается что
>Tile t = new SuitedTile(),
в функции становится
> x = t as IComparable<Tile>
Поскольку SuitedTile у тебя реализует этот интерфейс сам а не от Tile берет реализацию, то именно от SuitedTile берется метод CompareTo.
Вобщем, не стоит вскрывать эту тему.
Аноним 05/08/15 Срд 00:58:39 #49 №525692 
14387255199860.jpg
>>525272 (OP)
Был сегодня на собеседовании на джуна ASP.NET отличия между абстрактным классом и интерфейсом озвучил, задание тестовое короткое выполнил, про люки ответил. И внезапно оказалось что js, jQuerry нужен и немного AJAX.
А я до этого только классы в хтмл с помощью js менял при наведении, да форму валидации делал, в общем пообещали перезвонить, лол.
Что можно быстро по данной теме навернуть, чтоб через пару недель не ударить в грязь лицом?
Аноним 05/08/15 Срд 01:12:57 #50 №525701 
>>525450
Ты занимаешься хуйней. ООП совсем не означает, что все надо совать в один класс. Сделай отдельный класс MultiComparer

var comparer = new MultiComparer();
comparer.RegisterComparison( typeof(SuitedTile), 0, new SuitedTileComparer() );
comparer.RegisterComparison( typeof(DragonTile), 1, new DragonTileComparer() );
var cmp = comparer.Compare( dragonTile, suitedTile );

Идея понятна? Цифры 0,1 - это твой sortIndex. Если типы разные, то сравнивается индекс, если тип один и тот же - вызывается comparer (третий аргумент RegisterComparison). Гибко, тестируемо и расширяемо, а с IComparable ты заебешься дописывать условия при каждом новом типе тайла.
Аноним 05/08/15 Срд 01:14:48 #51 №525702 
>>525692
Angular, его почему-то везде требуют.
Аноним 05/08/15 Срд 01:51:21 #52 №525712 
Можно я повниманиеблядствую? Спасибо.
Если что, я, автор этой https://github.com/bo20202/OldFileDeleter говноприблуды, которая не работает из-за блядского майкрософта, создатель первого сишарп треда в котором на ОПпике была картинка C#!=java, или как-то так. В теме или в посте была надпись ОФФФФФФИЦИЯЛЬНЫЙ СИСЯРП ТРЕД в этом году. Или это было в прошлом? Забыл уже. Я знал язык на уровне дерьма, и вместе с этим тредом происходило моё обучение! :3 Спасибо вам, анончики!
Вниманиеблядство окончено, спасибо.
Аноним 05/08/15 Срд 04:01:33 #53 №525726 
>>525712
не открывайте посоны там вирус копм распидорасило пишу с#
Аноним 05/08/15 Срд 04:45:39 #54 №525728 
14387391399020.jpg
>>525726
>пишу с#
когда roslyn доделаешь?
Аноним 05/08/15 Срд 05:09:49 #55 №525735 
>>525712
Пиши следущую говноприблуду.
Суть токова прога фоткает рабочий стол со всеми окнами раз в минуту и клеит скрины в файл mp4. Еще есть трей и кнопки начать фотосесию или немножко подождать. Должна быть опция показать кино при загрузке системы с прошлого раза.
Джва года жду такую прогу.
Аноним 05/08/15 Срд 05:18:53 #56 №525736 
>>525735
Кстати можно сделать старт ап "мативационные технологии". Уже две проги будут, одна удаляет к хуям мусор с рабочего стола, вторая будет показывать кино "Прокастинирующее говно и его друзья". На до еще третью и можно толкать.
Аноним 05/08/15 Срд 05:21:04 #57 №525738 
>>525728
Мне лень. Может в 2017...
Аноним 05/08/15 Срд 05:30:35 #58 №525740 
14387418355140.jpg
>>525738
>2017
Аноним 05/08/15 Срд 05:38:26 #59 №525741 
>>525735
Кек, попробую.
Аноним 05/08/15 Срд 05:43:17 #60 №525742 
У кого есть желание помочь дебилу?
Имею опыт программирование на C# на уровне "Курсовая" и "Дипломная на 35000 строк кода".
Решил я смастерить себе прогу читающую файлы fb2, суть слегка модифицированный .xml, но вот только решительно не могу понять куда именно выводить итоговыйб форматированный текст? Или мне самому мастерить страницы вывода?
Аноним 05/08/15 Срд 07:29:08 #61 №525749 
>>525735
>немножко подождать
Подробнее, пожалуйста.
>показать кино при загрузке системы с прошлого раза.
При старте винды?
Аноним 05/08/15 Срд 08:00:48 #62 №525750 
14387508480740.jpg
>>525749
>Подробнее, пожалуйста.
Кнопка start/stop screen capture, чтобы можно было останавливать и возобнавлять запись. По-умолчанию прога запускется в состоянии... в настройках уточнить можно. Все клеится в один файл с обязательной датой в имени, каталог сохранения можно в настройках задать. И еще нужна кнопка start new... , для начала новой записи. Ну и exit and setting. Пять кнопок итого.
>При старте винды?
Да, но это шутка, такая функция не нужна. Пусть юзер сам смотрит видео когда ему удобно.
Аноним 05/08/15 Срд 08:10:47 #63 №525751 
>>525750
Блин, надо что-нибудь по WPF почитать тогда.
Аноним 05/08/15 Срд 16:40:10 #64 №525908 
Посоны, я долбоеб. Удалил в своем проекте App.xaml. Потому что до этого добавлял какие-то xaml файлы, потом стали не нужны, а этот смотрю нихуя не делает, и пустой полностью, ну я удалил этот App.xaml, теперь не запускается, пишет нету точки входа в приложение, а где оно там блядь было, в App.xaml.cs пусто нахуй, где там точка входа блядь. Короче как вернуть все это? Скопировал из сохраненной утром версии проекта этот App.xaml и ситуация не изменилась.
Аноним 05/08/15 Срд 16:41:23 #65 №525909 
>>525908
ты его в проект то добавил?)))
Аноним 05/08/15 Срд 16:46:28 #66 №525915 
>>525909
Да.
Аноним 05/08/15 Срд 17:43:24 #67 №525944 
>>525908
Здравствуйте, не хотели бы вы поговорить о системах контроля версий?
Скопируй еще App.xaml.cs
Аноним 05/08/15 Срд 17:59:32 #68 №525947 
>>525750
Сука пиздец, как сделать ебучий скриншот на шарпе?
Аноним 05/08/15 Срд 18:05:31 #69 №525950 
>>525947
Всё, я аутист.
Аноним 05/08/15 Срд 18:36:37 #70 №525969 
>>525750
Если сделаю чтобы файлы конвертировались в видео специальной кнопкой, нормально будет?
Аноним 05/08/15 Срд 19:23:30 #71 №525996 
>>525272 (OP)
>Наследование не нужно, до тех пор пока не появится уникальное поведение для какого либо сочетания энумов.
А можешь привести пару примеров такого поведения? А то я всё ещё мечусь от одного к другому, в итоге 2 реализации пилю одновременно.
Аноним 05/08/15 Срд 19:24:39 #72 №525999 
>>525650
>>525996
Аноним 05/08/15 Срд 19:34:29 #73 №526006 
14387924693110.jpg
Сап, пр. Есть один запрос к серверу, возвращающий определенные номера 2 разных типов. Эти номера я храню в списках, и чтобы заполнить сразу 2 списка я решил воспользоваться методом с out-параметром.

sMethod(List<int> numbers1, out List<int> numbers2)
{
...
шлем запрос, заполняем списки и т.д.
...
return numbers1;
}

Собственно, проблема в том, что numbers2 должен инициализироваться в теле метода, но инициализация через = {1, 2, 3}; не прокатывает. Поэтому приходится пользоваться костылем в виде создания нового пустого списка и присваивания его numbers1. Есть ли альтернативный способ?
Аноним 05/08/15 Срд 19:40:04 #74 №526012 
>>526006
Что значит не прокатывает?
return Tuple.Create(list1, list2)
Аноним 05/08/15 Срд 19:49:52 #75 №526017 
>>526012

Я еще довольно низкоскилловый и практикуюсь по ходу чтения обучающей литературы, так что о классе Tuple и кортежах еще пока не слышал. Спасибо, изучу подробнее.
Аноним 05/08/15 Срд 20:36:04 #76 №526030 
>>526017
Как у тебя метод сервера возвращает два числа?
Аноним 05/08/15 Срд 21:22:45 #77 №526050 
>>526030

Сервер вообще возвращает массив чисел двух типов в xml, потом уже метод их сортирует и собирает.
Аноним 05/08/15 Срд 21:35:57 #78 №526059 
Как получить текущую папку, в которой лежит exeшник?
Аноним 05/08/15 Срд 21:38:23 #79 №526062 
>>526059

Application.StartupPath
Аноним 05/08/15 Срд 21:50:56 #80 №526068 
>>526062
Чому в дебагерре показывает null?
Аноним 05/08/15 Срд 21:56:00 #81 №526071 
>>526068

Потому что ты хуй, очевидно же.
Аноним 05/08/15 Срд 21:56:32 #82 №526072 
>>526071
:-)
А если по доброму?
Аноним 05/08/15 Срд 22:13:33 #83 №526084 
>>526072

Ты хуец :)
Аноним 05/08/15 Срд 22:18:43 #84 №526086 
>>525272 (OP)
Многомерные массивчики.
Можно ли взять матрицу и задать в одну строку значение всем элементам по ваовиаовоаво
пример:
int[,] arr = new int[3, 5];
arr[2][хуйхуйхухй]={0, 2, 5, 7, 7};
как чо сделать это
Аноним 05/08/15 Срд 22:23:50 #85 №526087 
>>526084
Спс, няша :3
Аноним 05/08/15 Срд 22:31:16 #86 №526091 
>>526087

Еще есть Application.ExecutablePath. Такая хуйня в два счета гуглится и на киберфоруме дохуя тредов на эту тему.
Аноним 05/08/15 Срд 22:57:31 #87 №526106 
>>525944
Скопировал, нихуя не помогает, да и толку, если он пустой, в общем сделал так, взял утреннюю версию и туда скопировал все что я менял за день, а именно 2 cs файла, все норм.
Аноним 05/08/15 Срд 22:59:41 #88 №526107 
Анончики, ну помогите нюфане. Пожалуйста.

>>525652
Аноним 05/08/15 Срд 23:11:30 #89 №526109 
>>526107

Шилдт просто божественен. Читал его книгу по java, потом бросил. Сейчас читаю по Шарпу и тоже бросаю периодически. Бросал не потому что они хуевые, а наоборот настолько охуенные, что я хочу начать ТВОРИТЬ! В итоге творить получается, но можно бы и получше. Поэтому сейчас стараюсь дочитать ту самую книжку Шилдта по C#.
Аноним 05/08/15 Срд 23:32:34 #90 №526131 
>>526109
Я просто начал читать и чет как-то меня перевод не устраивает. Местами очень странные предложения которые по всем ощущениями переводил кто-то дико далекий от кодинга.
Теперь вопрос стоит ли читать на Английском или не заморачиваться?
Аноним 05/08/15 Срд 23:34:38 #91 №526132 
>>526131
Заморачиваться.
Аноним 05/08/15 Срд 23:54:37 #92 №526141 
Так кто-нить скажет, можно ли подобное сделать?

>>526086
Аноним 05/08/15 Срд 23:55:31 #93 №526142 
Так кто-нить скажет, можно ли подобное сделать?

>>526086
Аноним 06/08/15 Чтв 00:03:12 #94 №526145 
>>526142
>>526141
>>526086
Обезьяна тупая, зайди на мсдн и посмотри, уебище непутевое.
int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };

https://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
Аноним 06/08/15 Чтв 00:47:05 #95 №526155 
Ну смотрите: есть опыт создания приложения для ВФ8.1, хочу полноценно вкатиться в мобильную разработку и пойти джуном или фрилансить.
1) Правильно ли я понимаю, что самым лучшим вариантом сейчас будет — портировать моё приложение на ведро через ксамарин и написать в резюме, что я ведро/ВФ-девелопер?
2) Нужно ли выкладывать ведро-приложение в стор, чтобы похвастаться в резюме/портфолио? Не хочу покупать девелоперскую лицензию и ебаться с магазином, если можно как-то без этого Или лучше положить его на сайт-визитку/залить в гит/етц?
3) Чем плох ксамарин? Какие подводные камни меня поджидают?
Аноним 06/08/15 Чтв 03:27:15 #96 №526201 
>>525335
Install-Package kasthack.vksharp
Аноним 06/08/15 Чтв 05:42:10 #97 №526225 
14388289302530.png
>>525969
Норм. ПАТЧАМИ ДОПИЛЯТ

>>525996
Пусть будет два дракона один ледяной другой огненный. Предположим урон у них считается по разному у огненого будет "горение на 13 сек" у ледяного "заморозка на 3 сек и замедление на 5".

Еще где-то есть волшебный метод DoAttack(Target).

Если драконы различаются только енумом и некоторыми универсальными параметрами, то в методе DoAttack появится switch который будет проверять, что за дракон и поразному интерпретировать одинаковые данные. Для одного поля времени у ледяного будет считася заморозка, а у огненого - горение. Т.е поведение по факту разное. Тут можно отнаследоваться.
Общее правило: любой нетривиальный swich/if можно превратить в подкласс с виртуальным методом.

Лол, из меня обеснялка такая же, как из тебя про тайлы.

> 2 реализации пилю
Это норма.

Вот накатал свой вижн только ради сортировки: http://pastebin.com/WBTLdYQj
Только не бейте, лучше обосыте.
Алсо, походу у тебя путаница в терминологии. Дракон и Ветер это нихуя не тайлы - это всего лишь часть которая без карты не фурычит.
Еще меня подмывает избавиться либо от Card, либо поместить в нее ДраконоВетра тогда тайл нинужин. А еще я не понял валидный ли тайл с одной картой(масть-значение), но без ДраконоВетра и наоборот?
Аноним 06/08/15 Чтв 06:20:10 #98 №526234 
>>526225
>Общее правило
Общее правило простое: НАЧНИТЕ ПИСАТЬ ТЕСТЫ, УЕБКИ ВЫ МАЛОЛЕТНИЕ!!1 С тестами вы очень быстро заебетесь писать стены кода на каждую хуйню и начнете думать об архитектуре.
Аноним 06/08/15 Чтв 06:25:15 #99 №526235 
>>526225
Внимание, вопрос: в скольки местах придется исправить твой код, если к ветру и дракону надо будет добавить эльфов и орков? Про то, что алгоритм работы этой хуйни вообще не очевиден, я промолчу. Через неделю ты сам охуеешь в этом разбираться.
Аноним 06/08/15 Чтв 06:52:00 #100 №526239 
>>526234
Фу какой тупой бугуртыш.
Думать об архитектуре это что-то из разряда анонизма, сука ее нужно быстро-решительно писать и изменять, а как станет норм по требованиям, писать начисто, и от стены чернового кода с тестом никуда не уйти. Мамкин теоретик бля.

>>526235
В шести местах, а что?
На самом деле, все индексы и магические числа можно(нужно, но мне лень) вынести в компоратор и место измений будет всего одно.

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

Кст. у меня на скрине фейлбля, только заметил. Веса надо по-лучше подобрать, а то я их взял с потолка и диапозон не влез.
Аноним 06/08/15 Чтв 08:21:22 #101 №526250 
>>526155
> самым лучшим вариантом сейчас будет — портировать моё приложение на ведро через ксамарин
Зависит от того сколько у тебя общего кода. Если допустим приложение это браузер или плеер - то это бессмысленно.

> Нужно ли выкладывать ведро-приложение в стор
Нужно - будет бесплатный трафик (если у тебя приложение не уровня калькулятор, коих миллионы).
Но учти что у тебя не должно быть эротики (мне так 2 приложения забанили).

> Чем плох ксамарин?
Платный - под мак я так крека и не нашал, под винду есть. Проблема в том что xamarin часто обновляется (фиксят баги) и при этом старые креки не работают. Да еще под виндой не пашут всякие фишки rosyln, при этом под маком все компилится.
Ну и главная проблема - больше потребление памяти, размер apk и приложение будет стартовать 1-2 секунды
sageАноним 06/08/15 Чтв 09:34:54 #102 №526265 
>>526239
Мы вам перезвоним.
Аноним 06/08/15 Чтв 12:28:10 #103 №526310 
>>526145
Это не то. Мне надо добавить массив к многомерному массиву.
Есть int[,] anon = new int[2, 2] {{0, 1}, {2, 1}};
int[] dwach = new int[2] {5, 5};
anon [1] %какая-то штука% = %может быть здесь еще что-то% dwach;
>>anon
>>{{0, 1}, {5, 5}}
Аноним 06/08/15 Чтв 12:32:23 #104 №526315 
>>526310
>>526145

Ах, и да. Я делаю это потому, что у меня нет за ранее известного размера массива.
Аноним 06/08/15 Чтв 12:37:28 #105 №526321 
>>526315
Используй другую структуру. Или условие именно двумерный массив?
Аноним 06/08/15 Чтв 12:42:07 #106 №526323 
>>526310
Это тебе не похапе, чтобы такие фокусы проворачивать. Если ты хочешь сделать что-то такое, значит ты делаешь что-то не так.
Аноним 06/08/15 Чтв 12:50:22 #107 №526332 
>>526323
>>526310
С другой стороны, ты точно внимательно читал ссылку, которую тебе дали?
var massiv = new int[2][];
var massiv2 = new int[10];
massiv[0] = massiv2;
massiv[1] = new int[] {1, 2, 3, 4, 5, 6};
Аноним 06/08/15 Чтв 13:09:07 #108 №526340 
Согласно учебнику по Haskell, так как C# не ленивый язык, он выдаст ошибку в строке if (item == null || item.Text != "N") continue;
если item равен null, но этого не происходит. Почему?
Аноним 06/08/15 Чтв 13:14:53 #109 №526343 
>>526340
Птому что "или"
Если первое условие верно и стоит "или", то второе условие не проверяется.
Аноним 06/08/15 Чтв 13:16:14 #110 №526345 
>>526340
Потому, что || не проверяет вторую часть условия, если первая истинна. Впрочем, есть еще |, который проверяет обе. Лучше бы ты читал учебник по шарпу, а не хаскелю.
Аноним 06/08/15 Чтв 13:19:28 #111 №526346 
>>526332
Я её даже не открывал. Искал на русском msdn и не нашел, еще он показал, как объявлять двумерный массив, думал, мне ссылку кинули туда, где я глядел .
Однако, спасибо. И еще один ламмер-вопрос.
Надо из строки сделать целочисленный массив. Как правильно ето вторить?
Делаю так:
int[] hui= Array.ConvertAll<string, int>(строка.Split(new String[0], StringSplitOptions.RemoveEmptyEntries), Int32.Parse);
Аноним 06/08/15 Чтв 13:21:05 #112 №526347 
>>526346
>Я её даже не открывал.
>Искал на русском msdn
Пиздец. Тебе самому себя читать не противно?
sageАноним 06/08/15 Чтв 13:26:33 #113 №526349 
>>526323
Даже в С можно вроде адрес присвоить одномерного массива строке двумерного
Аноним 06/08/15 Чтв 13:31:40 #114 №526357 
>>526345
Не знаю плюс это или минус, но на шарпе я могу писать не читая ничего кроме стаковерфлоу.
Аноним 06/08/15 Чтв 13:46:29 #115 №526360 
>>526346
"123".Select(x=>x-'0').ToArray()
Аноним 06/08/15 Чтв 15:46:11 #116 №526432 
В тред призываются боги написания серверов.
Короче, есть несколько приложух для мобилок. Надо отслеживать сколько раз каждую приложу ставят, сколько раз запукают, длину сессии и прочую херату. Под эту фигню я хочу написать сервак на божественном си шарпе, который будет получать get-запросы с параметрами, записывать значения в базу и иногда посылать в ответ на клиент джисоны с инфой. Вся эта херата должна масштабироваться до 1 ляма запросов в секунду.

Стоит ли писать на сишарпе? Может лучше ебануть на пхп?
Есть годные гайды?
Какие подводные камни?
Аноним 06/08/15 Чтв 16:04:14 #117 №526447 
Сап, гуру шурпа, подскажите студентоте:
1. Прочитал Jeffrey Richter - CLR via C#, большую часть. Книга очень объемная, и описано очень много всего достаточно детально, по сути справочник шарпа. Изучая что-то новое, возвращаюсь и перечитываю соответствующую главу из книги, и всё нормально понимаю. Стоит ли качать и читать какие-то другие (если да, то какие) книги по шурпу? Мол есть ли в других что-то, чего нету на этих 900 страницах, как-то так.
2. Что почитать, чтоб научиться юзать LINQ и лямбда-выражения? Несколько раз использовал, но всякие шаблонные примеры, а показались эти вещи очень удобными и юзабельными.
Аноним 06/08/15 Чтв 16:05:03 #118 №526448 
>>526447
fastupd Ко второму вопросу и делегаты приписать можно.
Аноним 06/08/15 Чтв 16:24:49 #119 №526455 
>>526447
Албахари и Рихтер. Остальное можно не читать.
Аноним 06/08/15 Чтв 16:40:47 #120 №526460 
>>526447
Лучше почитай Макконела и Мартина, а не всякую хуйню. Рихтер - это тупо справочник, полезный чуть более чем нихуя. LINQ - нечитаемое говно и ненужен
Аноним 06/08/15 Чтв 16:45:30 #121 №526463 
>>526460
>LINQ - нечитаемое говно и ненужен
))))
Аноним 06/08/15 Чтв 16:52:19 #122 №526468 
>>526463
О, мальчик, снова мы идем! Ты прочитал в книжке, что LINQ ЕТА КРУТА? До выхода линка все разработчики материли sql за уебанский декларативный подход. Вышел linq, подросло поколение школьников и хуяк, теперь модно писать нечитаемое декларативное говно вместо понятного императивного кода. Ты не задумывался, что далеко не все фичи, которые майкрософт сует в шарп, являются полезными?
Аноним 06/08/15 Чтв 16:55:19 #123 №526472 
>>526468
>кокок ВОТ РАНЬШЕ ТА ЛУЧШЕ БЫЛО!!!! суки пендосы мелкомягкие портят все((( кряяяяяяя!!!
Ясно. Утка в очередной раз решила подать голос.
Аноним 06/08/15 Чтв 17:08:19 #124 №526482 
>>526472
Мы вам перезвоним.
Аноним 06/08/15 Чтв 17:10:08 #125 №526483 
>>526482
>мам ну скажи им ну мам я не осилил линк и другие пусть тоже ругают
:)
sageкеккер 06/08/15 Чтв 17:23:27 #126 №526486 
>>525272 (OP)
>Существует множество тредов в /pr/ и ОПов, однако среди них нет более крякливого, чем этот. Это поистине язык в бактериях, сочетающий в себе быдлоту использования двача с поистине неограниченными возможностями. Знание создания тредов - прекрасный детектор современного, умного и успешного человека. Изучение разметки двача безошибочно указывает на успешного в будущем человека.
>/b/ элита продолжает обсужда ть будущее этого поистине тавтологического и совершенно безмозглово продукта компании Утка™.
Аноним 06/08/15 Чтв 17:24:20 #127 №526487 
>>526486
Кекус, вот это подрыв. Иди туши задницу, няша :3
sageкеккер 06/08/15 Чтв 17:24:57 #128 №526488 
>>526486
>безмозглого
fix
Аноним 06/08/15 Чтв 17:26:24 #129 №526489 
>>526483
Заткнись, долбозвон.
Аноним 06/08/15 Чтв 17:27:29 #130 №526490 
>>526489
У уточки кончились аргументы, найс.
Аноним 06/08/15 Чтв 17:33:35 #131 №526492 
>>526490
Я тебя записюкаю.
Аноним 06/08/15 Чтв 18:06:58 #132 №526508 
>>526455
Ок, скачал "Справочник по C#", это ведь оно?

>>526460
Макконел это "Совершенный код", так? А Мартин что?
Аноним 06/08/15 Чтв 18:12:29 #133 №526509 
>>526508
>А Мартин что?
«A Song of Ice and Fire», George Martin.
«Refactoring: Improving the Design of Existing Code», Martin Fowler и прочее там.
Аноним 06/08/15 Чтв 18:31:15 #134 №526515 
Что за Барт Де Смета скажете?
Аноним 06/08/15 Чтв 18:37:08 #135 №526520 
>>526515
>>526455
Аноним 06/08/15 Чтв 18:37:11 #136 №526521 
>>526515
Лаловство
Аноним 06/08/15 Чтв 18:37:27 #137 №526522 
>>526509
Лаловство
Аноним 06/08/15 Чтв 18:37:57 #138 №526523 
>>526508
Лаловство
sageАноним 06/08/15 Чтв 18:39:51 #139 №526525 
Заморозил тред лаловством)))0)))0)00
Аноним 06/08/15 Чтв 18:40:46 #140 №526527 
>>526432

Есть же Яндекс.Метрика для приложений, зачем тебе изобретать велосипед?
Аноним 06/08/15 Чтв 18:42:13 #141 №526529 
>>526432
>1 ляма запросов в секунду
Кокой оптимист.
Аноним 06/08/15 Чтв 18:43:02 #142 №526530 
Моча, три.
Аноним 06/08/15 Чтв 20:05:21 #143 №526551 
Парсю жсон библиотекой ньютонсофта (но можно и стандартной), есть строка {"2015-08-04": 91, "2015-08-05": 102, "2015-08-01": 138, "2015-08-02": 121, "2015-08-03": 102}. Как перегнать её в массив ключ-значение?
Аноним 06/08/15 Чтв 20:18:16 #144 №526554 
>>526551
Че-та типа Parse<Dictionary<DateTime, Int32>>(str), не? Читай доки раз пользуешься либой.
Аноним 06/08/15 Чтв 20:36:37 #145 №526558 
>>526554
Не совсем, но на правильный путь ты меня навёл. Спасибо огромное, анончик.
Аноним 06/08/15 Чтв 21:02:18 #146 №526569 
14388841388640.jpg
>>526225
>Алсо, походу у тебя путаница в терминологии. Дракон и Ветер это нихуя не тайлы - это всего лишь часть которая без карты не фурычит.
Ты ничего не понял, потому что я хуево объясняю.
Пикрейлэйтед: На пике 5 видов(типов) тайлов: масть бамбуков, масть символов, масть точек, драконы, ветра.
Аноним 06/08/15 Чтв 23:30:21 #147 №526631 
>>526569
Это маджонг?
Аноним 06/08/15 Чтв 23:52:09 #148 №526643 
Где можно посмотреть исходники дефолтных классов?
Аноним 07/08/15 Птн 00:01:25 #149 №526649 
>>526643
http://referencesource.microsoft.com/
Аноним 07/08/15 Птн 01:35:42 #150 №526696 
>>526631
Да. Риичи маджонг, если быть точным
Аноним 07/08/15 Птн 01:57:42 #151 №526702 
>>526569
Охлол, тайлы совсем ничем не различаются их можно в один enum пихать, а его в класс для возможности создать по 4 одинаковых но разных для программы тайла.
Аноним 07/08/15 Птн 02:08:16 #152 №526705 
Что лучше написать чтобы закрепить делегаты/события?
Аноним 07/08/15 Птн 07:41:54 #153 №526733 
>>525475
Блять, гениально.
Аноним 07/08/15 Птн 12:30:19 #154 №526769 
Сап шарпач, более-менее научился.
теперь слудущее: посоветуйте годную книгу asp.net для нубов.
и почему даже у Шилдта не писалось про графическую и звуковую библиотеку ? где на них инфу откопать ?
Ну и какие маны посоветуйте по поводу вендоинтерфейса?
Аноним 07/08/15 Птн 13:14:21 #155 №526787 
>>526769
Она одна в принципе. Adam Freeman - Pro ASP.NET че-та там.
Про графику и звук — это кресты + dx. Под шарп надо гуглить обертки и, соответственно, туториалы по ним. Лучше к гейдевам с этим вопросом сходить.
Аноним 07/08/15 Птн 14:48:41 #156 №526821 
>>526769
>>526787
Уточняйте, мвц или нет, иначе пиздец.
Аноним 07/08/15 Птн 14:59:47 #157 №526824 
>>526821
Какая разница, если учить надо весь asp.net: чистый, формы. мвс, да и апи тоже. По апи, правда, надо искать другую серию.
Аноним 07/08/15 Птн 16:04:49 #158 №526851 
>>526824
Формы то зайчем?
ONE-TO-ONE Аноним 07/08/15 Птн 16:14:00 #159 №526852 
Шарпаны, как сделать one to one relationship в EF используя Database First? Дохуя уже чего перепробовал: сейчас у меня в таблице Client поле ClientId int PRIMARY KEY, а в дочерней таблице ClientAddress поле ClientId Foreign Key, Unique, Not Null, но всё равно ебаный EF генерит класс Client с коллекцией Addresses, а не одним Address.
Аноним 07/08/15 Птн 17:03:51 #160 №526873 
>>526851
Потому, что мс их поддержку не дропнули и на них пишутся проекты.
Аноним 07/08/15 Птн 17:13:15 #161 №526877 
>>526852
Хуй знает. Там должна быть схема базы (edmx) и в ней должны все связи указываться. Впрочем, может это не от ef эта шляпа. Никогда с ef от базы не работал.
Попробуй фк перенести в Client.
Аноним 07/08/15 Птн 17:19:33 #162 №526879 
Хочу сменить работу в ближайшее время. Проблема в том, что последние полтора года я не работал с новыми технологиями, а поддерживал легаси хуйню на винформс и писал программы с не очень сложными алгоритмами для одной ненужной гисы (все на шарпе). На гитхабе есть несколько проектов, но на шарпе только один и это raycasting движок как в вульфенштайн 3д.
Думаю, что нужно написать что-нибудь и выложить на гитхаб, но не знаю, как лучше поступить: продолжать выкладывать вещи на OpenGL и OpenTK, потому что мне это нравится, или написать какую-нибудь хуйню со стеком C#\WPF\SQLite\EF? Если второе, то подкиньте идей (мне ничего кроме крудопараши не лезет в голову).
Аноним 07/08/15 Птн 17:24:00 #163 №526880 
>>526879
>ничего кроме крудопараши не лезет в голову
А кроме нее ты ничего на впф писать и не будешь.
Аноним 07/08/15 Птн 17:30:45 #164 №526881 
>>526880
Это само собой. Я и сейчас кроме крудопараши почти ничего не пишу.
Но уж писать эту хуйню в свободное время никак не хочется.
Аноним 07/08/15 Птн 21:40:32 #165 №526985 
http://vk.com/microsoft_ikit
стоит уже сейчас собирать деньги на обучение? годнота? как думаете?
Аноним 07/08/15 Птн 23:01:37 #166 №527006 
>>526985
Хуита.
Аноним 07/08/15 Птн 23:10:54 #167 №527008 
>>526985
> стоит уже сейчас собирать деньги на обучение?
Лучше отдай их мне.
Профинансируй мой опенсорс проект.
Аноним 08/08/15 Суб 05:57:22 #168 №527074 
>>527006
Почему?
Аноним 08/08/15 Суб 06:28:43 #169 №527078 
http://ua.jooble.org/m/JobDesc?msgId=19960483&furl=9120459450342839849&ckey=junior+c%23+developer&rgn=515&rad=0&hqid=526426721&p=1&pos=10
>Компания Devart предлагает вакансию для студентов и молодых специалистов.
> Кандидаты без опыта работы рассматриваться не будут.
Аноним 08/08/15 Суб 08:54:34 #170 №527083 
>>527078
Контрибьютил опенсорс на гитхабе? Пиши что есть опыт.
Аноним 08/08/15 Суб 13:28:13 #171 №527126 
Как корректно обновлять progressbar в рекурсивной функции?
private void Blyadofunc(DirectoryInfo newDir) {
    foreach(DirectoryInfo d in newDir.GetDirectories()) {
        ....
        Blyadofunc(d);
        ....
    }
}
 
Аноним 08/08/15 Суб 13:54:53 #172 №527138 
>>527126
Точно так же, как и внутри любой другой функции. Очнитесь, товарищ инженер.
Аноним 08/08/15 Суб 13:59:24 #173 №527141 
>>527138

Я имею ввиду, чтобы значение progressbar.Value было достоверным. Я же не знаю, сколько рекурсий может быть, в итоге полоска заполняется неверно.
sageАноним 08/08/15 Суб 14:12:34 #174 №527147 
>>527083
Так на сишарпе почти нету опенсорса
Аноним 08/08/15 Суб 14:20:55 #175 №527151 
>>527147
>Так на сишарпе почти нету опенсорса
>почти нету опенсорса
>почти
Не вижу смысла вести беседу с таким долбаебом.
sageАноним 08/08/15 Суб 14:25:31 #176 №527154 
>>527151
Блин, а я нарочно так написал, чтобы ты мне ответил.
А ты...
Аноним 08/08/15 Суб 15:11:58 #177 №527164 
Порекомендуйте источники про:
http://stackoverflow.com/questions/489258/linq-distinct-on-a-particular-property
http://stackoverflow.com/questions/7695723/optimizing-this-c-sharp-algorithm-k-difference

2 года не программировал, а друзья уже смеются надо мной.
Аноним 08/08/15 Суб 16:00:11 #178 №527176 
>>527164
Тоже не силен в алгоритмах. Во втором случае начал почему-то сразу думать про алгоритм нахождения таких пар. Впрочем, по алгоритмам это, наверно, Кормен и Кнут.
Аноним 08/08/15 Суб 16:20:52 #179 №527184 
>>527141
Сделай прогресс бар с плавающим индикатором.
Или, если у тебя рекурсия быстро отрабатывает, увеличь значение прогресса пост-фактум вместо увеличения на каждой итерации.
Аноним 08/08/15 Суб 16:51:27 #180 №527192 
>>527126
Можно добавлять бесконечно малые числа в конце, как это делает прогрессбар эксплорера (в начале скорость прогресса очень быстрая, а концу она уменьшается до 1нм в час).
Типа:
(Прогрессбар.Максимальный прогресс - Прогрессбар.Текущий прогресс)/2
Аноним 08/08/15 Суб 16:59:58 #181 №527195 
>>527176
Я находил пары простым перебором без повторений по старинке - циклами, на что мой друг рассмеялся, сказав: "Ты на Шарпе программируешь вообще или на Делфи?".

Со второй ссылки меня интересует выражение:
int result = sequence.Intersect(from item in sequence select item + difference).Count();
SQL какой-то в моих шарпах.
Аноним 08/08/15 Суб 17:14:04 #182 №527203 
>>527195
Я вообще не очень люблю декларативный линк и не пользуюсь им. Можно переписать так:
var diffSeq = sequence.Select(x => x + difference);
int result = sequence.Intersect(diffSeq).Count();
Всякие from in — действительно закос под сиквел, который транслируется в вызовы методов расширения линка на IEnumerable/IQueryable. Почитать можно у Албахари, например, или по первой ссылке гугла на запрос c# linq.
Аноним 08/08/15 Суб 17:20:06 #183 №527206 
14390436063260.png
Есть идеи?
PS: я нуб.
Аноним 08/08/15 Суб 17:21:46 #184 №527207 
>>527206
name -> Name.
Аноним 08/08/15 Суб 17:24:28 #185 №527208 
>>527207
Спасибо. Пздц я невнимательный.
Аноним 08/08/15 Суб 17:37:18 #186 №527211 
14390446384650.jpg
14390446384661.jpg
>>527206
Это где такие задачки можно посмотреть? Потруднее там есть?

>>527203
Ок, спасибо большое. Поищу там.
Аноним 08/08/15 Суб 17:38:37 #187 №527213 
>>527211
>Это где такие задачки можно посмотреть? Потруднее там есть?
codewars. Есть более сложные!
Аноним 08/08/15 Суб 17:42:44 #188 №527216 
14390449649470.jpg
>>527213
Спасибо, только на прошлой неделе узнал о таких сайтах и пытался разобраться с хакерранк.
Аноним 08/08/15 Суб 18:25:51 #189 №527225 
Чому не работает передача параметра по ссылке?

static bool scanmonth(ref int currmonth...) {
...
currmonth++;
return true;
}

if (!scanmonth(ref currmonth, curryear, cl, lang, page, array))
goto start;

Не плюсуется текущий месяц.
Аноним 08/08/15 Суб 18:30:15 #190 №527227 
>>525450
Боже, анон, нахуя это всё?

Я тоже писал маджонг, на ведроид для курсовой. Тип костей обозначил... string type! Разным для разных костей, но одинаковым для цветов и сезонов, и сравнивал тайпы. Нахуя ты всё это нагородил?
Аноним 08/08/15 Суб 18:44:58 #191 №527230 
>>527225
Не знаю. Должно работать. Проверь там логику свою. Впрочем, что ты такое пишешь? Обкурился ссями?
Аноним 08/08/15 Суб 18:47:06 #192 №527232 
>>527230
Граббер жсон-данных с одного сайта, перебирающий урлы вида /yyyymm/ в заданном диапазоне.
Аноним 08/08/15 Суб 18:49:05 #193 №527233 
>>527232
Не, я по твой сишный стиль.
Аноним 08/08/15 Суб 18:53:37 #194 №527235 
>>527233
А какой по представленным данным будет шарповый?

На вход задаются границы диапазона, например 200501 и 201508, программа обходит все урлы с месяцами в границах этого диапазона, парсит полученный жсон и дополняет array. cl - WebClient, lang и page - элементы урла.
Аноним 08/08/15 Суб 19:00:29 #195 №527237 
>>527235
Очевидно, что с использованием классов, инкапсуляции и соглашений наименования языковых конструкций. То, что ты запостил — это хуевый си с безусловными переходами на метки.
Аноним 08/08/15 Суб 19:10:55 #196 №527242 
>>527237
Метка там всего одна, обеспечивает зацикливание программы (это консолька) после успешного выполнения запроса, чтобы она запрашивала данные для следующего прохода. Я не фанатик "правильного стиля кода", поэтому не боюсь goto, как чёрт ладана. Ладно бы это можно было заменить бесконечным циклом, но на стартовую метку надо переходить ещё и при исключениях, например если введены некорректные данные для запроса.
Аноним 08/08/15 Суб 19:21:41 #197 №527247 
>>527242
У меня такое ощущение, что ты это все написал рядышком с точкой входа в программу. А про циклы: не вижу никаких проблем с исключениями и циклами. Метки нужны только в одном случае — для выхода из вложенных циклов. Впрочем, do as you please.
Аноним 08/08/15 Суб 19:36:27 #198 №527257 
>>527247
>не вижу никаких проблем с исключениями и циклами
Не понимаю. Такой код:

start: first operator
...
last operator
goto start;

можно заменить таким:

while (true) {
operators...
}

Но если мне нужно переходить на одну метку из нескольких разных точек программы - это можно реализовать без goto, сохраняя сравнимую сложность кода?

А из вложенных циклов в шарпе готу как раз не выводит, метка вне области видимости (или это в жабе так?)
Аноним 08/08/15 Суб 20:13:22 #199 №527268 
>>527257
>Но если мне нужно переходить на одну метку из нескольких разных точек программы
У тебя ебланский подход к написанию программ.
Аноним 08/08/15 Суб 20:17:30 #200 №527272 
>>527268
ОК. Мне нужно переходить на стартовую метку
1) из конца программы
2) при выбрасывании исключений веб-клиентом и десериализатором жсона. Оба вызываются внутри функции, вызываемой из тела программы. Твой вариант архитектуры?
Аноним 08/08/15 Суб 20:19:18 #201 №527273 
Шарпач, что насчет Windows IOT? Кто уже пердолит код под raspberry на шарпе?
Алсо, где можно годно натаскаться на тему XAML, нашел только на ютубе ебал-дремал туторилы пиндосские
Аноним 08/08/15 Суб 20:20:39 #202 №527274 
>>527272
что значит из конца программы? "return", а после "if" не?
другой анон
Аноним 08/08/15 Суб 20:44:03 #203 №527283 
>>527272
Цикл с хендлером исключений. Исключения пробрасываются вверх по стеку.
Аноним 08/08/15 Суб 22:27:49 #204 №527333 
Привет, поясните зачем нужны buffer stream и textwriter/reader . На русском не смог нагуглить что-то внятное.
Аноним 08/08/15 Суб 22:32:52 #205 №527340 
>>527333
стрим в память хуярит же, textreader - это тебе например надо читать с файла в массив и по завершению textreader.read() вернет -1, с -1 и начинаешь играть в if и тд. смотри методы на msdn, writer в поток записывает, тоже там методы смотри
Аноним 09/08/15 Вск 01:17:12 #206 №527364 
>>525272 (OP)
После каждого запуска программы записываю значение переменной в файл при помощи File.AppendAllText, но никак не могу сделать, чтобы писалось с новой строчки каждый раз.
sageАноним 09/08/15 Вск 01:24:16 #207 №527365 
>>527364
\n?
Аноним 09/08/15 Вск 01:26:24 #208 №527366 
>>527365
Не помогает. Просто игнорирует \n.
Аноним 09/08/15 Вск 01:30:57 #209 №527367 
>>527366
Нашел решение: "+ Environment.NewLine".
Аноним 09/08/15 Вск 03:52:55 #210 №527378 
Подскажите.
Как в консоли обрабатывать нажатые клавиши на ходу, без остановки выполнения?

System.Console.Read, ReadKey, ReadLine останавливают программу и ждут, пока юзер введёт что-нибудь.

Мне пойдет и вариант фоновой записи нажатых клавиш куда-нибудь. И вариант ловли события с записанной ConsoleKey в EventArgs .

В классе Console есть одно единственное событие, но оно ловит только специфические клавиши (ctrl+break, ctrl+c).
Аноним 09/08/15 Вск 06:14:39 #211 №527382 
>>527378
Тебе придется пердолиться с WinAPI чтобы реализовать свои события нажатия клавишь.
Аноним 09/08/15 Вск 07:17:11 #212 №527385 
14390938314580.jpg
>>527378
>>527382

//вот так сделал
//основная программа в другом потоке
//а этот код чисто клавиши ловит

//
ConsoleKeyInfo butt = new ConsoleKeyInfo();
do
{
if (Console.KeyAvailable)
butt = Console.ReadKey();
if (butt.Key == ConsoleKey.Escape) break;
if (butt.Key == ConsoleKey.B) Console.WriteLine("B for Bydlo!");
//и т. п.
}
while (true); //
/

//жрёт 20% ЦП, если верить диспетчеру задач
Аноним 09/08/15 Вск 07:48:31 #213 №527387 
>>527385
Я почему-то думал, что у МС нет никаких оберток для клавиш в консольке. Не суть.
Ну другого способа, насколько я знаю, нет.
Аноним 09/08/15 Вск 10:02:20 #214 №527393 
>>527385
Хотя бы Thread.sleep(0) влепи в цикле, а лучше в районе 20-50. И не забудь с этого метода поймать ThreadInterruptedException, чтобы закончить выполнение потока.
Аноним 09/08/15 Вск 10:18:18 #215 №527394 
>>527387
Да и это в общем-то не способ, а быдлокодинг. 20% цп убивать консолью - это провал.
Спасибо.
Аноним 09/08/15 Вск 10:19:37 #216 №527395 
>>527393
Ага. Спасибо.
Аноним 09/08/15 Вск 12:01:23 #217 №527409 
>>527394
Если спускаться до уровня винапи, то так оно и выглядит. Заводишь функцию, в которой засовываешь бесконечный цикл и в этом цикле слушаешь клавиатуру.
А чтобы не отжирало, то способ анона выше должен сработать. Можешь покрутить значение, передаваемое в sleep.
Аноним 09/08/15 Вск 15:04:25 #218 №527454 
Анон, решил учить шар по Стоиллмену (3е издание) для йоба приложений под ВФ и вин 10, столкнулся с тупорылейшой проблемой, в книге при создании проекта он выбирает шаблон windows store в вижул студио, но у меня блядь его нет, пиздец просто, я уже перечитал хуеву тучу форумов, у всех есть сразу после скачивания, а у меня - нет. Подскажи пожалуйста что я делаю не так, сразу извиняюсь за очевидно нубский вопрос.
Аноним 09/08/15 Вск 15:08:01 #219 №527455 
>>527454
Может ты шаблоны не поставил? Там галочка при установке есть. Попробуй скачать через студию, в меню обновлений и расширений (или типа того).
Аноним 09/08/15 Вск 15:10:19 #220 №527456 
>>527455
Спасибо, сейчас накатываю средства для 8.1, может оно.
Аноним 09/08/15 Вск 15:32:34 #221 №527459 
Короче, это не оно. Мне нужно создать Blank App (XAML), а оно находится в шаблоне Магазин шиндовс, которого нет. Как его накатить, аноны?

>>527454 - кун

Аноним 09/08/15 Вск 15:34:58 #222 №527460 
>>527459
Где адекватные уроки по XAML нашел?
Аноним 09/08/15 Вск 15:36:47 #223 №527461 
>>527460
http://vk.com/doc128274887_411227535
Аноним 09/08/15 Вск 15:37:20 #224 №527462 
>>527461
Этот документ был удалён из общего доступа.
Аноним 09/08/15 Вск 15:38:31 #225 №527463 
>>527462
http://www.ex.ua/82867483
Аноним 09/08/15 Вск 15:39:16 #226 №527465 
>>527462
Ты скажи где шаблон достать, пожалуйста.
Аноним 09/08/15 Вск 15:40:04 #227 №527466 
>>527463
Уважаемые пользователи!
Приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.
Возможные причины ограничения доступа:
Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.

да я мимокрок, просто по ксамлу ищу годных материалов, скинь на другой ресурс ПЛЕС
Аноним 09/08/15 Вск 15:42:12 #228 №527468 
>>527466
Изучаем C#, 3-е издание ( Эндрю Стиллмен, Дженнифер Грин )
Аноним 09/08/15 Вск 16:07:07 #229 №527473 
>>527466
Через проксю зайди.
>>527456
Зашел сейчас в 15 студию. Там в templates -> c# -> windows -> universal предлагают тулзы установить. Ты их ставил?
Аноним 09/08/15 Вск 16:14:09 #230 №527474 
14391260497010.png
>>527473
Нет, ставил вот это.
Аноним 09/08/15 Вск 16:18:27 #231 №527476 
>>527474
Слушай. Разве «Пустое приложение» — это не тот «Blank app», что ты искал?
Аноним 09/08/15 Вск 16:27:23 #232 №527478 
>>527476
двачую этого, ставьте блять англиийскую версию, вы охуеете потом с русской
Аноним 09/08/15 Вск 16:44:19 #233 №527485 
14391278591450.jpg
Где находится раздел <authentification>?
В учебнике написано, что
<authentification mode = "Forms">
<forms loginUrl = "~/Account/LogOn" timeout="2880"/>
</authentification>
по дефолту в web.config прописано, но там нет ничего, и куда запихать я не знаю.

%%И хули этот ваш mvc такой замудреный?! Чувствую, скоро забью и пойду устраиваться на работу в макдональдс.%
Аноним 09/08/15 Вск 16:47:43 #234 №527488 
>>527485
Вопрос снимается.
Больше не буду спрашивать херню, которая легко гуглится.
Аноним 09/08/15 Вск 16:51:05 #235 №527489 
>>527485
>И хули этот ваш mvc такой замудреный?!
Ты формы видел? По сравнению с ними mvc просто прозрачен.
Аноним 09/08/15 Вск 16:56:00 #236 №527493 
>>527478
Окей, спасибо.
Аноним 09/08/15 Вск 17:00:45 #237 №527498 
>>527489
Видел. Но я ток начал, они для меня отличаются только в одном. В mvc представления верстают на razor по большому счету, в формах можно элементы прям с панельки на страницу aspx закидывать.

Слишком много всего делается за кадром, постоянно что-то автоматически вызывается, аргументы какие-то куда-то передаются. Я вообще слабо понимаю как это запускается.
Аноним 09/08/15 Вск 18:01:12 #238 №527529 
>>527409
Ясно.
Видимо просто не нужно такой функционал через консоль реализовывать, раз всё так сложно и дурацко.

>>527463
Спасибо за книжку!
sageАноним 09/08/15 Вск 18:39:23 #239 №527549 
>>527463
>>527529
Не кочает.
Залей на ргхост или мегу какой-то, будь няшей
Аноним 09/08/15 Вск 18:48:47 #240 №527554 
>>527549
http://rghost.ru/8yZJLVFjK
Аноним 09/08/15 Вск 21:35:31 #241 №527615 
>>527554
Как запилить нумератор для такого класса? Не реализовывать же в виде ElementNumerator : IEnumerator??

class List : IEnumeruble<Element>
{
List<Element> elements;
public IEnumerator<Tile> GetEnumerator()
{
????
}
}
Аноним 09/08/15 Вск 21:38:59 #242 №527619 
>>527615
Случайно к пост линканул.
Аноним 09/08/15 Вск 21:48:34 #243 №527621 
>>527615
Странно, пытался return elements.GetEnumerator(); Не работало, а сейчас заработало.
Аноним 10/08/15 Пнд 01:01:17 #244 №527679 
Какой смысл в такой реализации?
interface IControl
{
void Paint();
}
class Control: IControl
{
void IControl.Paint() { PaintControl(); }
protected virtual void PaintControl() {...}
}
class TextBox: Control
{
protected override void PaintControl() {...}
}
Аноним 10/08/15 Пнд 05:55:42 #245 №527721 
>>527679
Что по-твоему не так?
Аноним 10/08/15 Пнд 12:33:10 #246 №527782 
Где можно почитать про паттерны?
Аноним 10/08/15 Пнд 13:29:37 #247 №527807 
>>527721
Ну можно было просто написать
interface IControl
{
void Paint();
}
class Control: IControl
{
public virtual void Paint() {...}
}
class TextBox: Control
{
public override void Paint() {...}
}
Аноним 10/08/15 Пнд 13:31:05 #248 №527808 
>>527782
http://www.ozon.ru/context/detail/id/6108824/
http://www.ozon.ru/context/detail/id/2457392/
http://www.ozon.ru/context/detail/id/31789305/
Аноним 10/08/15 Пнд 13:43:39 #249 №527811 
>>527807
Так тебя явная реализация интерфейса смущает или вызов виртуального метода внутри интерфейсного? Кто знает зачем им явная реализация, мб вызов Paint не предназначен для повсеместного использования и требует специальной инициализации.
Аноним 10/08/15 Пнд 17:37:29 #250 №527902 
Как вконпелировать длл-библиотеку в исполняемый файл? Чтобы можно было распространять один файл, без библиотеки.
Аноним 10/08/15 Пнд 17:42:15 #251 №527905 
>>527902
В шарпе и дот.нете в целом нет статической линковки, но можно смержить несколько сборок в одну новую. Например:
http://liiw.blogspot.ru/2010/12/c-and-static-linking.html
Аноним 10/08/15 Пнд 18:42:58 #252 №527932 
>>527782
http://www.dofactory.com/net/design-patterns
Я вот такое находил.
Аноним 11/08/15 Втр 02:15:29 #253 №528125 
>>525272 (OP)
Сап, есть какая-нибудь адекватная portable версия visual studio?
Аноним 11/08/15 Втр 02:47:07 #254 №528135 
>>528125
Нет, но можешь попробовать SharpDevelop. Там есть поратбл версия и она даже WPF-дизайнер поддерживает (в некоторых местах даже лучше VS, лол). Но если тебе нужен весь функционал вс, то вариантов нет, уж слишком много вещей она по всей системе ставит. Разве что на виртуалку поставить, к счастью она не так уж и требовательна к ресурсам, конечно если у тебя не огромные проекты и куча дополнений.
Аноним 11/08/15 Втр 06:14:27 #255 №528158 
>>527807
http://www.blackwasp.co.uk/nvi.aspx
Аноним 11/08/15 Втр 10:03:58 #256 №528187 
>>528125
Видел Portable VS2008, но это говно мамонта уже.
Аноним 11/08/15 Втр 12:01:30 #257 №528217 
>>528125
VS Code полушутка, полу... да
Аноним 11/08/15 Втр 15:06:10 #258 №528313 
Нужна потокозащищенная очередь, в которой элементы протухают по таймауту. Have you any idea?
Аноним 11/08/15 Втр 15:14:52 #259 №528320 
>>528313
redis или самому написать за двадцать минут
Аноним 11/08/15 Втр 15:17:17 #260 №528326 
>>528320
Я за семь написал, но чую, что тут пахнет стандартом.
Аноним 11/08/15 Втр 22:26:38 #261 №528620 
Какая книга лучшая для изучения c#? Сам перекатываюсь из явы, читал Thinking in java - ультрагоднота, не побоюсь её сравнить с SICP. К сожалению по шарпу не могу найти подобное. Почти дочитал Троелсена, но он пишет без особой глубины - дается описание класса и его функций, тухленький пример и все, глава заканчивается. Ни применение концепций ООП в .NET(скучные главы по только по основам, не более), ни интересных задач, словно он пытался рассказать про все и сразу, но преподавательского опыта не хватило.
Аноним 11/08/15 Втр 22:29:45 #262 №528629 
>>528620
Так Рихтер, наверное, наиболее полный из всех.
sageАноним 11/08/15 Втр 22:35:58 #263 №528638 
>>528620
>SICP
Почему это говно все рекомендуют.
Поясните.
Аноним 12/08/15 Срд 04:48:52 #264 №528724 
>>528620
>применение концепций ООП в .NET
Ничем не отличается от джавы. Если ты можешь в джаву, ты автоматически можешь и в шарп. Все то же самое, только классы по-другому называются.
Аноним 12/08/15 Срд 06:29:48 #265 №528739 
>>528724
Вместо анонимных классов для каллбэков - делегаты, плюс про примеси не нужно забывать при проектировании. Все таки отличия есть.
Аноним 12/08/15 Срд 06:31:41 #266 №528740 
>>528739
Да, ещё про наличия структур и специфику боксинга-анбоксинга с ними.
Аноним 12/08/15 Срд 12:15:06 #267 №528837 
Аноны, не обосрусь ли я, читая C# yellow book на инглише уровня achiver? Как я понял, это основа-основ для самых ньюфагов. Нужно ли будет сидеть с переводчиком или там все и так понятно?
sageАноним 12/08/15 Срд 12:24:34 #268 №528845 
>>528837
А ты попробуй проверь.
Аноним 12/08/15 Срд 12:30:11 #269 №528851 
В прикрепленном треде не отвечают, спрошу здесь.

Составляю резюме джун точкаСЕТЬ. В графе ЭКСПИРИЕНС просто написать "without commercial experience" или еще приписать что то вроде "2 years non-commercial experience (small games, forums, some shit, etc.)"?
Аноним 12/08/15 Срд 18:43:45 #270 №529063 
Посоны, я тут где то три недели потихоньку ковыряю c#, до этого никогда ничего не писал, разве что в школе на паскале.
Написал программу для нахождения правильных ходов для коня на шахматном поле. Я уверен что написал настолько лютейший говнокод, что вы такого и не видели никогда. Но это все, что пришло мне в голову. Может кто нибудь посмотреть на него и сказать как сделать лучше?
http://pastebin.com/UM9tebSR
Аноним 12/08/15 Срд 19:21:52 #271 №529097 
>>529063
Публичные поля класса - плохая практика. В шарпе на такой случай есть свойства. В структуре же ты их использовал.

>(string)f.wentsList.ToString()
Ээ.

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

В целом вроде норм, хоть после целого дня кодинга я уже не понимаю, что делает твоя программа.
Аноним 12/08/15 Срд 20:37:54 #272 №529142 
>>529063
Избавься от try-catch в ChessTable.
Исключения очень тормозят, и бросать их стоит только когда действительно всё. Замени на явную проверку попадания в поле.

> Wents w = f.wentsList[ i ]; w.isValid = true; f.wentsList[ i ] = w;
Безсмысленно. Достаточно f.wentsList[ i ].isValid = true;

Имя Went можно генерировать прямо в конструкторе.
Аноним 12/08/15 Срд 22:13:51 #273 №529185 
>>529142
>Замени на явную проверку попадания в поле.
Вот это и была моя проблема. Я не знаю как по нормальному это проверить, просто не додумался как выяснить штатными средствами попадает ли точка в Range массива. Поэтому вот ТАКОЕ написал, и мне стыдно перед собой за это. Работает по принципу если выскочил эксепшен - ниче не делай, иначе говори что ход правильный.
>Безсмысленно. Достаточно f.wentsList[ i ].isValid = true;
Изначально так и было. Но так не скомпилируется, выкинет ошибку, потому что я работаю со структурой.

>>(string)f.wentsList.ToString()
>Ээ.
Я знаю, что там не нужно явное приведение типа, это осталось от старого варианта, когда я там затупил, просто не убрал.
По поводу статики и неверного именования, это проблема проектирования, если так можно сказать. Я писал на ходу, и изначально этот метод реально должен был только проверять и ничего не делать, но потом все это обросло новыми объектами и кодом, логика сменилось а название осталось старым.
Аноним 12/08/15 Срд 22:27:22 #274 №529193 
>>529185
>но потом все это обросло новыми объектами и кодом
Одно слово — рефакторинг. Когда начинаешь жопой чуять, что дела складываются не лучшим образом и ты пытаешься впихнуть невпихуемое — самое время заняться. Впрочем, можно и по ходу дела этим заниматься.
Аноним 12/08/15 Срд 22:38:53 #275 №529198 
>>529193
Ну тут я просто решал задачку, про рефакторинг не задумался даже.
Аноним 13/08/15 Чтв 05:11:06 #276 №529281 
Господа, что делать, если у меня срок лицензии Вижуал Студио истек? Кто-то писал, что он бесплатный.
Аноним 13/08/15 Чтв 05:17:09 #277 №529284 
>>529281
Visual Studio 2013 Express for Desktop update 5
For Free!
Download Now!
http://download.microsoft.com/download/2/E/E/2EEC68E6-7B03-437A-AF06-F8E43F04014D/vs2013.5_dskexp_ENU.iso
Русик докачаешь, если он вдруг окажется необходим.
Аноним 13/08/15 Чтв 05:33:34 #278 №529288 
>>529284
какой-то он тяжелый. а точно фор фри и через 30 дней не попросит денег?
Аноним 13/08/15 Чтв 05:34:16 #279 №529289 
Анон, помоги советом.
Живу в мухосранске (300к). Хочу устроиться в какую-нибудь контору, чтобы в дальнейшем стать жуниором c#. Знаний моих на жуниора не хватает не знаю ни одного жуниора, думаю такая планка актуальна, пойти как трейни нет возможности, просто из-за отсутствия подобного варианта в местных конторах. В конторах на жуниора требуют от 1-3 лет опыта разработке. Писал только для себя всякие приблуды.

Как в данной ситуации найти вакансию?
Аноним 13/08/15 Чтв 05:40:15 #280 №529291 
>>529288
Без аккаунта вроде 30 дней, точно не помню уже.
Пилишь аккаунт в системе Microsoft вот по этой ссылке https://visualstudio.com
Логинишься в студии, и пользуешься сколько влезет.
Аноним 13/08/15 Чтв 07:01:32 #281 №529303 
>>529291
бля, ну и нахуй ты тогда это говно дал? оно мой телефон просит после регистрации в аккаунте.
Аноним 13/08/15 Чтв 11:46:44 #282 №529369 
Шарпаны я тут столкнулся с логической проблемой. У меня есть книжка албахари хотел докупить остальные годные но шара то не хило прокачался книжки получается морально устарели но издания их за 2015 год. Как думаете ждать нет свежак или за 15 брать ? У меня не подгорит потом ? А то у меня пунктик что бы все свежее и топовое было
Аноним 13/08/15 Чтв 11:50:19 #283 №529372 
>>529289
- сильно проситься в имеющиеся конторки;
- сменить пмж;
- заняться фрилансом.
Аноним 13/08/15 Чтв 11:53:29 #284 №529374 
>>529369
У Албахари книжка за 5 шарп. Про 6 можешь почитать просто так, в инете.
Аноним 13/08/15 Чтв 16:49:14 #285 №529519 
Народ, обмазываюсь Service Bus, но не могу найти подходящее для себя решение задачи. Нужна система "1 генератор сообщений" -> "неопределённое количество анонимных потребителей сообщений". Topics/subscriptions, насколько я понял, заставляют создавать сабскрипшн на каждого консьюмера, а Event Hubs я не понял вообще с его партишнами и консьюмер группами.
Аноним 13/08/15 Чтв 16:56:51 #286 №529531 
Господа, с вами снова нуб-3-недели-с#.
Написал реализацию связного списка с собственно методом разворота списка. Говорят, на собеседованиях это многих ставит в тупик. Я тоже тупил наверное минут 30, не мог поверить что решение такое простое. Посмотрите пожалуйста код, может я таки не допер? Хотя проверил, работает.

https://github.com/cancelledbit/SingleLinkedList/blob/master/SingleLinkedList/SingleLinkedList/SingleLinkedList.cs
Аноним 13/08/15 Чтв 17:46:25 #287 №529567 
>>529531
Ты с жабы перешел? =/
Аноним 13/08/15 Чтв 18:02:48 #288 №529573 
>>529567
Нет, это первый язык который я учу осознанно. До этого лет 7 назад игрался с похапе, но не долго. А что не так?
Аноним 13/08/15 Чтв 18:07:49 #289 №529575 
>>529303
Так введи рандомный телефон.
Аноним 13/08/15 Чтв 18:19:28 #290 №529582 
>>529573
>А что не так?
Ну, ты написал совсем уж говнокод.
В ноде достаточно оставить свойство Next, HasNext переписать как Next != null, добавить конструктор со значением.
В списке надо переписать метод Push. Вынести создание ноды за ветвление, в ветках убрать установку нала для Next, ибо он там по-умолчанию.
Ну и прочее еще там по мелочевке. Просто первая мысль была — в жабу опять свойства не завезли.
Аноним 13/08/15 Чтв 18:27:44 #291 №529585 
>>529531
>>529582
Да, надо еще реализовать IList'T или хотя бы IEnumerable'T, ибо не юзабельно.
Аноним 13/08/15 Чтв 18:30:12 #292 №529586 
>>529582
> Просто первая мысль была — в жабу опять свойства не завезли.
Но в жабе же есть геттеры сеттеры.
Аноним 13/08/15 Чтв 18:45:50 #293 №529593 
>>529586
Если ты их сам напишешь, а потом будешь долбиться с гет() и сет(), да.
Аноним 13/08/15 Чтв 19:37:14 #294 №529616 
>>529582
>>529585
Я же просто пытался задачку для собеседования пройти. Next переделал. Просто смотрел обучалки на ютубе, там часто создают приватные поля и публичные свойства к ним, я думал это нормально. Причем в гет/сет там никакой спец логики не реализуют.
Аноним 13/08/15 Чтв 20:02:50 #295 №529628 
>>529616
> там часто создают приватные поля и публичные свойства к ним, я думал это нормально.
Так что значит приватные поля не нужны?
Аноним 13/08/15 Чтв 20:12:21 #296 №529631 
>>529628
Приватные поля, как бек поля под свойства, нужны только в том случае, когда у тебя есть логика в геттерах/сеттерах. Иначе это пустая трата времени, ибо компилятор сам создаст приватное поле и два метода для чтения и записи.
Аноним 13/08/15 Чтв 21:10:08 #297 №529657 
>>529281
Эээ, вс 2015 СООБЩЕСТВО ВЕРСИЯ бесплатная, по функционалу = 2013 про
Аноним 13/08/15 Чтв 23:19:17 #298 №529701 
>>529575
и код на него присланный тоже рандомный ввести?
Аноним 13/08/15 Чтв 23:19:35 #299 №529702 
>>529531
Разве для разворота списка нельзя просто поменять ссылки на следущий узел ссылками на предыдущий узел, и еще голову и хвост использовать для начала замены.
Прост какой-то мутный темп создается, +n памяти за просто так - жаба душит.
Аноним 13/08/15 Чтв 23:23:23 #300 №529703 
>>529701
Анон, try { g: виртуальный телефонный номер }, на них даже что-то принимать можно.
Аноним 13/08/15 Чтв 23:30:15 #301 №529704 
>>529531
>на собеседованиях это многих ставит в тупик
Посылай нахуй этих пидорасов. Это тест на покорность, а не на знания.
Серьезно, вот я у мамки синьор с 9 годами опыта и писать разворот списка - это последнее, что мне придет в голову. Если возникнет подобная задача, я возьму алгоритм из справочника типа Кормена и то, если не будет готовой библиотеки или копипасты на стековерфлоу.
sageАноним 13/08/15 Чтв 23:58:34 #302 №529711 
>>529701
Хуй знает, мне только на мыло приходило, телефон не вводил.
Аноним 14/08/15 Птн 00:02:22 #303 №529712 
>>529372
Спасибо, анон, попробую фриланс и буду дальше делать приблуды, пока не продумаю вариант получше (с переездом).
Аноним 14/08/15 Птн 00:40:11 #304 №529726 
Подкиньте годных ютуб каналов про сишарп.
Аноним 14/08/15 Птн 00:53:56 #305 №529729 
>>529712
Как накопишь опыта, можно и удаленно работать на ДС.
Сам работаю в говноконторке в мухосрани. Через годик-другой собираюсь работать удаленно, как и бывшие, более опытные коллеги.
джун из мухосрани
Аноним 14/08/15 Птн 16:37:51 #306 №529922 
>>529531
Норм, только реализуй методы IEnumerable и IEnumerator, чтобы нормально можно было форичем пройтись. А лучше еще и IList к ним добавить.
Аноним 14/08/15 Птн 17:55:52 #307 №529954 
>>529922
Реализовал IEnumerable и IEnumerator, посмотрел реализацию IList, охуел и решил не трогать пока.
Вот почти итоговый вариант:
https://github.com/cancelledbit/SingleLinkedList/blob/master/SingleLinkedList/SingleLinkedList/SingleLinkedList.cs
Аноним 14/08/15 Птн 18:24:38 #308 №529961 
>>529954
Погугли реализацию IEnumerable через yield return.
Все не перестаю проигрывать с твоего класса ноды. Зачем тебе отдельный метод и приватный сеттер? И Push не переписал.
А вот это хуйню:
[code]
if (Next != null) return true;
return false;
[/code]
распечатай и на стенку повесь.
sageАноним 14/08/15 Птн 18:27:40 #309 №529962 
>>529961
> А вот это хуйню:
> [code]
> if (Next != null) return true;
> return false;
> [/code]

Я тоже не понял нахуя этот метод, если он его даже не использует нигде

мимо-другой-нуб
Аноним 14/08/15 Птн 18:34:37 #310 №529967 
>>529962
Дело даже не в этом.
Достаточно просто переписать на return Next != null;
Стандартная проблема новичков, почему-то. Потом сами же проигрывают с таких конструкций (как мы сейчас)
Аноним 14/08/15 Птн 18:38:18 #311 №529968 
>>529954
Во-первых, опечатки. Во-вторых, как правильно заметил анон выше, пользы от отдельного класса ноды никакой. В-третьих, имена переменных с нижним подчеркиванием обычно используются для обозачения полей класса. У тебя же параметр с нижним подчеркиванием во взятии по индексу.
Аноним 14/08/15 Птн 18:51:28 #312 №529977 
>>529954
if (headNode == null)
{
headNode = new SingleLinkedListNode<T>();
headNode.Value = _element;
tailNode = headNode;
headNode.SetNextNode(tailNode);
tailNode.SetNextNode(null);
}

А зачем ты приписываешь ноду что следующий за ним идет этот же нод?
Аноним 14/08/15 Птн 19:06:04 #313 №529984 
Почему джава лучше шарпов?
Аноним 14/08/15 Птн 19:09:28 #314 №529987 
А зачем обязательно реализовывать второй IEnumerator если уже есть тот который Generic IEnutmerator<T>?
Аноним 14/08/15 Птн 19:20:23 #315 №529992 
>>529987
Потому, что IEnumerable<T>: IEnumerable.
Аноним 14/08/15 Птн 19:21:36 #316 №529993 
>>529992
Тоже с IEnumerator<T>.
Аноним 14/08/15 Птн 19:23:51 #317 №529994 
>>529961
>Зачем тебе отдельный метод и приватный сеттер?

Может я какую нибудь логику потом допишу в методе. Разве это принципиально?

>return Next != null;

Вот это заебись, не понимаю почему не додумался сам.

>Я тоже не понял нахуя этот метод, если он его даже не использует нигде

А вдруг я его потом в коде где то использовать буду? Типа узнать по быстрому конечная ли это нода?

>пользы от отдельного класса ноды никакой.
Вот это не понял. Почему пользы нет? Мне кажется такая конструкция логичной. Как переписать лучше?
Про нижнее подчеркивание понял, переделаю.
Аноним 14/08/15 Птн 19:25:54 #318 №529995 
>>529977
Чтобы не выбрасывало NullReferenceExeption при обращении добавлении новой ноды в список с одним элементом.
Аноним 14/08/15 Птн 19:28:06 #319 №529996 
>>529992
То есть на недженерик инумератор можно забить?
Аноним 14/08/15 Птн 19:28:53 #320 №529997 
>>529995
>обращении добавлении
просто добавлении, пиво немного сбивает с мыслей.
Аноним 14/08/15 Птн 19:29:46 #321 №530000 
>>529996
Ну под него все равно надо сделать реализацию.
Аноним 14/08/15 Птн 19:29:56 #322 №530001 
>>529994
>Разве это принципиально?
Принципиально. У тебя и так метод есть — сеттер Next. Будешь дописывать логику — уберешь автоматическое свойство и перепишешь на обычное с полем. И вообще, заканчивай думать в ключе «Вот может в будущем пригодится». Когда понадобиться, тогда и напишешь.

>>529996
Ты не забьешь на него: компилятор не даст, но ты можешь вызвать в нем обобщенную версию.
Аноним 14/08/15 Птн 19:41:52 #323 №530002 
Переписал по вашим замечаниям.
Теперь класс ноды выглядит маленьким и грустным.
https://github.com/cancelledbit/SingleLinkedList/blob/master/SingleLinkedList/SingleLinkedList/SingleLinkedList.cs
Аноним 14/08/15 Птн 19:49:43 #324 №530006 
>>529995
> Чтобы не выбрасывало NullReferenceExeption

В каком месте оно может выбрасыватьс да еще при добавлении, это если ты попытаешься обратиться к Node.Next тогда выбросит, а в добавлении у тебя такого обращения нету.
Аноним 14/08/15 Птн 19:53:34 #325 №530010 
>>530006
Ты тралишь чтоль??
tailNode.Next= Node;

Вот тут, куда он присвоится если tailNode = null?
Аноним 14/08/15 Птн 19:55:06 #326 №530013 
>>530002
Сделай чтоб вот так работало:
http://pastebin.com/BptFD5nX
Аноним 14/08/15 Птн 19:59:05 #327 №530014 
>>530010
И что с того?
Наличие null в Next не выкинет Nullreference.
Поэтому эта строчка лишняя
headNode.Next = tailNode;
Аноним 14/08/15 Птн 20:01:48 #328 №530015 
14395717089350.png
>>530014
Пикрилейтед. Или ты еще больший нуб, чем я, или мы друг друга не понимаем.
Аноним 14/08/15 Птн 20:02:22 #329 №530016 
>>530015
Блядь, деанон. Да и похуй.
Аноним 14/08/15 Птн 20:03:09 #330 №530017 
>>530015
Ты не ту строчку закомментил, аутист. Чутка ниже возьми.
мимо
Аноним 14/08/15 Птн 20:03:22 #331 №530018 
>>530015
Я тебе не про эту строчку говорил, а про следующую за ней.
Аноним 14/08/15 Птн 20:13:35 #332 №530022 
>>530013
Так красивее, спасибо. Конструктор в ноде запилю и будет работать.
>>530016
>>530017
>>530018
Бля. Понял. Извиняйте.
Аноним 14/08/15 Птн 20:25:17 #333 №530034 
>>530022
Теперь сделай чтоб работало без IEnumerator<T>.
Аноним 14/08/15 Птн 20:48:53 #334 №530046 
>>530001
> Ты не забьешь на него: компилятор не даст, но ты можешь вызвать в нем обобщенную версию.
В любом случае IEnumerator вызваться не может, ведь класс только в обобщенном виде создается.
Аноним 14/08/15 Птн 20:51:28 #335 №530048 
>>530015
- Где вертикальные отступы?
- Убери нахуй -1.
- Имя класса не должно быть длиннее 15 символов.
- А если я попробую запушить null-объект?
- Свойства должны быть после конструктора.
- Если класс список, на кой хер называть в нем методы RevertList?
- Если у меня список будет двусвязным, это мне нужно для него нод специальный объявлять? О боже!
Такой маленький участок кода и так ужасен.
У тебя индент через табуляцию? - Просто скройся.
Аноним 14/08/15 Птн 21:01:09 #336 №530063 
14395752694200.jpg
>>530048
Node в методе должен именоваться с маленькой буквы.
Аноним 14/08/15 Птн 21:02:45 #337 №530064 
>>530063
Ой лол, там еще и длина через жопу названа.
%%Все! Я спокоен!
Аноним 14/08/15 Птн 21:03:12 #338 №530065 
>>530064
Даже верстку проебал из-за тебя мудака.
Аноним 14/08/15 Птн 21:05:32 #339 №530066 
>>530048
>- А если я попробую запушить null-объект?
У тебя будет нода с налом. Ничего необычного. As expected.
Аноним 14/08/15 Птн 21:13:17 #340 №530071 
>>530066
Попробуй попустить чего сложнее laba1 например laba2
Вспомнишь потом мои слова.
Аноним 14/08/15 Птн 21:14:19 #341 №530074 
>>530071
Сука, заразный кретинизм. Пойду спать, ну вас.
Аноним 14/08/15 Птн 21:16:12 #342 №530078 
>>530074
Иди-иди. Поспишь — полегчает.
Аноним 14/08/15 Птн 21:20:25 #343 №530082 
>>530066
Проблема в том что для типов-значений ты налл присвоить не можешь.
Аноним 14/08/15 Птн 21:27:44 #344 №530090 
>>530082
Не, не в этом проблема.
Аноним 14/08/15 Птн 21:39:01 #345 №530093 
Поясните за исключение, вот бросаю я из класса какое-либо исключение через throw. Как юзеру моего класса узнать что он должен позаботиться отловить это исключение? В Джаве вроде есть throws который к сигнатуре метода дописывается.
И как бросать эрормеседжи/эксепшены не в рантайме, а на этапе компиляции?
Аноним 14/08/15 Птн 21:41:34 #346 №530098 
>>530093
Доки пиши.

>И как бросать эрормеседжи/эксепшены не в рантайме, а на этапе компиляции?
Шо?
Аноним 14/08/15 Птн 21:49:56 #347 №530107 
>>530098
Ну, checked эксепшонами они в джаве называются.
Аноним 14/08/15 Птн 21:54:49 #348 №530112 
>>530107
Нет. Такого нет. И не нужно. Если надо, то придется вклиниваться в пайплайн сборки, как это делает, например, stylecop.
Аноним 14/08/15 Птн 22:03:28 #349 №530118 
>>530112
>И не нужно
Ты мне напоминаешь жаба-макак.
- Смотрите, лямбды!
- Не нужно.
...
В Java 8 вроде добавили лямбды.
- Смотрите какая крутая фича в новой жабе, сисярп сосет.

Знаешь что такое юзер воис?
Так вот... там есть такая фича репорт.
Аноним 14/08/15 Птн 22:04:57 #350 №530119 
>>530112
>вклиниваться в пайплайн сборки, как это делает, например, stylecop
Что тебе мешает написать плагин к Roslyn?
Аноним 14/08/15 Птн 22:13:20 #351 №530127 
>>530118
Линкани. Впрочем, готов выслушать зачем тебе checked exceptions.

>>530119
Не все им проекты собирают. Да и особо смысл не поменялся от того, что ты про Roslyn упомянул.
Аноним 14/08/15 Птн 22:17:49 #352 №530130 
>>530090
А в чем?
Аноним 14/08/15 Птн 22:19:10 #353 №530131 
>>530127
>Линкани.
https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2191223-add-support-for-java-style-throws-keyword
Мне они нахуй не нужны. Я стараюсь вообще не использовать исключения, так как в хайлоад, да и в клиентских приложениях от них сильно производительность проседает.

Мне больше нужны https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2223373-add-mixins-to-c

>что ты про Roslyn упомянул
Через нее ты можешь расширить C# как только тебе вздумается - основная фича новой иде.
Аноним 14/08/15 Птн 22:21:49 #354 №530133 
>>530090
Почитай что такое дсл и спеки, может дойдет почти список из null-объектов - гнилое дело. Я хреново объясню, с опытом придет.
Аноним 14/08/15 Птн 22:22:54 #355 №530134 
>>530133
Все же я ушел спать. А то вы от меня еще много новых слов услышите.
Аноним 14/08/15 Птн 22:26:51 #356 №530135 
>>530134
Можешь баззворды свои оставить при себе.

Аноним 14/08/15 Птн 22:28:55 #357 №530137 
>>530135
Я про другое. У меня печать на уровне спинного мозга. Если я слово неправильно представляю, я его неправильно и напишу. А всякие DSL - это не мои базворды и их хуева туча.
Аноним 14/08/15 Птн 23:26:19 #358 №530177 
>>530131
>2011
>~100 votes
А ты так говорил, как будто уже все — завтра в билд.

>Мне больше нужны миксины
От множественного наследования как-то отказались, вроде. Интерфейсы запилили. Впрочем, тот же вопрос. Не видел реального кейса их применения при статической типизации.
Аноним 15/08/15 Суб 00:24:17 #359 №530270 
>>529954
>: IEnumerable<T>, IEnumerator<T>
Лолбля, неправильно.
IEnumerator<T> хранит состояние итератора(тот самый индекс текекущего элемента, ага), их может быть несколько. Попытка поитерировать по твоему листу в двух вложеных форах закончится фейлом.
Либо делай отдельный класс, либо ейлд ретурн.
Аноним 15/08/15 Суб 00:41:01 #360 №530296 
https://msdn.microsoft.com/ru-ru/library/99a4073e(v=vs.110).aspx

Как этот метод Find работает?
Ведь нельзя же сравнивать значения дженерик типов через ==
Аноним 15/08/15 Суб 00:52:16 #361 №530311 
>>530296
Встань и посмотри:
http://referencesource.microsoft.com/System/compmod/system/collections/generic/linkedlist.cs.html
Аноним 15/08/15 Суб 01:11:56 #362 №530327 
>>530311
Ни хрена непонятно
Какой-то EqualityComparer используется для сравнения
EqualityComparer<T> c = EqualityComparer<T>.Default;


public static EqualityComparer<T> Default {
get {
Contract.Ensures(Contract.Result<EqualityComparer<T>>() != null);

EqualityComparer<T> comparer = defaultComparer;
if (comparer == null) {
comparer = CreateComparer();
defaultComparer = comparer;
}
return comparer;
}
}
Аноним 15/08/15 Суб 01:31:23 #363 №530344 
>>530327
Дальше прокликай. Там несколько кейсов, но по-сути идет проверка типа, выбор подходящего EqualityComparer'а и приведение типов.
Шо непонятного-то?
sageАноним 15/08/15 Суб 07:58:39 #364 №530405 
>>530327
>Какой-то EqualityComparer используется для сравнения
>Ни хрена непонятно
Школьники-аутисты подвалили?
Аноним 15/08/15 Суб 09:11:27 #365 №530415 
>>530177
>Не видел реального кейса их применения
Например INotifyPropertyChanged. Все, что нужно - наследоваться от ViewModelBase, но если кастомный класс должен еще наследоваться например от контрола, то придется копипастить реализацию с ViewModelBase. Понятное дело, это будет скорее не контрол, а что-то иное. Если это собственный класс, то придется перестраивать архитектуру и избегать этого, например созданием клона DTO-объекта, но появится скорее всего ненужная сущность, которая будет хранить этот объект например через композицию. В общем, существуют случаи, когда лучше использовать наследование, через композицию, вот тогда и появляется дублирование кода.
Аноним 15/08/15 Суб 09:14:36 #366 №530416 
>>530415
>через композицию
вместо композиции
Аноним 15/08/15 Суб 12:49:44 #367 №530480 
>>530405
Не, я уже 5 лет не школьник.
Аноним 16/08/15 Вск 01:15:36 #368 №530856 
Какой базовый кейс знаний в шарпе нужен для осваивания asp.net mvc? А то вроде чет знаю, а кажется что мало.
Аноним 16/08/15 Вск 05:48:28 #369 №530895 
Репостну сюда, в ньюфаге не отвечают.

Аноны, два вопроса. Первый: как правильно использовать IoC контейнеры? Есть у меня несколько алгоритмов, которые наследуют один интерфейс. В этих алгоритмах, в свою очередь, тоже есть некоторые зависимости от других частей системы, с которыми я так же работаю через интерфейсы. Проблема в том, что сейчас у меня в местах вызова алгоритмов проверяются параметры, в зависимости от которых у меня конкретно прописываются классы, которые нужно инжектить.
Ну т.е. IAlgorithm alg = new AlgContext(new ConcreteAlgorithm1);
Такой подход меня не устраивает и я обратил внимание на упомянутые IoC контейнеры. Проблема в том, что я не знаю, как правильно один раз задать все нужные мне зависимости на время выполнение конкретного алгоритма. Пользователь вызывает функцию 1, я через IoC разруливаю эту ситуацию, но у функции 1 тоже есть зависимости. Не передавать же мне ссылку на экземпляр моего контейнера этой функции, это хуйня полная выходит. В голову пришло только создать какой-нибудь класс с одним статическим методом, который бы возвращал мне контейнер с уже настроенными зависимостями, и вызывать этот метод, когда нужно. Норм? Использую Ninject.

Второй вопрос: раньше в программе было две функции и суммарно четыре настройки для этих функций. Чтобы не передавать их параметрами в конструктор или метод я завел отдельный класс, назвал его Settings. Когда пользователь вызывал функцию, я считывал инпуты в этот Settings и передавал в функцию. Проблема в том, что сейчас функций уже шесть и суммарно у них около 16 параметров. Из-за этого Settings слишком сильно разросся и мне не нравится таскать такую тяжеловестную хуйню повсюду. Как мне разрулить эту хуйню? Для самой сложной функции на форме сейчас 12 инпутов, которые пользователь может заполнить. Из них четыре обязательны, а все остальные опциональны в зависимости от того, какие пользователь уже поставил пресеты.
Аноним 16/08/15 Вск 07:48:09 #370 №530909 
>>530895
>класс с одним статическим методом
Тесты как к такому писать? IoC контейнер является такой же точно зависимостью и должен инжектиться, а не дергаться через статик метод. В точке входа в программу создаешь настроенный контейнер и инжектишь в главный класс. В тестах подставляешь мок.

>таскать такую тяжеловестную хуйню повсюду
Размер указателя не зависит от размера данных, на которые он указывает. Продолжай использовать Settings и не парься.
Аноним 16/08/15 Вск 09:25:30 #371 №530921 
>>530909
Т.е. я заинжектил контейнер, а потом им же разрулил другие зависимости, когда нужно?
[Василий] Аноним 16/08/15 Вск 10:29:03 #372 №530940 
>>530895
1. Тут возможны два случая - google pattern strategy gof - если тебе нужны разные алгоритмы в процессе работы. Статик фабрика/метод тоже подойдет, тока пусть сразу возвращает IAlgorithm, а все зависимости фабрики ioc зарезолвит сам.

Или тебе нужен 1 алгоритм, тока ты не знаешь какой. Типа, пользователь 1 раз ввел параметры и все дальнейшие действия ты делаешь тока с одним конкретным алгоритмом. в том месте, где ты конфигурируешь контейнер/получаешь параметры, ты указываешь контейнеру, что IAlgorithm нужно резольвить конкретным ConcreteAlgorithm1.

2. Декомпозируй свои сеттинги. Setting содержит в себе Func1setting, func2setting etc которые уже и идут в конкретную функцию. В любом случае, метод должен знать как можно меньше информации, и типа низя передавать туда большой обьект, если методу нужно только 2 свойства из этого обжекта. А если нужны все - декомозируй свой метод на более мелкие части.
Ваще, можно сделать какой-нить configurator, который уже читатет твои сеттинги и конфигурирует что-то, и твои функции имеют этот конфигуратор в приват филде, полученном через ctor. Типа, инкапсулировать логику работы с настройками от непосредственно логики.
Аноним 16/08/15 Вск 10:52:34 #373 №530945 
Привет, тредовчане. Имеется ли у кого-нибудь кулстори, как стать программистом-удаленщиком от дот нет?
Аноним 16/08/15 Вск 10:53:58 #374 №530947 
>>530856
AngularJS
Аноним 16/08/15 Вск 15:15:50 #375 №531028 
Посоны, если я напишу что готов работать за опыт работы мои шансы на трудоустройство повысятся?
Аноним 16/08/15 Вск 15:17:32 #376 №531030 
>>531028
Тебя отпиздят за такой нищий демпинг.
Аноним 16/08/15 Вск 15:27:34 #377 №531034 
>>531030
Кто отпиздит?
Аноним 16/08/15 Вск 15:28:24 #378 №531036 
>>531028
Тебя пошлют нахуй.
Любой работодатель спит и видит чтобы взять долбоеба за опыт, а потом он через год написал хуеву тучу кода съебал к конкурентам и оставил разгребать весь говнокод другим программистам.

Если даже работодатель настолько дебил, благородный сэр >>531030 правильно написал. Разработчики знают последствия таких "работают ради опыта" и отпиздят тебя в параше, переломают руки нахуй и обоссут.
Аноним 16/08/15 Вск 15:32:33 #379 №531038 
>>531036
> Разработчики знают последствия таких "работают ради опыта" и отпиздят тебя в параше, переломают руки нахуй и обоссут.
Бля, как страшно жить.
И на работу теперь не устроиться, ведь всюду могут отпиздить...
Аноним 16/08/15 Вск 15:33:04 #380 №531039 
>>531034
Другие разрабы. Да и работать за опыт совсем не комильфо - тратишься на транспорт и еду, даже если ты в общаге живёшь.
Аноним 16/08/15 Вск 15:34:21 #381 №531042 
>>531038
Устроиться. Но только требуй минимум 25-30 в ДС на испытательном сроке с нулевым опытом.
Аноним 16/08/15 Вск 15:34:52 #382 №531043 
>>531039
> тратишься на транспорт и еду, даже если ты в общаге живёшь.
Я с мамкой живу. И у меня много денег со стипендий накопилось. На проезд хватит, еду и квартиру мама оплачивает.
Аноним 16/08/15 Вск 15:35:56 #383 №531045 
>>531042
> 25-30 в ДС
Я из хохлоДС
Аноним 16/08/15 Вск 15:36:28 #384 №531046 
>>531043
Ты заебал, такие, как ты, уменьшают зарплату всем, ты понимаешь? Тебя будут гнобить работающие с тобой люди, и будут делать это оправдано, потому что ты мудак.
Аноним 16/08/15 Вск 15:37:55 #385 №531047 
>>531046
> Тебя будут гнобить работающие с тобой люди, и будут делать это оправдано, потому что ты мудак.
А если я буду за мизерную зп работать тоже гнобить будут?
Аноним 16/08/15 Вск 15:40:00 #386 №531048 
>>531047
Да. Для джунов сложилась определенная планка зп, ориентируйся на нее и не выебывайся. И начни уже уважать себя и свой труд, а то как негр-раб какой-то с плантации.
Аноним 16/08/15 Вск 15:41:17 #387 №531051 
>>531043
Эээ нет, когда начинаешь работать мировоззрение начинает меняться. Начинает хотеться всяких ништяков на которые нужны деньги. Просто банально пообедать в москве в день выходит 200-300 рублей (в киеве - хз) или самостоятельно готовить/мамку напрягать И работодателю тоже не в кайф такого работника иметь - оформить тебя без минимальной оплаты труда он не сможет, а с такой зп он не может быть уверен в твоей лояльности.

>>531047
Мамка будет гнобить, что работаешь, а домой нихуя не приносишь.
Аноним 16/08/15 Вск 15:48:10 #388 №531060 
>>531051
> Мамка будет гнобить, что работаешь, а домой нихуя не приносишь.
Моя мамка няша :3
> Начинает хотеться всяких ништяков на которые нужны деньги.
Я неприхотливый, никогда не понимал как можно тратить деньги на еду, если можно поесть дома.
Аноним 16/08/15 Вск 15:57:16 #389 №531063 
>>531060
Короче, не демпингуй, усёк? Зачем просить меньше, если можно попросить больше и тебе не откажут. Не нужны деньги сейчас, понадобятся потом. А то научишь В восточной европке и так низкая зп для it.
Аноним 16/08/15 Вск 16:57:54 #390 №531088 
Шарпаны, у вас в языке можно в заголовке цикла перечислять несколько выражений через запятую? Вот так:

for(i = 0, j = strlen(s) - 1; i < j; i++, j--)
Аноним 16/08/15 Вск 17:00:56 #391 №531089 
>>531088
Yep
Аноним 16/08/15 Вск 17:09:25 #392 №531092 
>>525272 (OP)
Подскажите как украсть ReSharper. Они заманили меня тралом, а денех на покупку нету(
[Василий] Аноним 16/08/15 Вск 17:20:50 #393 №531101 
>>531092
нищеброд тупой, на рутрекере таблетка
Аноним 16/08/15 Вск 17:21:56 #394 №531102 
>>531101
> таблетка

Ты хотел сказать трещина?
Аноним 16/08/15 Вск 22:23:23 #395 №531252 
>>527227
Нахуя string, когда есть божественный int или, на крайняк, enum?
Аноним 16/08/15 Вск 22:24:18 #396 №531253 
>>531102
Хех то из веге мемесы)))
Аноним 17/08/15 Пнд 01:12:31 #397 №531318 
>>527227
Да хер знает, думал это облегчит мне поиск яку делаю под ричи маджонг, подсчет шантен и т.п. Но как-то это не очень сработало.
Аноним 17/08/15 Пнд 02:20:42 #398 №531326 
Посоветуйте говнотему для диплома.
Аноним 17/08/15 Пнд 09:36:03 #399 №531403 
>>531326
Защита програмного кода от декомпиляции, обфускация/крипт. Информации в сети - тонны, похожих работ - кучи. Мамку твою ебали - все.
Аноним 17/08/15 Пнд 14:24:47 #400 №531501 
14398106872360.png
Суп, котаны.
Хочу рассказать вам не охуительную историю и спросить вопросы.
Я мамкин Эдмунд Макмиллен, могу в растровую графику чуть лучше Аллаха, решил изучать код, чтобы делать игори. Поскольку на свете существует бесплатный, годный хуЮнити для маминых геймдеверов, мой выбор пал на изучение УГЛЕРОДНОЙ РЕШЕТКИ.
Значит, пошел гуглить книги, нагуглил какую-то малафью, понял, что я, оказывается, гуманитарий, поскольку слова, которые я читал, вообще не задерживались в голове и не формировали никаких образов. Пошел гуглить уроки на ютубчике и нагуглил вот это: https://www.youtube.com/watch?v=xsaRhgD7XL4 Мне нравится и всё понятно. Хорошо, годно рассказывает. На ютубе кастрированная версия, начиная с 2 или 3 урока, так что я спиздил джва платных курса - "Базовый 2013" и "Стартовый 2014"с торрентов. Было не просто найти, они активно выпиливаются, судя по мертвым сцылкам. Ну и, собственно, в этих курсах нет задачек, которые я мог бы позапиливать для закрепления материала. Они мне нужны, так как уже замечаю, что в голове всё в кучу перемешалось, а на практике все запомнится куда лучше.

Значит, у меня к вам две просьбы:
1. Рейтаните уроки, если кто знакомился с ними
2. Посоветуйте, где взять элементарные задачки с решением на темы: логические операции, условные конструкции, циклические конструкции, вот это всё.
А то я чот решил закрепить знания, нашел на форуме одну такую задачку, прочитал условие, решил не глядеть ответ, начал решать. Чуть мозгу себе не навернул, пока решал. Мне почему-то пришло в голову решать через if-else то, что надо было решать через while. В ответе решение занимало 5 строчек, если не считать операторных скобок, а я потел так, будто отжимался, а не думал, пока пытался выдрочить вселенную наизнанку, чтобы решить решение своим уебанским методом. Вот по этому мне нужен сборник простых задач именно с решением, чтобы я видел, как надо.
Надеюсь на вас, братцы.
Аноним 17/08/15 Пнд 16:08:04 #401 №531577 
14398168844620.png
14398168844701.png
> 2. Посоветуйте, где взять элементарные задачки с решением на темы: логические операции, условные конструкции, циклические конструкции, вот это всё.
Аноним 17/08/15 Пнд 16:39:21 #402 №531597 
>>531501
Извиняй, обычно все в универе дрочат алгоритмы всякие.

>>531577
С решением же надо. Впрочем, википедия есть.
Аноним 17/08/15 Пнд 16:42:20 #403 №531601 
>>531597
> Извиняй, обычно все в универе дрочат алгоритмы всякие.
Как раз алгоритмы меня в универе не дрочили, проходились по возомжностям языка и все.
> С решением же надо. Впрочем, википедия есть.

Там на половина решений гуглится
Аноним 17/08/15 Пнд 17:43:24 #404 №531633 
>>531501
Юнити чтобы игры делать, а не движки. Если хочешь именно на графику подрочить, то обрати внимание на кресты и опенгл. Можно и дх11, но мне опенгл больше нравится.
Есть обертка для сишарпа - OpenTK, но это сорт оф извращение, т.к. все равно медленнее выйдет, чем на крестах.
С другой стороны, если не ставить себе цель сразу написать свой id tech 6, то можешь написать что-нибудь на этой связке. Там ребята неплохую работу сделали и в отличие от другой обертки опенгл для шарпа (не помню как называется), сделали нормальную поддержку енамов и стандартных дотнет структур, а не тупо перехуярили, сохранив долбоебский систайл.
Аноним 17/08/15 Пнд 17:52:58 #405 №531635 
>>531633
> Юнити чтобы игры делать, а не движки
Ну да, я именно игры и хочу.
Юнити, на сколько я понял, кресты не поддерживает, там вроде как только сишарп и джава. Как я где-то прочитал, какая-то "своя" джава. Понятия не имею, что под этим имели ввиду. В любом случае, это мой первый скриптовый язык, не считая двух пар по паскалю на первом курсе института, который к кодингу вообще отношения не имеет, и разобравшись с С# будет уже не так сложно асилить и джаву, и кресты. Насколько я понял, они во многом похожи, хотя, опять же, кроме С# еще не пробовал ничего вообще смотреть.
Аноним 17/08/15 Пнд 18:00:46 #406 №531637 
>>531635
А, ну если игры хочешь, то ебись с юнити, чо. В /gd есть живой тред, там можешь советов спрашивать. Я думал ты по компьютерной графике угореть захотел.
Аноним 18/08/15 Втр 19:31:09 #407 №532137 
14399154696770.jpg
Есть краткая шпора для начинающих?
For,while,if - вот это все.
Аноним 18/08/15 Втр 19:42:59 #408 №532143 
>>531501
>спиздил джва платных курса - "Базовый 2013" и "Стартовый 2014"с торрентов
Поделись ссылками.

Уважаемые, есть еще хорошие видеокурсы из последних?
Аноним 18/08/15 Втр 19:44:56 #409 №532145 
>>532137

> - http://www.tutorialspoint.com/csharp/
> - http://professorweb.ru
> - http://net-informations.com

Учимся читать шапку.
Вторая ссылка на русском
Аноним 18/08/15 Втр 19:48:45 #410 №532147 
>>532137
Чего ради шпора? Ты контрольную завтра писать будешь чтоль?

for (var=val, ...; cond; op,...)
{
...
[break;]
}

while(cond)
{
...
[break;]
}

do
{
...
[break;]
}while(cond);

if(cond)
{
...
}
else [if(cond)]
{
...
}
Аноним 18/08/15 Втр 19:53:51 #411 №532152 
>>532147
О, спс.
А то не гуглится.
Аноним 18/08/15 Втр 22:43:40 #412 №532264 
>>531501
Поделись торрентами!
Аноним 18/08/15 Втр 23:14:19 #413 №532270 
>>532264
Надо в шапку его запилить
http://nnm-club.me/forum/viewtopic.php?t=891636
Аноним 18/08/15 Втр 23:49:30 #414 №532279 
>>531577
123
Аноним 19/08/15 Срд 11:42:19 #415 №532403 
>>531635
Там не Java, а JavaScript (его подобие) блять
Аноним 19/08/15 Срд 12:00:40 #416 №532417 
>>532270
Ого, а я только первые два курса нашел, эту раздачу как-то провтыкал, когда искал в гугле по названиям.

>>532143
>>532264
Если вдруг ту раздачу тоже потрут, то можно еще вот отсюда скачать Стартовый и Базовый:
https://mega.nz/#!O1cyAaIC!dbSuXW2b8E_dck5P5ORNSlW7L2y2gwYvRkWAjr9PQ9g
https://mega.nz/#!GwdngZRQ!GiJ0INYYslCfMGhi4FpjBg79b2s1-dkILdxNiFxLDz4
Надеюсь не проебался с ссылками
Друг как-то попросил эти уроки, я повторно не смог найти с помощью гугла, залил вот так. Залью еще Профессионал, чтобы всё было по С#, на случай, если и ту раздачу вдруг потрут.

>>531501-кун
Аноним 19/08/15 Срд 12:13:16 #417 №532423 
14399755969140.png
14399755969141.png
14399755969162.png
14399755969193.png
>>532137
По мере изучения делал сорт оф памятки в фотошопе, чтобы в голове всё лучше укладовалось.
Ты ведь такое имел ввиду под шпорами?

>>532270
Алсо, что там ещё качать, что поможет в изучении C# кроме тех папок, на которых написано, что это по C#?
Аноним 19/08/15 Срд 12:28:04 #418 №532429 
>>532423
>По мере изучения делал сорт оф памятки в фотошопе, чтобы в голове всё лучше укладовалось.
>Ты ведь такое имел ввиду под шпорами?
Спасибо, ты охуенен! Нужно больше шпор!
Аноним 19/08/15 Срд 12:34:42 #419 №532435 
14399768829910.png
>>532429
Еще есть вот такая, пока больше не делал.
Сделаю еще по методам и массивам, когда асилю их.
Аноним 19/08/15 Срд 12:40:00 #420 №532440 
14399772009320.png
>>532435
Аноним 19/08/15 Срд 12:44:29 #421 №532442 
14399774694880.png
>>532440
Пофикшено.
Аноним 19/08/15 Срд 17:00:05 #422 №532544 
Стоит ли идти на заочное платно на кодера? Тяготею к шарпу, а что будет в Вузе не знаю.
Аноним 19/08/15 Срд 17:57:13 #423 №532577 
В 15 студии перестали корректно компилироваться исходники в кодировке win1251. Как исправить? Ручная перекодировка каждого исходника не вариант, их очень много и они разбросаны.
sageАноним 19/08/15 Срд 18:11:23 #424 №532588 
>>532577
Ты же программист, напиши программу, которая сделает это за тебя.
Аноним 19/08/15 Срд 18:20:51 #425 №532597 
14399976514840.gif
>>532270
Что из этого смотреть новичку и в каком порядке?
Аноним 19/08/15 Срд 18:28:48 #426 №532603 
>>532597
Вот это вот, очевидно:
1) Видео курс C# для начинающих
2) Видео курс C# базовый
3) Видео курс C# для профессионалов
Аноним 19/08/15 Срд 18:53:08 #427 №532616 
>>532603
спасибо, ты мой герой!

Что там с материалом, говна не наемся?
Аноним 19/08/15 Срд 21:43:07 #428 №532704 
>>531088
Как это работает?
Аноним 19/08/15 Срд 21:51:24 #429 №532706 
>>531088
В самой главной книге расписано. Начало.
Аноним 20/08/15 Чтв 01:55:44 #430 №532815 
Сап, сишарпач. Возник такой вопрос. Есть одна программа, которая сохраняет скриншоты в таком формате: 00001.jpg 00002.jpg и так далее. Надо по нажатию кнопки эти файлики конвертировать в видео. Чем это лучше делать?
Аноним 20/08/15 Чтв 02:04:40 #431 №532817 
>>532815

http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx минута в гугле. Ленивая ты жопа, вон из профессии. Даже SDD (Stackoverflow-driven development)не осилил.
Аноним 20/08/15 Чтв 02:29:39 #432 №532820 
>>532817
В том то и дело, что я уже установил приблуду, но она работает ниок. Вот сюда пришёл, а ты меня послал :(
Аноним 20/08/15 Чтв 02:32:03 #433 №532821 
>>532817
>Stackoverflow-driven development
И это я осилил, не надо тут.
Аноним 20/08/15 Чтв 05:02:57 #434 №532827 
>>532817
>Stackoverflow-driven development
Лолд.
Аноним 20/08/15 Чтв 09:16:29 #435 №532858 
>>532577

Бамп годному вопросу.

Аноним 20/08/15 Чтв 11:32:29 #436 №532893 
>>532815
Нахуя тебе это говно?
ffmpeg -r 12 -y -i "image_%010d.png" output.mp4
Аноним 20/08/15 Чтв 12:05:27 #437 №532910 
>>532577
Переустановить студию, очевидно же. У меня эта глючная хуйня уже дважды слетала: то отладка не работает, то впф перестает внезапно рисоваться в дизайнере. Я просто в ахуе от этих конченых пидорасов, выпустили сырую бету и нормально. На фоне новостей про анальные зонды в десятке, походу, пришло время перекатываться на моно или вообще на джаву.
Аноним 20/08/15 Чтв 12:46:53 #438 №532922 
>>532910
Ты это, не паникуй так раньше времени. Задаунгрейдиться всегда успеешь.
Аноним 20/08/15 Чтв 13:03:09 #439 №532927 
Шарпач, есть задача.
Нужно из пары картинок составить одну, написать на ней текст и все это поместить в PictureBox.
Как это проще всего реализовать?
Аноним 20/08/15 Чтв 13:08:22 #440 №532930 
>>532927
Я бы через стандартный gdi делал.
Аноним 20/08/15 Чтв 13:10:13 #441 №532933 
>>532927
Создать битмап по размеру в джве картинки, взять у него дс и нарисовать на нем исходные картинки и текст, сохранить или запихнуть в бокс.
Аноним 20/08/15 Чтв 13:10:18 #442 №532934 
>>532930
У меня была мысль создать метод, который бы возвращал готовое изображение. Но чет я не вкурю, как его вернуть из получившегося Graphics.
Аноним 20/08/15 Чтв 13:19:37 #443 №532937 
>>532934
ты же Graphics создаешь через Graphics.FromImage(...), вот это картинку и возвращай
Аноним 20/08/15 Чтв 13:52:26 #444 №532947 
>>532937
Вроде разобрался.
Сейчас самое сложное - текст. Хочу что бы он был в определенном месте, как бы в лейбле. Т.е. выравнивался автоматичски в зависимости от длинны строки. Можно такое запилить?
Аноним 20/08/15 Чтв 14:32:53 #445 №532962 
>>532947
Да, ручками.
Аноним 20/08/15 Чтв 14:58:31 #446 №532967 
>>532910

Не помогает, уже на трёх машинах воспроизводится, и на SO соответствующий вопрос появился.

Аноним 20/08/15 Чтв 15:19:25 #447 №532982 
>>532967
>на SO соответствующий вопрос появился
Зачем, интересно, кому-то вообще нужно было создавать исходники в древней, как говно мамонта, кириллической кодировке винды?
Аноним 20/08/15 Чтв 15:32:17 #448 №532986 
>>532982

Cтудии до 2008 или даже 2010 сами по умолчанию левые кодировки ставили. Потом умолчанием стал юникод, а сейча все что кроме юникода вообще под нож пустили.

А кириллица нужна в дизайнерах форм например.
Аноним 20/08/15 Чтв 16:19:33 #449 №533008 
>>532986
>в дизайнерах форм
... все еще можно писать на юникоде
Аноним 20/08/15 Чтв 16:46:22 #450 №533017 
>>533008

Я ж написал, что студия сама выбирает кодировку, а до 2008 это была win1251 для кириллицы.
Аноним 20/08/15 Чтв 17:14:14 #451 №533042 
>>533017
Еще скажи что VS юзаешь с русским интерфейсом.
А если серьезно, ты бы уже 10 раз мог написать (на том же C#) прогу которая перекодует все cp1251 -> UTF8
Аноним 20/08/15 Чтв 17:22:31 #452 №533052 
Есть тут шарписты с Новосибирска? Куда можно пойти работать за еду? Смотрю вакансии на нгс, кроме академа джунов больше нигде не стажируют. Жил бы там, не было бы проблем.
Аноним 20/08/15 Чтв 17:28:51 #453 №533062 
>>533042

А ты софт только для пиндосов я смотрю пишешь? У нас ЦА только рашка. Винформс хранит надписи UI в исходниках, проблемы?

Так гемор все это, тем более проект большой, исходники все в TFS хранятся. Затрахаешься коммитить. Надо бы какой нибудь ключик в студии, чтобы она заткнулась и работала как 2013 и не выделывалась.
Аноним 20/08/15 Чтв 17:31:09 #454 №533068 
>>533062

Тем более проект отмирающий. Ворошить его без особой надобности не хочется, мало ли зацепишь чего лишнего.
Аноним 20/08/15 Чтв 17:50:04 #455 №533086 
>>533062
Кстати, проблемы. Надписи надо хранить в ресурсах. Сейчас тебе остается только вернуться обратно на 2013 и ждать патча. Кстати, проблема-то не в студии, а в компиляторе.
Аноним 20/08/15 Чтв 17:58:22 #456 №533090 
>>533086

Ресурсы в винформс это тоже большой гемор.
Аноним 20/08/15 Чтв 18:00:38 #457 №533093 
>>533062
Суть легаси, лол
Аноним 20/08/15 Чтв 20:15:22 #458 №533207 
>>533062
При переходе с 2010(!) на 15 пришлось поправить только одну букву какой то долбоеб поставил русскую с в названии метода и поменять кодировку в 2-3 файлах. Откуда у вас эти проблемы. нет, не каклькулятор на 50 строк пишем
Аноним 20/08/15 Чтв 21:40:53 #459 №533281 
>>533207

Ну дык в 2010 вроде исправляться в сторону юникода начали, да и то говоришь тоже пришлось менять. Я помню в середине нулевых студии на попытку ввода значка градусов цельсия все изматерились большими диалоговыми окнами, типа придется сохранять исходник в иникод, вот как его противились.
Аноним 21/08/15 Птн 16:35:16 #460 №533537 
Посоны, чё такое "Repository Pattern"?
Это когда я абстрагируюсь от конкретного поставщика данных, создаю интерфейс вроде IRepository и везде работаю с ним?
Ну а потом просто связываю IRepository с конкретным классом, который реализует работу с конкретным хранилищем?
Я правильно понимаю?
Dependency injection вот это вот всё
Аноним 21/08/15 Птн 16:39:14 #461 №533540 
>>533537
Типа того, ага.
Аноним 21/08/15 Птн 16:43:43 #462 №533543 
>>533537
На всякий случай скажу, что любая ОРМ - уже готовый репозиторий и свои реализации писать не нужно. Точно так же как ты бы не стал писать свой DI контейнер.
Аноним 21/08/15 Птн 16:49:03 #463 №533547 
>>533543
>ОРМ
Расшифруй плз.
Аноним 21/08/15 Птн 17:01:26 #464 №533556 
>>533547
Object-relational mapping. Но не все орм пригодны для тестов и прочего. Только те, у кого контексты легко стабами заменяются. Иначе все равно придется создавать интерфейс поверх.
Аноним 21/08/15 Птн 18:04:33 #465 №533604 
14401694732650.jpg
Всё бля, Дуров забился под шконку и рыдает как побитая шлюха.

Вот казалось бы хуйня, а я себя прям героем чувствую лол, почти два часа ебался. Ну самое сложное то уже сделано.
База данных с контактами подключена, маршрутизация работает.
Нахер я вообще запостил? ПРост у меня хорошее настроение, ведь я первый раз за месяц запустил студию и зашел в тредж. Пошлите меня нахуй кто-нибудь.
Аноним 21/08/15 Птн 18:41:44 #466 №533628 
>>533604
>localhost
Пизда тебе, я твой теперь знаю
Аноним 21/08/15 Птн 18:49:34 #467 №533634 
>>533604
>Ну самое сложное то уже сделано
>Hello, world на аспе
Лол. Но ты не сдавайся все равно
Аноним 21/08/15 Птн 18:59:47 #468 №533646 
>>533634
Да я как ребенок радуюсь хеллоуворлду каждый раз.
Но это круче хеллоуворлда, там тип и макет страницы, контроллеры всякие, представления какие-то с аргументами, база данных подключена. Крч ОСНОВНАЯ АРХИТЕКТУРА ПРИЛОЖЕНИЯ построена лол.
Аноним 21/08/15 Птн 20:03:26 #469 №533674 
Ананасы, появился вопрос в академических целях.
Допустим имеются несколько (много, для сферического примера) участков кода, которые периодически вызывают метод другого класса, который производит какие-то действия с полями этого класса. При этом этому методу требуются для корректной работы значения полей класса из прошлого вызова, но вызова именно из того же участка кода. Для примера, при каждом вызове метода значение поля класса увеличивается на 1, что-то вроде счетчика количества вызовов из этого конкретного места. Т.е. сделать поля статическими не подходит - там останутся данные из вызовов метода в других местах (счетчик станет общим). Для каждого места, где вызывается метод, хранить инициализированный класс тоже не подходит - в данном сферическом примере этих мест очень много (дублирование кода в огромных количествах). Главное правило - получать/присваивать значения полей класса, из которого вызывается метод, извне нельзя (т.е. они приватные).
У кого-нибудь есть идеи? Или просто обоссыте за такой поток сознания.
Аноним 21/08/15 Птн 20:24:46 #470 №533685 
>>533674
Паттерн синглтон
Аноним 22/08/15 Суб 01:08:08 #471 №533693 
>525735
Я таки сделал это! Пока что только ультра-альфа версия, но старт уже положен. И сразу вопросы:
1)сильно говнокод?
2)когда происходит конвертация видео, программка подвисает. Нельзя ли эту конвертацию в отдельном потоке запустить?
3)Можно ли как-нибудь обойтись без создания кучи файлов в папке программы?

https://github.com/bo20202/WhatAreYouDoing
Аноним 22/08/15 Суб 01:08:27 #472 №533694 
>>533693
>>525735
Аноним 22/08/15 Суб 01:45:09 #473 №533698 
>>533693
1. Вообще, да. Ты же на впф пишешь. MvvM, все дела.
2. Можно. Создавай поток и запускай ffmpg в нем.
3. Можно. Получаешь последовательность кадров и через буфер пишешь в один файл, который потом отдаешь кодеку. Только не спрашивай как это лучше реализовать на практике. Я не знаю.
Аноним 22/08/15 Суб 01:54:48 #474 №533701 
>>533698
> 1. Вообще, да. Ты же на впф пишешь. MvvM, все дела.
> 2. Можно. Создавай поток и запускай ffmpg в нем.
Об этом поподробнее можно?
Аноним 22/08/15 Суб 01:56:01 #475 №533703 
14401977615310.png
БЛЛЯЯЯ ПИЗДОС СУКА
ВЕРСТКА ЭТО НЕ МОЁ. НЕНАВИЖУ ВЕБ УУУ

СКОЛЬКО БЛЯДЬ Я ЧАСОВ ПОТРАТИЛ НА ЭТОТ BOOTSTRAP, НИХУЯ НЕ ПОЛУЧАЕТСЯ, СТРАНИЦЫ ВЫГЛЯДЯТ КАК ГОВНО



Как вообще им пользоваться? Ну скачал я эти стили, подключил к проекту. Вот у этих примеров есть исходники?
http://getbootstrap.com/getting-started/#examples-navbars

>>533693
Интересная идея лол, скинешь как допилишь.
Завтра в твоем коде покопаюсь, может быть.
Аноним 22/08/15 Суб 02:08:30 #476 №533704 
>>533703
По сути, основная идея уже реализована, прога делает скрины и конвертирует их в видео. Осталось запилить всякие свистелки-перделки типа настроек.
Аноним 22/08/15 Суб 02:10:27 #477 №533705 
А пока я уёбываю читать инфу про WPF и MvvM
Аноним 22/08/15 Суб 02:11:06 #478 №533706 
>>533701
1. У тебя есть вьюшка MainWindow. Создаешь для нее MainWindowViewModel (реализуешь INotifyPropertyChanged), вьюшку привязываешь к вьюмодели и биндишься на ее свойства. Погугли че-нить про wpf mvvm.
2. Есть такой класс Thread. Создаешь метод, в котором будет вызываться обертка ffmpeg, создаешь объект Thread, отдаешь ему ссылку на этот метод и запускаешь тред. Обратно гуй можно через диспатчер обновить. Создаешь колбек, в котором через диспатчер меняешь свойства вьюмодели или самих контролов, и вызываешь его после того, как отработает кодек. Ну, или доки почитай по обертке, может там это реализовано уже.

>>533703
http://getbootstrap.com/css/
Сюда идешь, кароч, смотришь понравившиеся стили (там с примерами) и копипастишь себе в разметку. Если нужна динамика, то идешь в раздел js на том же сайте и делаешь то же самое.
Аноним 22/08/15 Суб 02:39:04 #479 №533709 
14402003449300.jpg
>>525272 (OP)
Поясните про полиморфизм без наследования и интефейсов.
На собеседовании спросили, а я точную формулировку вопроса не запомнил.
Аноним 22/08/15 Суб 02:48:20 #480 №533710 
>>533709
Параметрический полиморфизм. Конец объяснения.
Аноним 22/08/15 Суб 02:54:27 #481 №533711 
>>533706
>Сюда идешь, кароч, смотришь понравившиеся стили (там с примерами) и копипастишь себе в разметку. Если нужна динамика, то идешь в раздел js на том же сайте и делаешь то же самое.
Ахренеть, спасибо. Во я мудак слепой.
Аноним 23/08/15 Вск 12:09:05 #482 №533769 
Шарпач, как заставить сокет слушать диапазон портов? Биндить на каждый нужный порт IPEndPoint? Что за говно? Есть же IPAddress.Any, так почему нельзя нормально диапазон портов взять?
Аноним 23/08/15 Вск 12:19:53 #483 №533773 
>>533769
Потому, что winsock. Впрочем, не вижу необходимости создавать сокет на несколько портов.
Аноним 23/08/15 Вск 12:48:19 #484 №533786 
>>533773
> не вижу необходимости
У меня столько пакетов в секунду идет, что пришлось побайтоёбить, а иначе аж файфай колбасило. Лепить туда еще и id устройства не лучший вариант. Лучше костыль воткну с 10 биндингами.
Аноним 23/08/15 Вск 12:48:19 #485 №533787 
14403232994890.jpg
Изображение на профиль пользователя хранить прям в базе данных или отдельно, а в базе данных только ссылку?
Аноним 23/08/15 Вск 12:56:13 #486 №533791 
>>533787
>отдельно, а в базе данных только ссылку
Скорее даже uid.
sageАноним 23/08/15 Вск 12:56:24 #487 №533792 
>>533787
Загугли это за тебя :#

https://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay
Аноним 23/08/15 Вск 13:42:50 #488 №533824 
14403265705140.png
>>533787
>в базе данных только ссылку?
И триггер.
Аноним 23/08/15 Вск 16:45:17 #489 №533978 
Ну ебаный в рот, эти индусы просто вымораживают. Почему-то через раз стало выкидывать из студии в BSOD с ошибкой PROCESS_HAS_LOCKED_PAGES при остановке отладки. Я ни с какими драйверами не работаю, явно индусы поднасрали.
Аноним 23/08/15 Вск 16:48:14 #490 №533981 
>>533978
>у меня нихуя не работает
>клятi iндусы!!!!!
Аноним 23/08/15 Вск 17:15:53 #491 №533990 
>>533981
Ну BSODы из студии это явно не мой косяк.
sageАноним 23/08/15 Вск 17:42:57 #492 №533998 
>>533990
Твой конечно.
Наверное ты из тех кто винду каждый месяц перустанавливает.
Аноним 24/08/15 Пнд 12:17:44 #493 №534421 
>>533787
Помнится тоже любил хранить картинки в базе, а потом оказалось что у Express SQL ограничение на базу в 10GB
Аноним 24/08/15 Пнд 12:48:35 #494 №534428 
>>534421>>533791>>533792>>533824
Я предполагал, что хранить изображения в базе не логично, просто в учебнике так делается, вот и решил спросить.

Как работает Url.Content()?
Когда я вызываю в представлении что-то вроде Url.Content("~/Content/1.jpg") то путь ищется в директории проекта. Если же вызвать то же самое в контроллере, то он ищет папку Content на диске C, чяднт?
Аноним 24/08/15 Пнд 15:07:09 #495 №534484 
14404180296460.png
Сап, аноны. Есть приложение для Windows Phone 8.0 и контрол CommandBar (панель с кнопками внизу девайса). Не работают события Opened и Closed при открытии/закрытии этого самого коммандбара нажатием на устройстве. Эти ивенты генерируют события только если изменить состояние из кода (CommandBar.IsOpen = true/false). Может кто знает как победить эту парашу?
Аноним 24/08/15 Пнд 18:10:49 #496 №534567 
>>533693
У тебя класс, отвечающий за скриншоты, хуево спроектирован. Читай про SOLID и думай что будет, если понадобится сохранять картинки не на диске, а в облаке, например.
Аноним 24/08/15 Пнд 18:37:39 #497 №534578 
>>534567
Какое облако, лол. Сейчас фабрику абстрактных скриншотосохранятилей запилит для одного единственного кейса. Вспоминая про солид, не забывай про кисс.
Аноним 24/08/15 Пнд 18:42:00 #498 №534581 
>>534578
Лол, я же не советую ему фабрику паттернов сразу пилить. Пусть сразу учится не смешивать разную логику в одном классе.
Аноним 24/08/15 Пнд 20:08:12 #499 №534600 
>>534567
Можешь указать что не так?
Аноним 25/08/15 Втр 00:18:24 #500 №534699 
14404511040570.jpg
Анон, пожалуйста, скажи, где я туплю.
http://ideone.com/vzt79W

Бамп
Аноним 25/08/15 Втр 00:23:31 #501 №534701 
>>534699
> for (int i = 0; i < 7; i++) {
> Console.WriteLine (i);
> for (int j = 0; j < 7; i++)
Аноним 25/08/15 Втр 00:29:11 #502 №534705 
14404517510020.jpg
>>534701
Бля, сорян, правда, правда. Извини, больше с такими тупыми вопрсами не приду. Держи няшу
Аноним 25/08/15 Втр 00:36:43 #503 №534708 
14404522033950.jpg
>>525272 (OP)
Почему double не является ссылочным есть наследуется от object?
Аноним 25/08/15 Втр 00:47:13 #504 №534714 
Давайте перекатываться
http://2ch.hk/pr/res/534713.html
Аноним 25/08/15 Втр 00:52:21 #505 №534718 
>>534708
Все типы наследуются от Object, даже примитивные.
Аноним 25/08/15 Втр 00:58:18 #506 №534723 
>>534718
Я не спорю. Но ведь object - ссылочный что за механизм из дабла значимый делает неужели анбоксинг??
Аноним 25/08/15 Втр 03:07:49 #507 №534748 
>>534723
ValueType overrides the virtual methods from Object with more appropriate implementations for value types. See also Enum, which inherits from ValueType.
Data types are separated into value types and reference types. Value types are either stack-allocated or allocated inline in a structure. Reference types are heap-allocated. Both reference and value types are derived from the ultimate base class Object.
Аноним 25/08/15 Втр 12:40:16 #508 №534775 
14404956167830.png
>>534708
внезапно, потому что Double не класс, а СТРУКТУРА различия структуры и класса сам гугли
Аноним 27/08/15 Чтв 17:18:56 #509 №535579 
Котаны, в общем дали тестовое задание:
на основе GZipStream запилить многопоточный архиватор. Суть именно в том, чтобы многопоточно сжимать один файл, а т.к. GZipStream - поток, то распараллеливание получается неочень(т.к. параллельно писать в один поток не получается, точнее может и получается, но тогда порядок блоков нарушается). Пробовал читать блоками, сжимать каждый блок отдельно и писать в файл по порядку - 7zip не распаковывает, да еще и размер файла в итоге растёт.
Синхронная реализация (доработанный пример с мсдн) работает отлично во все стороны.
Есть у кого идеи как можно распараллелить?
Или может я что-то не понимаю в тонкостях GZip?
Аноним 28/08/15 Птн 22:15:45 #510 №536189 
Зацените курсики, оно стоит?
http://edu.cbsystematics.com/ru
Аноним 31/08/15 Пнд 22:12:44 #511 №537634 
решил вкатится в си диез
@
данная студия не поддерживается на xp
comments powered by Disqus

Отзывы и предложения