Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# - прекрасный детектор современного, умного и успешного человека. Изучение .NET безошибочно указывает на успешного в будущем человека. ITT элита продолжает обсуждает будущее этого поистине прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии. Не забываем, что у нас скоро релиз C#6, вместе с Roslyn и RuyJIT Visual Studio 2015 выходит 20 июля
Что почитать: - 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)
Возможно, тут есть Unity3d "программисты", такой вопрос: как много C# вам нужно знать? Ну т.е. всякие LINQ, асинхроности, многопоточности и т.п. в Юнити не нужно или как?
Язык хороший но экосистема полностью из мартыханов убивает язык. Я всё что на нём видел - finance-проекты состоящие из говнокода на 99%. Ну ещё Unity3d. Всё, на этом заканчиваются его возможности фактические. В яве мартых ещё больше, но там хоть они разбавлены нормальными людьми, ими для неё написано куча систем, тот же Apache Spark взять, половина опенсорса. Противно от комьюнити и проектов типичных которые на шарпе пишутся.
В прошлом треде никто не ответил, спрашиваю снова. При установке на чистую Windows 7 64 бита студия выдает ошибку DDSet_Error: Internal Error: 1058 Пробовал Visual Studo 2015 Community, Visual Studio 2012 Professional, Visula Studio 2012 Express, Visual Studio 2010 Professional, Visual C# Express - ничего не устанавливается. Что делать?
>>517675 Кривая реализация паттерна Obersrver. ХЗ, почему так сделано. Правильнее было бы так: делегат - ссылка на метод (один метод), событие - List из нескольких делегатов. Зачем придумали хуйню под названием multicast delegates - непонятно.
В общем, почитал я тут про базы данных. Нужно уже что-нибудь самому сделать, а не переписывать примеры из учебника. Ну я придумал себе проект: библиотека для работы с локальной базой данных. Пусть база данных моделирует какой-нибудь интернет-магазин. Есть таблица с товарами на складе, есть таблица с зарегистрированными пользователями и таблица с заказами. Собственно функции, которая будет реализовывать библиотека, — добавление пользователей/заказов/товаров на склад, зачисление денег пользователям на счет. Транзакция типа выполнения заказа отгружение товара со склада и снятие денег со счета Норм вроде, как ещё можно усложнить задачу?
>>517688 > Норм вроде, как ещё можно усложнить задачу? Различные группы юзеров, например, админ, продавец и кладовщик. Сделать регистрацию, при авторизации проверять группу и допускать только к определенным операциям.
Ещё такой вопрос, допустим у меня на складе десять микроволновок, как их хранить? Ну то есть создавать 10 записей с микроволновками или одну запись, но добавить столбец "количество на складе". Второе, вроде, дает выгоду по памяти и времени работы, но первое проще и логичнее.
>>517715 >Нахуя нужны свойства, когда есть поля? Очень полезная же штука. Как минимум, если тебе нужно поле сделать с ограничениями, вроде int x; int X { set { x = (value > 100) ? 100 : x; } } И что значит "сахар"? Это типа "плюшки"?
>>517715 А C# весь состоит из сахара, чтобы максимально облегчить жизнь программисту. Свойства и индексаторы нужны, когда требуется побочный эффект при чтении/записи поля. Ну и когда нужно ограничить допустимые значения.
>>517735 Я бы сделал со столбцом с количеством. Не понимаю, зачем делать иначе. > первое проще и логичнее Абсолютно нелогично, это нарушение 3-й нормальной формы.
Посоны, немного освоил JS и потихоньку пилю маленький проект (типа сайт/онлайн приложение). Возник вопрос с изучением серверного языка программирования. Выбор между PHP (вроде большой спрос на пхп-макак на фрилансе, смогу срубать денег позже?), Java (можно же пользовать не сервере?) или С# (вроде есть же святой .Net?). Пока склоняюсь к C# ибо нравится Type Script (по моему мнению идеальный JS), нравится экосистема MS и MS Virtual Academy, где все разжевывают для дебилов вроде меня. Что посоветуете? Мечта - стать фулл-стак разработчиком и подрабатывать на фрилансе.
>>517792 Не знаю как ты будешь подрабатывать на фрилансе с шарпом. Это же ентерпрайз штука и проекты на нем пишут большие. Навряд ли кто-то будет подцеплять .net, если надо тупо сайт визитку сделать. Придется удаленно на фулл-тайм устраиваться. Пых я бы не рекомендовал, ибо это динамикопараша, а жаба/шарп — разница косметическая.
>>517792 >Выбирает между пыхой и тырпрайзом. Пиздец. Нахуй тебе этот веб-фриланс ебаный? Сегодня ты получаешь один рейт и доволен. Завтра хочешь больше и тебя посылают нахуй, нанимают студента, который сделает так же, но в три раза дешевле.
>>517914 Как индусы с Америку попадают? Откуда вообще у них столько прогеров? Я блядь думал что это шутки все про индусов, пока не увидел в /b команду разработчиков Windows 10. Откуда у них вообще компуктеры в трущобах?
>>517960 Хуй их знает этих коренных индусов, но есть индусоамериканцы, у которых от индусов только лицо — вот они норм. А этот, с конференции, просто типичный коренной житель трущоб — пикнули рандомно, одели в костюмчик, заставили выучить речь и на сцену.
>>517960 Английский, пусть и специфический, но родной язык, местной работы нихуя нет, поэтому все умные люди идут в прогеры. А дальше эффект масштаба, из миллиарда людей наберется хотя бы 150 миллионов умнее всего населения России, например.
>>517801 > динамикопараша А откуда такой хейт к динамическим языкам? И если статические намного безобаснее и быстрее зачем нужны динамические тогда? Кроме пхп, есть же еще руби, питон.
>>518090 В динамической типизации нет ничего плохого. А вот нестрогая типизация действительно параша, и писать на PHP, JavaScript, VBA и тому подобном - это как сладкий хлеб жрать. В Python и Ruby типизация строгая динамическая.
Шарпаны, что делать? Поставил студию 2015 и теперь проекты использующие русские идентификаторы не собираются, в ссылках на них пишет в сообщении об ошибке хероту вроде ïëîòíîñòü_ã_ñì3.
Придумали как универсалльный, но обосрались. Маркетологи же тоже каждый день что нибудь придумывают, но это же не значит что нужно жрать все говно подряд?
C++ - довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений. Человек, который хорошо в нем ориентируется - это хорошее зубрилко а не хороший программист. Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современно мире ценится разве что только среди прыщавых сосок. Работодатель же это сомнительное умение не ценит, и совершенно справедливо.
А можете суть проблемы объянсить, без перекидывания говном. Вот я слышал что для небольших сайтов нет смысла воротить АСП.НЕТ а можено обойтись пхп. Да и тот же питон используется даже в гугле. Значит им есть какое-то особое примение?
>>518451 >Значит им есть какое-то особое примение? >для небольших сайтов >можено обойтись пхп Сам себе ответил. Динамическая типизация — это ошибки в рантайме, которые мог найти компилятор при сборке. Динамическая типизация — это хитрожопое приведение типов и === во все поля. Динамическая типизация — это undefined is not a function. С динамической типизацией жизни нет, если только боль и страдания.
>>518436 Сказал чухан, который не может сам за памятью уследить. С++ — язык, на котором Бог написал вселенною, таким смердам как ты не познать его божественную природу.
Вот C++\CLI рили монстр, поэтому я перекатываюсь на шарп
>>518535 В тестовом проекте попробуй русские названия, такая же херня? Попробуй вручную перепиши эти русские названия в твоих енумах, может там не utf8, вдруг поможет, лол.
>>518236 Попробуй еще в языковых настройках выставить русский для non-unicode программ. Может хоть кракозябры пропадут. Region and language -> Administrative -> Language for non-unicode programs.
>>518528 >А что не так? Смешаный русско-англиский код выглядит как говно. Если у тебя там такая махровая пидорашка, которая неможет в физическую терминологию на пиндоском, то пусть откроет для себя волшебный тег ///<summary> с пояснениями на родном, а пременные называет высокодуховными именами MyEnum.KoKoKo .
Анон, самое главное, ты не будь чмошей очкующей пояснить, что в программе некоторое дерьмо и надо его исправить.
>>519198 Да хуй знает. Я как бы английский вообще не знаю. Хотя студию бы, наверное, смог перевести, тем более в учебнике все пункты контекстного меню на английском.
>>519223 Ты решил в it перекатиться или студент? Весь код, комментарии и пр. пишутся на английском. Куда не глянь — требуется знание, как минимум технического английского. Как ты работать будешь? Крайне рекомендую записаться на курсы ангельского.
>>519228 > Крайне рекомендую записаться на курсы ангельского.
Не обязательно за курсы платить, достаточно фильмы смотреть и/или игоры играть на английском. Правила английского можно и в интернете посмотреть. Я когда в школе учился ходил на курсы английского, где преподавали нэйтив спикеры. Единственное чем мне это помогло воспринмать английский также как русский, то есть не думая как оно там переводится, а как обычную речь.
>>519228 Студент, знаю, что учить надо. Нету у меня денег, чтобы по курсам расхаживать. Ну с кодом, комментариями и прочтением статьи на msdn справиться могу. не тот кун, который использует названия функций вроде vivod()
>>519234 Достаточно, не достаточно. Нужен носитель языка или тот, кто давно в их среде крутится. Без этого не выучишь ты язык. Да, ты можешь грамматику подсмотреть в нете, найти себе друзяшку-америкашку и болтать с ним, а можешь взять индивидуальные (в небольшой группе) курсы. Потраченные деньги — очередной стимул не забрасывать обучение, например.
>>519238 2015-ый год, зачем тебе платные курсы? Смотри кинцо да грамматику в учебниках смотри. Я например технический английский понимаю почти идеально, на слух, при том что в школе последнее что я изучил - времена. В универе английский не учил. Только на корсерке смотрел видеокурсы. Вот сейчас грамматику подтягиваю чтоб не фейлить когда генерирую предложения. Думаю можно спокойно и самому научиться.
>>519261 Не оценивал время, просто 5-10 курсовна корсере, ещё лет 5 назад начал, потом сериальчики, всё такое. Но синтезирую я плохо, да и произношение тоже. Могу только пониманием текста и на слух технического английского похвастаться. Но учить надо в любом случае, ибо даже если ты будешь всю жизнь писать распил проекты в рашке - на SO надо уметь вопрос задать.
>>519268 Просто я всю жизнь учу англ. Ну, как учу: классы в школе, пары в универе, чтение литературы (худ./тех.), просмотр видео (худ./тех.). Письменный C1 (pre-advanced), разговорный B2 (upper intermediate). С письмом проблем нет — роман не напишу, но в остальном ограничивает лишь фантазия. Худ. лит-ру (профессиональную, а не мангу какую-нить) иногда читать проблематично без словаря, но с тех. проблем нет. С трудом понимаю речь в кинце/сериалах (хуй знает почему так), но различные научно-популярные и развлекательные видео на тытрубе не вызывают проблем, так же как и разговорная речь на знакомую мне тематику вживую. Произношение, как по мне, приемлемое. Проблемы в основном со связностью речи и автоматизмом. На мой взгляд — это потолок. Для работы и жизни в России хватает, но это ни разу не свободный уровень знания языка. Дальше надо либо пиздовать за рубеж, либо искать кого-то, с кем попиздеть, здесь.
Говностудентик в тренде. Решил изучать C#. Ядро быстро надоело, и захотел написать простенький проект. Часть проекта такая: нужно брать слово и смотреть его перевод в интернетах (гуглопереводчик или яндекс.словари). "Взять перевод" легко, использовал HtmlAgilityPack. А как написать слово в форме? Пока пишу так: string A = @"https://translate.google.com/#en/ru/" + word; Но это как-то хуево. Хотелось бы, чтобы программа сама вставляла слово в нужное место. Что гуглить?
>>519415 В данном случае все работает. Но хочется узнать более универсальный способ. Например, есть куча кнопок и полей для ввода текста на каком-то сайте (сосаче). Какую библиотеку использовать, чтобы C# сделал следующие действия: 1. Написал в поле "E-mail" строку "sage". 2. Написал в поле "Ответ" строку "ОП-хуй". 3. Загрузил смишную картинку из папки со смишными картинками. 4. Отослал пост. Такое уже не получится сделать с помощью адресной строки.
Такой вопрос, есть два массива одного размера. В одном массиве вес, в другом рост. Можно ли с помощью linq их отсортировать по весу/росту? Ну то есть массивы как бы связаны.
У меня такой вопрос давно уже возник, но я не заморачивался и просто создал структуру, которая хранила вес и рост, и сортировал массив таких структур.
>>519516 Ты все правильно сделал. Но можно и list1.Zip(list2, (x,y) => new {x,y}).OrderBy(x => x.y).Select(x => x.x) >>519419 Не надо так, используй апи/генери пост запросы.
У меня есть файл, в котором в одну строку, без пробелов записана последовательность нулей и единиц. Как из него в массив вытянуть первые сто? Не используя циклы, желательно.
>>519644 В начале подключаешь using System.IO; В функции main StreamReader sr = new StreamReader("D:/file.txt"); int [] array = new int[100]; for (int i = 0; i < 100; ++i) { array = sr.Read() - '0'; if (array < 0) break; }
Массив array будет заполнен цифрами 0 и 1. Условие внутри цикла стоит на случай, если в файле окажется меньше 100 символов.
Я имею представление о том, что такое рефакторинг, но я думал есть какой-то русский перевод. А как бы вы одним словом обозначили "рефакторинг"? ногомячи приветствуются
>>519701 Фактор — это составная единица чего-либо. Факторинг — процесс определения составных частей целого. Приставка ре- имеет значение повтора, отмены или возвратного действия. Такие образом, рефакторинг — это процесс повторного определения составных частей целого, повторная дифференциация компонентов, реструктуризация, перекомпоновка.
Шарпач, с чего и как ты начинал? я охуел, что-то начал говнокодить, с формы в форму передавать данные там, читать из txt, ебал-дремал подключился к мускулу, на классы вообще хуй забивал, получалась каша из кода и проебаное время, потому что нужно хотя бы основы знать нормально, думаю, с говна начал, нужно пойти правильным путем, досталась бесплатная подписка месячного курса на один ресурс от мелкомягких, сразу выбрал месячный курс "основы ООП" и просто охуел, это какая то философия блять, стало только еще больше нихуя не понятно, если я еще как то въехал в наследование а на следующий день уже забыл что это лол то в абстракцию я вообще нихуя въехать не могу, override и virtual блять тоже не понятно, а дальше по курсу: статика, делегаты, LINQ и события, каждый день пиздец какой поток новой информации которая просто выворачивает мозги наглухо. теперь думаю "ну хули, пока не начну кодить на практике - нихуя по теории не пойму" и понял что круг моих метаний замкнулся блять, что делать? как правильно поступать? Какие цели ставить? хотел бампарь треда написать для двача - въехал блять в пень на уровне "открыть форму постинга". у меня бугурт, хочу вкатиться пиздец как, но четвертая скорость пропадает. Помоги советом, шарпач
>>519751 >это какая то философия блять Лол, я вон открыл книгу по ASP.NET MVC. 150 страниц про архитектуру MVC, разделение обязанностей, модульное тестирование, DI, DDT, куча ещё каких-то аббревиатур, принципов/паттернов/парадигм программирования, и несколько строчек кода.
>>519751 Ну, я до универа о программировании знал ровно нихуя. Выучил только код алгоритмов для нахождения максимального элемента в массиве, чтобы на егэ не обосраться полностью. К слову, на it факультет я попал по воле случая, с тем же успехом мог бы сейчас сидеть в кб и детальки чертить.
На первом курсе меня озадачили анимацией аски графики в консоле на паскале. Пришлось как-то превозмогать: вышло что-то вроде огромного цикла с кучей ифов на несколько страниц листинга в отчете, за который я был справедливо осмеян принимавшей лабы девочкой-аспиранткой. По мере изучения материала и надрачивания лаб с алгоритмами я все-таки въехал в суть процедурного стиля. ООП же у нас прошло практически на самостоятельном изучении. Еще одна девочка-аспирант дала нам в руки делфи, написала на доске кусок кода и мельком рассказала про классы и все такое. Понял я ровным счетом нихуя и продолжил писать в процедурном стиле, гадя в кодбихайнд форм. Помнится лаба была — написать тетрис. Nuff said.
На втором курсе нас дрочили низкоуровневым программированием и графикой. Мучили регистры и прерывания цп, дрочили периферию и каркасные и поверхностные модели вращающихся кубов и прочих композитных объектов. Нам немного рассказали про кресты, но на одной из сопутствующих лаб девочка-аспирант предложила мне положить болт на это дело и перекатиться на шарп. Так я и познакомился с си шарпом, а ведь мог быть крестоблядью последней и работать за еду. Впрочем, кресты мало кто оценил. Если судить по расстановке дел в группе, то все так и остались делфи-холопами, срущими в кодбихайнд. Не могу сказать, что я к тому времени полностью въехал в ооп, но с разбиением функциональности на классы вроде разобрался.
На третьем курсе у нас пошли базы и я решил немного затронуть веб, занявшись макакингом на пыхе. Написал свой первый говно-фреймворк, выкинул его нахуй, взял готовый, разобрался в разметке и жабоскрипте на соответствующем пыху уровне и запилил курсач по типу асу для университета. Так же продолжил мучить винформы, потыкал впф и хну. В итоге понимание тех трех слов из ооп пришло само собой.
Действительно полезное применение наследованию и полиморфизму я нашел только на четвертом курсе, когда решил с нуля запилить сетевую игрушку с клиентом и сервером. Этот проект начисто отбил у меня желание заниматься двумя вещами: велосипедостроением и программированием, по крайней мере одиночным. Не удивительно, ибо, пробухивая сроки, писать с нуля гуй клиента, многопоточный сервер, логику и бинарный протокол — это тебе не в кодбихайнд срать.
С тырпрайзом я познакомился уже после окончания универа, когда начал искать работу. Экспресс курсом пробежался по Албахари и Рихтеру, написал тестовое задание и затесался джуном на работу. Там уже за пару месяцев разобрался со всякими asp.net, сервисами, архитектурными шаблонами и прочим говном.
В общем, суть в том, что надо больше практиковаться, чтобы быстрее пришло понимание теоретических принципов. Дальше легче идет. Вот с мотивацией действительно могут быть проблемы. Поэтому всем и советуют пиздовать в универы, ибо там хоть под жопу пинают в нужном направлении.
>>519829 А я обосрался с выбором направления при поступлении лол. Меня пинают только в сторону дифференциальных уравнений. Но как бы на решении дифференциальных уравнений много не заработаешь. Надо чет самому делать. Другой кун
>>519849 >Создается анонимный объект с немутабельными свойствами x и y. Погугли тему. Прочитал и вопрос возник, вот тут: {x,y}, создается два свойста именами x и y, значения которых равны соответствующим x и y из изначальных массивов? Какой-то унылый стиль письма тогда, трудно разобраться.
>>519849 Прикладная математика и информатика. Немножко си учили на первом курсе. А так Ландау, численные методы в матлабе, ну и матан комплексный, векторный тензорный, диффуры, интуры
>>519845 Лямбда выражение. Ну это как бы функция, которая принимает два аргумента и возвращает анонимную структуру с двумя полями. OrderBy сортирует уже массив этих структур по полю y, а после Select оставляет только один "массив" IEnumerable на самом деле из полей x. В итоге один массив сортируется по другому.
У нас лабы только по числакам. Но там изич, для усложнения задачи решил запилить графическую библиотеку для вывода графиков. Много туда всяких ништяков напихал. юзал Win Forms, Drawing и все такое Писал на C++/CLI, такая то мерзость. Через пол года осознал, что нужно перекатываться на шарп. Вебмрилейтед.
Сап шарпач,нубак вкатился,. Прочитал про делегаты и события, даже вызвал пару функций и сложил делегаты,и запилил событие, нооо.. Нахрена они нужны вообще, почему нельзя говнокодить без них ? Поясните как вы их используйте.
>>519975 Ти вообще не писал ничего? Качаешь чтр-нибудь асинхронно - в конце срабатывает событие завершения или незавршения. Запускаешь ебу в потоке - она кидает события прогресса. Блядь, да даже стандартный вопрос про как передать одну форму в другую - не надо ничего передавать, используй события.
>>519996 Я вот сам интересовался, видео нашёл. http://www.youtube.com/watch?v=jQgwEsJISy0 Чувак поясняет, что благодаря событиям "паблишер" изменять не нужно при изменении реакции на выполенения, того или иного действия. Т.е. не нужно его рекоплилить.з
Сап, посоны. Поясните за таски и async await. Вроде простая задача, но я тупой прост. У меня есть один метод: public List<Object> GetAllDocuments(...) {return Client.Search(...);} т.е. я получаю документы из определенного источника, но иногда этот источник-зараза глючит и мне возвращается 0 документов, а кладёт их туда только через секунд 20, соответственно дальше фейлится код, который должен использовать объекты из этого листа. Как сделать так, чтобы какой-то метод, в данном случае GetAllDocuments, возвращал результат только тогда, когда Client.Search(...) возвращал хотя бы один документ? Т.е. как сделать так, чтобы метод возвращал результат по наступлению какого-то условия, в данном случае это наличие хотя бы одного документа в результате? Я могу конечно поставить что-то вроде: List<object> documents = GetAllDocuments(...); if(!documents.Any()) { подождать Thread.Sleep(10000); и еще раз взять documents = GetAllDocuments(...); } но ведь это же уебанство, ну или могу поставить while(!documents.Any()) { подождать Thread.Sleep(10000); и еще раз взять documents = GetAllDocuments(...); } что почти тоже самое, но это говнокод, он не пройдёт код ревью, как можно это реализовать с помощью тасков например? Или с использованием async await? Плохо эти темы знаю, т.к. ньюфажина-быдлокодер. Гуглил про события ManualraiseEvent и т.д., но они тут не подходят, оче маленький кусок когда, не хочу городить никаких событий, мне сказали, что это через async await можно сделать, но не знаю как, подскажите, поцоны. Т.е. есть метод, который возвращает список объектов, как сделать так с async await, чтобы код в методе ждал пока не появится минимум один элемент и только потом возвращал список объектов, ну и вызывающий поток ждал пока метод завершит выполнение?
Обязательно чтоли привязывать к учетке майкрософт? А то у меня не хочет, выкидывает ошибку скриптп. До этого требовало подтверждение через смс телефона. Может можно как-то это обойти?
>>520100 Тебе придется написать то же самое, но в отдельном треде. Например, через Task.Run. Дальше уже вешаешь await на возвращающий этот таск метод. Впрочем, а что будет, если там действительно нет документов и это не глюк? Какой-то ненадежный сервис.
>>520150 Я нагуглил что-то подобное, но решил спросить, может кто предложит подходящее решение, может кто сталкивался с таким же случаем. > Впрочем, а что будет, если там действительно нет документов и это не глюк? Я буду использовать этот метод там, где количество документов больше одного - это expected behavior.
>>520161 Спроси того, что тебе про async втирал. Может там есть асинхронный метод GetDocumentsAsync? Если это какой-то сгенерированный клиент под сервис, то там обычно есть возможность сделать синхронные и асинхронные методы.
Бял, зря я зашел в /wrk. Ну вы понимаете, что там в основном обсуждение ит специальностей даже если не ит, то все равно скатывается в ит. Сук, а я не могу тралинг от правдивых постов отличить. Приуныл я что-то после этого(( и купил дешевый вискарь
Всё-таки, есть ли смысл пытаться в прогеры или все безнадежно?
Почаны, нужна помощь, в гугле 10 страниц прочесал, ничего не нашёл. Вопрос по замлу, винфон 8.1, вот это всё. Есть ЛистВью, в котором лежит куча стакпанелов, при удерживании одного из которых которых всплывает menuFlyout. Сразу объясню, чего хочу добиться, чтобы было понятней: в менюФлайоут есть кнопка делете, при нажатии которой должен удаляться айтем из листВью, который был удержан. МенюФлайаут у меня показывается, всё хорошо, но как получить индекс стакпанела в листВью, чтобы его удалить? Здесь лежит замл: http://pastebin.com/5jbHs3F2
>>516185 Выручайте. Назвал свой проект YOBA v2.0 И получил неймспейс YOBA_v2._0 Тесть YOBA_v2 точка сука _0 Как в YOBA_v2 все переименовать/переместить?
>>520219 >А ты откуда такой вылез? Я тот чувак, который сидит здесь 24/7.
>Что знаешь? Что умеешь? Я не способен объективно оценить свои способности. ещё и эффект Даннинга-Крюгера масла в огонь подливает, после того, как я нем узнал, вообще постоянно себя ничтожеством ощущаю
Привет, шарпач. Ньюфаг вкатился после учебника. Запилилкак мне показалось =)годный метод, однако он вылетает - выход за границы диапазона массива. Опытным путём выяснил и предположилвозможно неправильно , что почему-то массив из майна не передался в метод.Посоветуйте.
>>520433 В самом первом классе,который состоит из подклассов. Ошибка вылетела при сравнении. Методы однотипные,и ошибка одна и та же. может быть что массив не передался в метод из другого класса ?
Опять я, попробовал KK напрямую присвоить, а не из другой функции. стало лучше. Подскажи, как глобальную переменную присвоить в методе и вернуть со значением обратно ?
Где можно нагуглить какие нибудь небольшие практические задания (на 2-3 часа каждое) на си сярп? Весной закончил обучение и сейчас планирую работу искать - хотелось бы освежить память а по книжкам она у меня оче плохо освежается, запоминаю что-то только когда работаю над задачей :(.
Решил начать изучать шарпы (до этого сначала был чистый си, потом питон). 1) Как у него с защитой приложений ? Слышал, что даже хорошо защищенные продукты ломаются школьниками на раз и два. 2) Поясните про фреймворк, если я компилю под 2.0, то оно будет работать под 4.5 ?
Шарпаны, поясните за студию-2015: какая топовая сборочка доступна сейчас бесплатно? Я так понимаю бесплатно можно скачать только Community Edition, а Enterprise вскоре после установки попросит ввести ключ? Может уже есть CRACKED ULTIMATE EDITION от Вована на торрентах?
>>521020 Enterprise бесплатна для опен сорса и маленьких компаний. Но я не знаю, я не заходил на сайт VS, не скачивал, не устанавливал и не запускал. Но на дваче я всегда прав, так что Enterprise просто обязана быть бесплатной.
Я чего-то не понял Чтобы использовать метод allou класса YOBA внутри этого самого класса YOBA, например, нужно создавать экземпляр YOBA внутри класса YOBA, вызывав метод вот так YOBA.allou(). Чётобы этого избежать создание экземпляра, нужно сделать метод статическим. Зачем такая хуйня нужна внутри класса? Насколько я помню, в джаве можно было использовать методы внутри без создания экземпляра.
>>521051 ??? Я может чего-то не понимаю, но в джаве можно использовать методы внутри класса не создавая экземпляр внутри этого же класса, только что проверил. А в сишарп почему-то нельзя, просит инициализировать объект класса или сделать метод статическим
>>521045 >без создания экземпляра Начнем с того, что если ты внутри класса - значит объект уже создан если он не статический, но сейчас ведь не про это. Чтобы сослаться на него, можно использовать this , а можно и не использовать, ведь компилятор умнее тебя
И снова что-то непонятное творится в студии. Поставил 2015 студию, гружу проект с 2015 RC4, гуй работает, но код не хочет. И тут пикрелейтед. Что за хуита?
Загрузил с торрентов оригинальный MSDN образ VS 2013 Ultimate, установил, зашел с какой то старой своей учетки микрмягких, на которой я никогда ничего не покупал и студия даже ключь не просила для активации и без кренка заработала. В чем подвох?
Парни, такое дело. Приложение ASP.NET MVC 4. У пользователя есть List<ToDo>. Когда во вьюхе Users/Details/id вывожу данные Имя, Мыло, ToDoes выходит ошибка IIS 400 Bad request. Вывожу через foreach
>>519519 Большое спасибо, няша. Прочитал тему, оказалась не очень сложно. Я даже смог написать сообщение в чатик роботу и получить ответ. На волне успеха написал скачивалку файлов с сосача и добрача. Пожалуй, первая в моей жизни полезная программа.
Котаны, поясните про девелоперские сертификации. MCSD, MCTS (вроде как устарел?), вот это все. Есть ли профиты от сдачи? Дает ли хоть какое-то преимущество при поиске работы?
>>521415 Следуя твоему коду, класс ApplicationUser должен содержать член ToDoes, который является каким-нибудь массивом/коллекцией реализует IEnumerable объектов, имеющих поля Name и Description. Если все действительно так, то я понятия не имею в чем ошибка.
Делаю свою парашу на asp.net mvc. Мне необходимо парсить >>ссылки, но я совершенно не понимаю, как это сделать. С одной стороны, если это делать в контроллере, и вставлять html-теги сразу же, то после считывания текста из бд, разметка не парсится, а пишется как есть, то есть в посте будет хуита вроде "<a href='#666'>№666</a>". Если парсить во view, то нихуя не получится, так как нужно смотреть, есть ли такой номер поста в бд, а из вью к бд никак не подключиться. Как тут быть?
>>521564 Я отправляю пост на сервер, там в контроллере происходит обработка поста. Нужно, чтобы херня вида ">>номер" стала кликабельной ссылкой, если такой номер присутствует в бд. Html.Raw помогает, но нужно, чтобы хтмл-код, запощенный пользователем, не обрабатывался.
Аноны, есть какая-нибудь книга, где постепенно, используя изученное пишется какое-нибудь приложение? Т.е. на реальном примере показываются средства языка
>>521580 Нету. Я кучу времени искать что-то подобное. Придумывай сам задачу. Доебывай анона итт, задавай ебанутые вопросы в стековерфлоу. Потихоньку получится какое-нибудь реальное говно.
>>521572 Парсером преобразуешь рефлинк >>123 в ссылку для другого(можно кстати и маркдаун взять). А затем на респонсе/когда достаёшь из базы обрабатываешь её маркдауном и всё. Вообще рикамендую не ложить html в базу, а то можешь горя хапнуть, когда захочешь что-то изменить. Хотя в масштабах борды где шитстримом тред смывается быстро это в принципе тоже вариант. Я обрабатываю сообщение когда пост маппится к модели, не знаю ка там в аспнете.
Кстати самая затея с поиском рефлинком в базе тоже хуёвая(хотя она и на всех движках в кой-то мере реализована). Представь пост полный рефлинков, сколько запросов будет?
>>521591 >Кстати самая затея с поиском рефлинком в базе тоже хуёвая А иначе никак. Эта ссылка имеет адрес вида parasha.com/b/666#1488, то есть все равно необходимо узнать номер треда, к которому рефссылка принадлежит, и для этого придется рыться в бд.
>А затем на респонсе/когда достаёшь из базы обрабатываешь её маркдауном и всё Не совсем понимаю, при чем тут markdown, это разметка на подобие phpbb, у меян немного другая проблема. Допустим, я достаю из бд текст поста, в нем есть >>ссылка, мне ее нужно сделать кликабельной, для этого я приписываю ей теги <a href="...">>>ссылка</a>, но проблема в том, что этот хтмл не обрабатывается, а пишется как есть. Если поставить @Html.Raw, то будет обрабатываться и хтмл, запощенный пользователем вручную, а это угроза безопасности. Вот на пике я обрабатываю переносы строк в самом View. Но с парсингом >>ссылок так не получится, потому что оттуда никак не подключиться к бд.
>>521599 Если не нужно прыгать по якорям, а только делать превьюшки на фронтенде то можно и без этого. >Не совсем понимаю, при чем тут markdown, это разметка на подобие phpbb А какая разница? При создании поста ты можешь распарсить её в разметку маркдауна [>>{0}](/{0}) это добавляется в базу после проверки. Затем когда из базы достаёшь уже разметку маркдауна она преобразовывается в нормальную ссылку. Вот и всё. Не нужно дёргать базу при рендере вьюшки.
То есть у тебя автоматом эскепится html во вьюшке? Для постов лучше юзать рав и эскепить до обработки парсером.
>>521613 >То есть у тебя автоматом эскепится html во вьюшке? Именно, в этом и проблема. >Для постов лучше юзать рав и эскепить до обработки парсером Но как это сделать?
>>521615 Читай внимательнее, я уже сказал, почему не получается через контроллер.
В Джаве когда инициадизируют String s=new String("string"); с большой буквы создается объект в куче когда иницилизируем string s="string"; Строка помещается в пул строк Поэтому при сравнении строк первого типа через == сравниваются ссылки на объекты, а при сравнении строк второго типа сравниваются значения. В с# такая же ситуация? Я нашел что стринг с большой это всего лишь сокращение к стринг с маленькой. То есть между ними нету никакой разницы. Это всё?
Анон, помоги аутисту. Прохожу курсы АСП .нет на академии майков и столкнулся с проблемой. Суть в чём: урок по созданию и настройке моделей, пошагово поясняется как создать модель, сгенерировать к ней контроллер и по отладке запустить как готовый сайт, походить по страничкам и так далее. Но вот ведь незадача: код у меня точно такой же, как и у чуваков с академии, следовал я впритык за ними, но при попытке зайти на страницу, созданную с помощью простенькой модели и сгенерированного контроллера, среда выбрасывает необработанное исключение и шлёт меня нахуй. Повторюсь, код 1 в 1 как у них, скачанный с гитхаба проект компилится и запускается, а мой - нет. Помоги, пожалуйста. Да, в окне ошибки указали линк с полезной инфой, но то ли лыжи не едут, то ли я пизданутый. В любом случае, если у чуваков с академии не было никаких проблем с настройкой, то что-то где-то не так, а я даже понятия не имею, насколько далеко я имею право лезть.
>>521680 Конструктор new String(new char[]{'h', 'e', 'l', 'l', 'o'}) и методы ToString и Format всегда создают новую строку, а Clone и + помещают строку в пул, возвращая уже существующую, если есть.
>>521729 > new String(new char[]{'h', 'e', 'l', 'l', 'o'}) Почему именно так? А просто new String()? То есть string s="s"; не отличается от String s=new String();s="s"; ?
>>521683 Там про миграции не говорится? Вроде же есть cmdlet что-то типа addmigration и updatedatabase. В ps консоле в студии вызываешь сначала первую, потом вторую и вуаля.
>>521737 Что ты пишешь такое, а? В шарпе, во-первых, есть перегрузка операторов, в отличии от жабы, и, во-вторых, string — это шaрповский алиaс для типа System.String. >А просто new String()? Нет просто new String();.
>>521737 > А просто new String()? Зачем тебе пустая строка?
> String s=new String();s="s"; Ты крестовик штоле? Когда выполняется вторая строка s="s", то предыдущее значение s (new String()) теряется (освобождается сборщиком мусора), поэтому такой код не имеет смысла. А string это синоним для System.String, верно.
>>521713 В БД нету ничего с подобным названием. >>521744 Да, говорится. При применении второй команды оно ругается, мол, Cannot drop the table 'dbo.Artists', because it does not exist or you do not have permission.
>>521755 Ну ты же у себя пользуешься на десктопе различными прогами, значит еще жив. В энтерпрайзе десктоп пишут либо на Delphi (в днищеконторах), либо на C# (в нормальных), реже на C++/Qt. Просто мобильных устройств (смартфонов и планшетов) сейчас продается больше, чем пекарень, поэтому веб и мобильные приложения популярнее.
>>521770 Есть идеи, какого хуя ньюфаг должен лезть и руками править в каждом проекте то, что студия должна делать за юзера и как это настроить через опции?
Есть Минские шарписты? Кто подскажет куда без опыта разработки можно сунуться? Есть ли контора-кузня молодых и желающих учится Джунов? Переехал в столицу Беларуси, а устроится не могу никуда (хотя я и ищу 2 день только). Вот сейчас пишу пару мини-проектов на ASPе, думаю еще может под декстоп написать небольшое, Паинта какого или что-то в этом роде. Можете подсказать, уважаемые?
Есть такая программа: http://pastebin.com/7NYiyZi9 Она творит хуету: на некоторых картинках высвечивает ошибку accessviolationexception (Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена). На некоторых выдает какую-то хуйню. Белую картинку таки-инвертирует, но черной она становится лишь на превью, при открытии в просмотрщиках картинок она полностью прозрачна. Кто-нибудь может пояснить, что за хуйня? Подозреваю, проблемы в моем неумении байтоебствовать. Но делать через встроенные методы я не хочу - делал уже, это занимает раз в 5 больше времени.
>>521859 >>521780 Если оператор == переопределен, то он транслируется в вызов статического метода op_equality (или как там его компилятор обзовет), который у строк проводит сравнение по порядковым номерам с учетом регистра.
>>521930 Вопрос не совсем понятен. То есть чтобы на консоль выводилось x = Ты пишешь 228, ставишь запятую и он следующую переменную спрашивает? x = 228, y = Так что ли?
>>521889 Короче, просто я конченный долбоеб и считал, что A - это еще одно поле структуры. Был бы умнее, проверил бы sizeof-ом. Исправил все "4" на "3" и стер буковки А - стало заебись.
>>521939 А черт его знает, лол. Я не читал статью, окинул взглядом код и тут же понял, чому я глупый. .Scan0 дает адрес R-компоненты первого пикселя. Раз что-то прибавляют, значит, это либо смещение на какой-то другой пиксель.
>>521943 А еще я у мамы хакир, поэтому, чтобы не переписывать один и тот же длинный код, сделал так: static public void UnsafeTraversing(Bitmap pic, Func<RGB, RGB> filter) { Бла-бла-бла, получили 3 компоненты пикселя; Применили фильтр; Присвоили байтам пикселя значение, полученные фильтром; }
По крайней мере, первый раз в жизни использовал Func<,> осознанно.
>>521948 Славный ты у мамки хакир. Никогда раньше не писал методы расширения под ienumerable? К слову, если это учебная шляпа, то не думаешь, что интереснее с практической точки зрения было бы написать код на с или крестах и дернуть через p/invoke? Все равно никто, как я считаю, в здравом уме не станет хуярить ансейв на шарпе в проде.
>>521960 > Никогда раньше не писал методы расширения под ienumerable Нет, никогда не писал. Штука не учебная, для себя стараюсь. До шарпа я года три смотрел на самоучители языков (питоны, кресты), вчитывался - одно и то же говно. Интерфейсы, абстрактные классы. Это все полезно, но совершенно неинтересно. А с шарпом как-то повезло. Оказалось, что есть нюгет и можно обмазаться библиотеками и писать более менее прикладные вещи, а не очередную "Напишите абстрактный класс "сотрудник", отнаследуйте от него класс "менеджер" и "программист", бла-бла".
Если пояснишь или скажешь, что гуглить, как подобные вещи делают нормальные люди, с удовольствием переделаю. Проект не учебный, просто пытаюсь потихоньку научиться кодить.
Почаны, есть вопрос по регексу небольшой. http://pastebin.com/qFBPHcwx Сорян, что задаю такую хуйню, буквально на днях возьмусь за изучение регекса, честно
Как вы можете прокоментировать пикрелейтед? Асп не умирает, случайно? Я не хочу никого обидеть или развести холивар, просто боюсь, что выучу асп, а через 3 года про него уже все забудут. Успокойте, что ли
>>522715 В обработчике события нажатия кнопки вызывается метод класса. Метод принимает коллекцию (которая где-то раньше грузится из базы) и возвращает ссылку на сгенерированный по шаблону pdf файл, в котором табличка с данными этой коллекции. После чего я делаю то что у меня на скрине. >>522735 Мне нужно именно открыть в браузере и именно в отдельной вкладке. Собственно до этого примерно так и было, но с вордовскими файлами, на pdf перекатился именно из-за требования открывать в браузере (пришлось несколько дней танцевать с бубном вокруг конвертации моих docx шаблонов в pdf, да).
>>522952 Это слишком говнокод, чтобы в нем разбираться. Впрочем, ты не меняешь счетчик в теле цикла for => он не может быть бесконечным. Удачи в отладке.
>>522952 Пиздец. Я реально тупой, думал что за ебаная мистика, а оказывается, когда добавлял в List строку, его Count увеличивался и все шло бесконечно.
>>522970 А что там не так? Тебя settings[i2].Ind*exOf(typeof(Settings).GetFields()[i2].Name смущают? Но там счетчик, куда я от такого избавлюсь? Писать дохуя лишних строчек? Или это нагромождение циклов и условий? Но как по мне, там все предельно ясно. Один цикл перебирает строки файла, другой свойства класса, нашел - заменил, если нет - добавил в конец. По краям дешифровка/шифровка и чтение/сохранение файла. Что там в спам листе?
>>522977 У тебя количество дублирования кода зашкаливает, про процедурный стиль ты видимо слышал только мельком, не в курсе про строковые константы и как строки на пустоту проверяют, не в курсе про ienumerable и выведение типов. Посчитай, например, сколько раз ты взял тип и получил список полей. Можешь даже на количество итераций умножить.
>>522984 Можешь навесить GroupBy сразу после десериализации. Алсо, зачем ты структуру обозвал Groups? Алсо2, ты знаешь чем структура отличается от массива структур? Зачем ты поле структуры ищешь в массиве?
>>522999 назвал Groups - потому что парсЮ группы Про массивы структур читал ЧЕСТНО, но забыл Юзаю структуры потому что переделал экземпл, а какая разница то?
>>523000 У тебя структура под группу называется «группы», а должна «группа».
Это не касается конкретно массивов структур, это про массивы в целом — надо обращаться по индексу, чтобы получить элемент массива.
Разница в том, что структуры — это value тип и ведут они себя тем же образом, что и какой-нибудь int, т.е. копируются всегда, когда только можно, кроме обращения по индексу в массиве(sic! там спец. инструкция для получения указателя есть).
>>523006 >У тебя структура под группу называется «группы», а должна «группа». я ж список спарсил
>Это не касается конкретно массивов структур, это про массивы в целом — надо обращаться по индексу, чтобы получить элемент массива.
ну лол, это я знаю
>Разница в том, что структуры — это value тип и ведут они себя тем же образом, что и какой-нибудь int, т.е. копируются всегда, когда только можно, кроме обращения по индексу в массиве(sic! там спец. инструкция для получения указателя есть).
так че делать то, анон? Подскажи, а потом скажи чего почитать на эту тему
>>523030 Все работает, я же не буду не проверив постить. Только вот это все, окромя выноса получения списка полей, снизило понимание мной моего же кода.
>>523033 Ты, наверно, привык писать кривой код. Ну, можешь попробовать написать не fields, а settingFields. И хуй знает, что ты там проверял. Ты теперь шифруешь индексы, а не строки.
>>523037 >Ты теперь шифруешь индексы, а не строки. Да нет же, пикрелейтед. Просто ничего лучше не придумал. Я не настолько отбитый, чтобы не смочь проверить правильную работу. А вообще да, всегда писал говнокод и не загонялся.
>>523044 Лютейший говнокод. Ты в одной перегрузке принимаешь сразу FieldInfo, а в другой Int32 и начинаешь где-то искать поле. Еще, судя по всему, методы отличаются только параметром, а код в них копипаста. Зачем?
Посоны, >>517792-кун продолжает вопросы: 1. C# или Java В РФ перспективнее в плане последующего трудоустройства? Или 50 на 50? 2. Имеет ли смысл использовать C# для бэкенда если планируется также написание десктопного приложения под Виндовс, дублирующего функционал веб ресурса/сингл пэйдж приложения? Я так понял с точки зрения написания приложения под Шиндовс вариантов кроме божественного шарпа по сути нет? 3. Для мобильной разработки получается только Java или Swift? Windows Phone не берем, я на этом говне до сих пор не могу найти приличное приложения для прослушивания аудиокниг (на Андроиде пользуюсь Smart audio book player)
>>523128 1. C# 2. > Имеет ли смысл да > вариантов кроме божественного шарпа по сути нет можно и на плюсах написать, но зачем? Код на диезе можно будет и на мобилки портировать в три клика 3. На диезе через ксамарин можно под все платформы писать, но это говёный вариант очень. А так жаба, свифт и обжектив си
Помогач выручай. Как при создании таблицы через code-first, проверить есть ли такая таблица в базе данных и если её нет, то заполнить своими значениями по умолчанию?
Анон, что вообще блять не так с Code First Entity Framework? У меня есть целый проект, я уже со вторника не могу разобраться, он то рандомно работает, то нет. Всё завязано на миграциях и контексте проекта. При добавлении новых свойств есть вероятность, что он пошлёт тебя нахуй и скажет, что ты не прав. Я много гуглю и вижу, что решения проблемы каждый раз разнятся, решения, которое бы мне подошло, я пока не нагуглил. Анон, шарящий в асп, прошу, глянь на проект и посмотри, в чём может быть проблема и как с ней бороться. Введи в адресной строке при отладке /Reviews и посмотри, на что ругается Студия. Я бы заскринил лог и отдельный кусок кода, но хуй проссышь, где может быть ошибка. http://rghost.ru/7kBBQFC9h
Изучаю С# понемногу. Решил тут подразобраться с сокетами. Наебашил клиент и сервер для чата. Потом чего-то захотелось добавить какую-нибудь игру туда. Что-то вроде 2д арканоида с мультиплеером. Сейчас настраиваю взаимодействие шарика с панелями, хочу добавлять в обьект шарика список обьектов с которыми он может столкнуться и после каждого перемещения делать проверку на пересечение. Может где есть формулы пересечения круга/эллипса и прямоугольника чтоб не выдумывать велосипед ? С сетевым кодом тоже поебаться прийдется, никогда таким раньше не занимался. Стоит ли тупо брать все координаты с сервера, или пускай клиент сам передвигает шарик с панелями а сервер просто синхронизирует с определенным интервалом ? Спасибо за внимание, решил вот отписаться чтоб не забросить на половине.
>>523637 Тебе лучше на сайт гейдевов сходить, ибо есть несколько моделей синхронизации клиента и сервера и на эту тему куча статей написана. Но вот с этого я проиграл: >Может где есть формулы пересечения круга/эллипса и прямоугольника чтоб не выдумывать велосипед ? В учебнике по математике.
>>523649 5к чего? Если рубли то этож вообще пиздосики.
>>523650 Ну я же сижу в пять утра. Аа, бля, я же не успешный. Я прост алкаш ебаный, который бухает все лето вместо того, чтобы прогать. Ещё и оффтоплю тут постоянно лол. Ну я и мразь.
>>523796 Не особо. Зачем ты кресты и винапи указал на позицию .нет джуна? Что именно ты знаешь в asp.net? Модули и хендлеры? Что значит сиквел сервер? Ты его администрированием занимался? Где предыдущий опыт работы? Если бы я увидел в праймари скилах .нет джуна кресты без указания опыта работы, то подумал бы, что это школьник какой-то. Слабовато, короче, для джуна.
>>523796 0/10 Непонятно нахуя указаны кресты, да еще и первыми Есть SVN, но нет гита Юэмэли всякие нахуй не нужны И вообще ставлю десятку, что ты винапи и на среднем уровне не знаешь
>>523806 Да, они иррелевантны к желаемой позиции. Но тебе не только их убрать надо, тебе в принципе написанное надо переосмыслить. Еще момент. Юнит тестинг. Какие приблуды юзал? mstest, nunit, whatever?
Есть один ico файл. Хочу чтоб из него брались разные иконки. Добавил в свойства проекта, как велел гугл. Файл вкомпилился в исполняемый. А как мне из него теперь иконки назначить форме, трею и т.п.?
>>523965 class Animal { string kindOfAnimal; string name; int numberOfLegs; int height; int length; string color; bool hasTail; bool isMammal; bool spellingCorrect; }
class Zoo { Animal a = new Animal(); a.kindOfAnimal = “Kangaroo”; a.isMammal = false; a.spellingCorrect = true; } Не мог бы исправить, а то я чет туплю, и приписывать public каждому полю я тоже пробовал
>>523974 Можешь еще инициализировать так Animal govno = new Animal { kindOfAnimal: <blablabla>, kindOfGovno: <blablabla> }; Но опять же не забывай про видимость тех полей.
Анончик! Спасибо большое за ответы, ты мне реально помог, сделал хорошее увесистое приложение, только вот одно но, обернул его в Backgroundworker и соснул, вскукарек "вы обращаетесь к контролу не из того потока в котором он был создан" покурил форумы, охуел и ничего не понял. объясни на примере, как например из потока считать comboBox.Value? а что если у меня хуева гора обращений к контролам? я сильно въебался?
пока что ебанул System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
>>524199 Передавай в функцию воркера полное состояние всех контролов которое он захочет опросить во время работы. Но тогда тред будет в манямирке, и не реагировать на изменения текущего состояния контролов? Нуда, тип если важные контролы поменяли состояние, нужно тормознуть прошлый воркер, заново передать сстояние и начеть БольшуЮ(тм) работу заново.
>>524199 > считать comboBox.Value Ты не должен считывать comboBox.Value. У тебя должна быть модель в которой хранится соответсвенное значение. Когда пользователь дергает комбобокс, значение в модели должно апдейтится. Все остальное приложение читает инфу из модели. Но если у тебя простое что-то, то можно навернуть и костыль типа >>524208
Шарпаны, я уже полторы недели по 4-5 в день учу C#. Смотрю кучу видео и читаю книги. Почитал несколько глав в одной, что-то стало непонятно - загуглил, нашел видео, потом смотрю: "Опа, а видеокурс нормальный, посмотрю полностью". Смотрю оттуда несколько видео и при вопросах возвращаюсь к другой книге. Ну, и так далее. Дак вот вопрос - я учусь как дибил? Надо ебашить одну книгу или один видеокурс и не распыляться? Я уже не так сильно плаваю и кое-что понимаю, но больше хелловорда, нескольких массиовов, циклов и прочих элементарных примеров из книжек и видео не могу написать, а я уже хочу писать что-то и разбираться в этом по ходу. Вот, хочу, например, написать парсер, чтобы мне складывал в txt определенные данные. Загуглил - нашел, как люди пишут, но нихуя не понимаю там. Меня угнетает мое бессилие. Что посоветуете?
Нет ли таких курсов, где челик пишет что-нибудь и попутно комментирует - что, как, зачем и почему? О, вспомнил, Видел какой-то урок, где челик пишет игру про черепашку с использованием какой-то библиотеке. Надо будет посмотреть. Никто не знает что-то подобное?
Аноны, у меня рекурсивная функция, которая шерстит все папочки и файлы по определённому пути, и я сделал вывод строк с путями в textbox с помощью textbox.Text.Append(...), но т.к. папок и файлов бывает очень много, главная форма перестаёт отвечать и, естественно, не видно процесса. Как исправить?
>>524281 Гугли получше, есть куча видеоуроков где пишут игрули и подобное. Есть ещё livecoding где люди пишут приложения на стриме и всё комментируют, все предыдущие видео по проекту обычно отсортированы в плейлист.
И да, тебе просто нужна практика. Пишешь и экспериментируешь, только так можно понять что-то нормально, иначе нихуя не запомнишь и забудешь.
Двачую насчёт практики, сейчас вот читаю про дженерики, вроде всё понятно, но пока реального применения не нашёл, очень плохо осознаю подводные камни и прочее Можешь делать как я: пиши все необходимые тебе программы, даже для самых мелких потребностей Вот я качаю кучу кпопа с ресурса, который все файлы маркирует своим адресом. Меня это достало что всё выглядит так: "[Sitename.com]%filename% И я решил написать программку, которая будет сканировать все папки и файлы и убирать эту метку В общем, действуй, пиши-пиши-пиши программульки
>>524290 "видеошарп" гугли, есть вполне годные видеоуроки как ты и хотел, есть так же платные курсы. то же парсеры пишу всякие, вкатился 3 месяца назад, уже написал одно охуенное приложение, купи справочник (эл книга хуета, надо что бы рядом лежало, либо второй монитор), смотри курсы, параллельно пердоль код, 50% гуглишь, 50% думаешь над алгоритмом и оптимизацией, я тоже как и ты голову ебал с таким же вопросом, через примерно такое же время, все ок будет, практикуйся, бери проект, напиши например мессенджер дял контактика через API простой, что бы принимать и отправлять сообщения. Потом вложения организовывай потихоньку, как напишешь, ебашь в базы данных и SQL закатывай, тоже нужно, создай простенькую форму для БД. Далее выбирай куда развиваться, я вот еще не определился, но скорее всего, буду пердолить приложения под веб, а это ASP.NET, плюс пых поучить надо, да html, в общем смотри что ближе и что нравится и пробивай башкой путь. главное не учить, а кодить. Что-то не понятно, нагугли, разберись, или еби код пока не заработает.
>>524295 >пиши-пиши-пиши программульки Это самое сложно в самообучении, как по мне. Когда жопа не горит сложно заставить себя начать что-то делать. Я так джва года уже откладываю практику по рисунку.
>плюс пых поучить надо На кой тебе пых? Это же совсем другой стек уже пойдет.
>>524311 >Это самое сложно в самообучении, как по мне. Когда жопа не горит сложно заставить себя начать что-то делать. Я так джва года уже откладываю практику по рисунку.
Надо писать под свои потребности, тогда интерес будет. Если откладываешь, получается тебе это не особо и нужно. Сейчас отшлифую свой "переименовщик" и начну делать плеер, т.к. aimp заебал терять мой плейлист постоянно.
>>524320 Ну, мне, например, рисовать интересно, но когда я читаю книжки по анатомии, то меня холодным потом прошибает. А программирование да, не особо мне нужно и интересно. Если бы я мог, то я бы нихуя не делал и смотрел бы мультики каждый день, но надо как-то по счетам платить.
>>524318 Большое спасибо, я думал над этим, что б записывать свойства объектов в переменные, но считал что это неправильно и не труъ, про модели почитаю
>>524281 > я уже полторы недели по 4-5 в день учу C#. Лол, а я уже 3 года типо учу, но дальше лаб и унылых крудов дальше не продвинулся. По ходу я совсем безнадежен.
Дочитал Рихтера. Решил тут доложить об этом. У нас же тут типа клуба, да?
Последний раздел про многопоточность придется, еще раз 5 прочитать, наверное. Тепляков пишет, что в Рихтере с каждым прочтением что-нибудь новое обнаруживаешь. Его книжка приехала на этой неделе, кстати.
Ньюфаг пишет прогу. Суть такова. Есть PictureBox. В нем есть картинка бекграунд и картинка ImageLocation. Теперь нужно поверх всего этого рисовать прямоугольник который будет играть роль прогрессбара. Но чета нихуя не выходит. Гугл выдает всякие интересные предложения, которые не работают. Ваши ипредложения?
>>524491 А без событий никак? Мне бы какой нибудь метод, в который скармливаешь этот бокс и там уже решается рисуем или нет, и если да, то каких размеров.
>>524394 >У нас же тут типа клуба, да? Есть, но он приватный >>524503 Ну сделай метод который ты будешь вызывать внутри OnPaint Что-то вроде OnPaint(e){ Render(e); } pictureBox.Refresh();
Сколько мне понадобиться учить шарп и во что именно углубиться wpf или windows forms? Сейчас имею базовые знания и не особо умею в форму. Хочу написать приложение, по сути не сложное (мне просто так кажется, будет наоборот 100%), там будет база данных и куча математики с красивым интерфейсом// Час в день нормально? сам просто школьник // Может вообще за шиндовс фон взяться?
>>524654 Смотря что ты пишешь, я писал уже программу с 150 страницами кода, но программа простая была, просто много условных конструкций ну и огромные отступы с { } Да час мало, до этого по 2-3 изучал, но сейчас вот не могу, печально.
>>524647 Ты получаешь исключение потому, что рекурсивно присваиваешь значение свойству name. Либо используй автоматические свойства, либо создай приватные поля для каждого свойства и работай через них. 1. public string Name {get; protected set;} 2. private string name; public string Name { get { return name; } set { name = value; } }
Сап, пр. Почему когда я пытаюсь ввести адрес директории в аргумент (пик 1(на цифру внимания не обращайте) в string он записывается как на пике 2? Что за блядская хуита?
Собсно, накатал маленькую прогу для очистки засранных папок или рабочего стола. В аргументы вводим путь к папке и кол-во недель сколько файлы не открывались. И все старые файлы удаляются. Почистил свой рабочий стол, доволен как слон. Хотя быстрее было бы вручную его почистить, чем писать прогу, лол. Так как я нубс, то прошу замечания и предложения.
>>524778 >Parser.cs >args[0] = Не над записывать сюда ничего, создай новую переменную с понятным именем, будь программистом. >ArgsChecker.CheckPath Не над никаких регулярок ну только если очень хочется, есть Directory.Exists.
>в общем как На мой взгляд, слишком развернуто. У тебя какая-то тренировка if-ов и циклов. Больно смотреть как однострочную задачу на 4 файла раскидывают. Но вообщем - ок, продолжай.
Привет всем. Есть лист вью с кучей айтемов; когда я дотрагиваюсь до айтема(даже во время скроллинга), он начинает мяться/наклоняться/поворачиваться/менять форму, как это принято в шиндошс фоне, на пикрелейтед должен объяснить, что именно я имею ввиду. А можно как-то запретить айтемам это делать? Просто иногда айтемы попадаются настолько большие, что из-за этого чуть ли не весь экран начинает так мяться. инбифо фраза на верхней картинке
Как то полгода назад начал писать прогу с базой данных и т.д. Я думал, что задача простая, но сейчас вся эта программа похоже на творение обезумевшего школьника. Большая неповоротливая. А все потому что я начал ее писать без учебников. Обладая знаниями 10-ти летней давности по бейсику и фортрану. Отчаяно пытался отвязать оболочку от кода, но терпения не хватило и захуярил добрую треть кода в winform. От этого мне стало грустно. Анон, что гуглить, чтоб в в формах были только формы, а все остальное где нить еще. Вдруг я решу интерфейс переделать...
Шарпач, смотри какое говно. Делаю второе окно в WPF, в нем обрабатываю событие какого-нибудь элемента в котором меняю другой элемент. Суть в том, что некоторые события начинают вызываться до того, как все элементы гуя будут проинициализарованны. Хуй знает почему так, но постоянно выкидывает NullReferenceException в начале, приходится делать костыль в Window_Initialized. Что за говно?
>>524797 C# хороший язык, но нам нинужны F#, J# и потенциальный R#, мы будем загаживать С# нехарактерным для него синтаксисом и поротся в лямбды на глазах у нормальных людей. копченые индусы
Помогите заговнокодить. Не могу в организацию логики. В общем, есть игровые тайлы, которые делятся на "масти" и "достоинства". Тайлы масти - масть + цифровое значение, тайлы достоинств - вид достоинства + значения достоинства. Так вот, для мастей я сделал структуру "масть + значение", т.к. значения для всех мастей одинаковые, то всё ок. Но вот с достоинствами так не получается, т.е. например есть тайлы "Красный дракон" ("дракон" + "красный") и "Западный ветер" ("ветер" + "запад"), как их запихать в 1 структуру "Тайл достоинства"?
Все-таки есть у дотнета проблемы по части экосистемы по сравнению с жабкой. Горы мертвых проектов, те что живые и годные 90% порты с жабы. Реальный пример - нужна была библиотека для генерациии вордовских документов (стандартный interop идет нахуй и в пизду). Самая популярная библиотека для работы с docx в русской локали портит документ, потому что decimal separator - запятая, и она эту запятую пихает прямо в разметку, например при установке значений отступов текста. Смотрю в сторону ртф - вообще сплошные школопроекты/курсачи. Одна библиотека не умеет в emf рисунки, другая не умеет ни в emf, ни в форматирование таблиц, обе заброшены авторами. Хуй с ним, взял исходники второй, добавил поддержку emf за полчаса, сел пердолиться с форматированием таблиц в обнимку с rtf spec 1.9, полдня проебался, плюнул, перевел проект на первую, картинки конвертирую в png.
Думаю перекатываться на NPOI - протестировал, вроде все работает, надежно, заебись, явно зрелый проект. Почему? Потому что прямой порт Apache POI. За счет этого не слишком идеоматичное для шарпа API, но РАБОТАЕТ!
Конечно, мне никто ничего не должен в опенсорсе, но как посмотришь на достижения жаба комьюнити, становится грустно
>>525020 Ветров 4, драконов 3 т.е. придется делать что-то вроде: struct NoName { private Honours honour; private Winds wind; private Dragons dragon; } Одно поле(ветер или дракон) всегда будет пустым, а это говно какое-то.
>>525020 Хм, а я как-то и забыл про полиморфизм, спасибо попробую.
>>525049 И нафига тебе из разделать вообще? В одно перечисление захуярь и все. Будет у тебя структура из двух полей: типдостоинства и типзначениядостоинства. Аналогично мастям и значениям для них. Ну, а так да. Придется создать базовый тип для этих твоих тайлов и отнаследовать 2 подтипа, у каждого из которых будет свой набор типзначениядостоинства. Я не стал бы заморачиваться, впрочем, дело твое.
Аноны, я вот бетатестил WinX и студию, и теперь у меня стоит VS Community 2015 RCи WinX Pro edition. Что это за версия, и чем отличается от Community обычной?
Пробую с помощью HtmlAgilityPack сохранять картиночки с вконтакта. Почему doc.DocumentNode.SelectNodes(".//*[@id='page_wall_header']") возвращает null?
Вот короч накидал себе примерное ТЗ, буду писать для прокачки себя, думаю уложиться месяца в 3. Какие могут быть подводные камни? Написать тулзу для копирования деятельности паблика вк(выкачивание постов, картинок, кто лайкнул, кто репостнул) добавить интерфейс для постинга, ложить это всё в бд, попробывать также прикрутить своё рассширение и многопоточность.
>>516185 (OP) Шарпобляди, нука пояснили чем парсить html. Пробовал htmlagilitypack, так эта поебень без документации, а по примерам не понятно нихуя ибо нюфаг. Даже необязательно DOM и прочую ебатень, просто надо выдернуть содержимое между двух тегов. Может есть какие-то алгоритмы без сторонних ебанутых либ?
ITT элита продолжает обсуждает будущее этого поистине прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Не забываем, что у нас скоро релиз C#6, вместе с Roslyn и RuyJIT
Visual Studio 2015 выходит 20 июля
Что почитать:
- 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
Прошлый тред тонет тут: https://2ch.hk/pr/res/507104.html