Короче пытался программно переключить раскладку клавиатуры в консоли и чет никак.
По дороге я узнал, что смена раскадки клавиатуры привязана System.Windows.Forms и требует такую же дллку. У меня теперь вагон сомнений нахуй так жить?
На стеке пишут, что для такой тривиальнной фичи нужно слазить в какую-то жопу винапи с малопонятными флагами, лол.
Еще интересный вопрос: пустое окно умеет само хендлить нажатия клавиш типа "альт+шифт" с последующей сменой раскладки или нужно самому писать такой обработчик. У меня нет обычной формы(это которая из Windows.Forms).
>>1231988 >А нахуй тогда C# вообще нужен? Некоторые предпочитают C# в вебе и энтерпрайзе. А вообще в основном это asp.net и поддержка приложений для десктопа, которые были написаны лет 10-12 назад на winforms и wpf
>>1231988 Игры на unity - единственная, на мой взгляд, область, где шарп действительно нужен. Если хочешь чего-то модного или перспектив в будущем - учи С++/Python/R - машоб, датасаенс, ai, computer vision - в общем если есть желание Js - фронтенд, бекэнд, мобилки, десктоп - все что пожелаешь
>>1231501 (OP) Решил стать программистом, но в этих ваших книгах мало того, что ничего не понятно, так еще и уныло. Я больше 20 страниц ну ни в какую осилить не могу. Поэтому решил перейти к практике и постигать вершины девелоперского мастерства с помощью уже написанного кода и вас (гуглить тоже не очень получается и долго).
И сразу же первый вопрос: поясните за ==++== и ==--==. Какой в этом смысл?
>>1232301 >Ну и нахуй тебе это надо? В смысле становиться программистом? Очевидно, что это не твое, раз уныло и непонятно. Да какая разница мое, не мое. Главное, что оплачиваемо, а там только научиться.
>>1232304 >Ничего не означает, это же коменты. Для давнов то оно, естественно, ничего не значит. Вот только писали эти комменты не для даунов, а для программистов, для которых оно что-то значит. Вот я и пытаюсь выяснить что, ибо чтобы стать программистом - нужно думать как программист.
>>1232286 >Я больше 20 страниц ну ни в какую осилить не могу. Концентрируйся, я тоже в первое время читал по 40, потом 80, сейчас по 200 за день. Но у меня опыт уже есть в других языках. Вообще, изначально бы какой-нибудь бейсик изучить, sicp там. >>1232328 Тут она нисколько не меньше.
>>1232331 >Концентрируйся А двач тогда зачем? >Вообще, изначально бы какой-нибудь бейсик изучить, sicp там. Такие же малопонятные буковки. Вообще живем в дикие времена, когда все языки исключительно текстовые, без всяких удобных и наглядных графических фич. >Тут она нисколько не меньше. Ну хз, вроде меньше. Куда не оглянись - кругом деграды со свисающей слюной, мямлящие что-то про питон и жс.
>>1232337 >Вообще живем в дикие времена, когда все языки исключительно текстовые, без всяких удобных и наглядных графических фич. Книжечки для детей иди читай тогда, во взрослой литературе с картиночками не очень, ну или сам себе всякое там рисуй. >Ну хз, вроде меньше. Просто среди двачеров они популярны.
Поцоны, делаю консольный менеджер сотрудников, пик стронгли релейтед. Кто-нибудь делал что-то такое, каким образом легче реализовать это? Как я вижу: 1) Делаем абстрактный MenuItem 2) Каждое окно - чайлд, в конструкторе Console.Clear() для очистки пространства и потом метод, генерирующий текущий экран. 3) Нужен бесконечный цикл, по нажатию клавиш соответственно вызываются методы. Только т.к. клавиши везде одинаковые, надо, чтбы это были делегаты, ссылающиеся на методы текущего объекта меню, при смене окна соответственно надо менять ссылки. Как-то так, жду советов и критики, спасибо
>>1232422 Все гораздо проще на самом-то деле. Выводишь свою менюшку и ждешь пользовательского ввода. Парсишь его и исходя из циферки, которую юзер ввел, выводишь данные. С делегатами, по-моему, заебешься. На плюсах была лаба примерно такой конструкции, было не так сложно.
>>1232422 >Нужен бесконечный цикл Не нужен. Я так понимаю тебя весь ввод детерменирует то что будет отображео на экране, поэтому нужно просто подождать пользовательского ввода через readkey(readline) и на него уже генерировать новый экран.
Бесконечный цикл будет нужен если у тебя будет какая-то обновляться инфа независсимая от основного ввода. ПрогрессБар.жпг
>>1232422 Очевидный шаблон Состояние. Делаешь интерфейсы окна - с виртуальными методами действий при входе и выходе из него и обработчиком клавиш; и интерфейс менеджера окон с методами запроса на смену окна и выхода из программы. Конкретный менеджер создает конкретные окна, и хранит текущее окно и пересылает ему нажатия клавиш ну и т.д., разберешься.
Сеньёры, подскажите как в wpf+MVVM правильно пилятся юзерконтролы. 1) Без использования ViewModel. Создаю свойство зависимости Text. Во View делаю привязку к свойству Text. Всё работает. 2) С использованием ViewModel. Создаю экземпляр ViewModel для моего контрола. Создаю свойство зависимости Text (внутри контрола). Создаю делегат propertyChangedCallback в нём обновляю соответсвуещее свойство во ViewModel. Во View делаю привязку уже к UsercontrolViewModel.Text.
>>1232776 > wpf Я вот не понимаю что мотивирует людей вкатываться в это говно? Десктоп мертв, это факт. C# актуален только для ASP.NET и NET.CORE. Ну еще для какого нибудь юнити. На хуя вы дрочите десктоп? Максимум куда вам светит потом с этим устроиться, это поддерживать легаси калл на винформах или впф. Не занимайтесь хуйней, не плодите тут тупые вопрос про десктоп парашу. Задрачиватйе ASP.NET или NET.CORE.
>>1232726 Тебе придется самому велосипедить нужную реализацию. Там нет ничео готового из коробки.
>>1232910 XNA да, а моногейм развивается немного. Стабильно раз в год выкатывают минорный релиз. Последний апдейт в прошлом году был, дохуя багов починили. Так-то их вместе пишут чтобы было понятно что это почти одно и тоже. Даже книги советуют по хне курить, для вкота в моногейм.
>>1233111 А моногейм не очень тяжеловесный? У меня иногда тяга соснуть хуйца сделать все по своему. Всегда тянуло к изометрическим играм, ну раз на XNA точно можно реализовать, то и Monogame такое должен позволять. Как-нибудь потом напишу себе tower defence или пвп в стиле одной игры.
>>1232738 >>1232715 Cпасибо, даже не подумал, что цикл не нужен, реально не нужен.
>>1233072 Вкатываться, очевидно же. Не все могут дома сидеть 2 года и дрочить язык до состояния возможности трудоустройства в нормальную контору и с нормальными технологиями. Тем более аспостек жирный, там и жс с его фреймворками надо знать относительно, и бэк с сисярпом. Я, например, тоже после полугода изучения пошел пердолить винформочки, чтобы кушать можно было, одновременно доизучиваю платформу и сейчас уже буду в апс въезжать.
Антоны, я более-менее выучил основы сишарпа по Троелсону, почитал Шилдта и потом собираюсь прочитать что-то еще более серьезное. Но сейчас меня больше интересует ASP.NET, что по нему можно прочитать, книжки из гайда не устарели?
>>1231948 Вроде как у консольных приложений вообще особо сведений о клавиатуре как таковой нету, тем более об раскладках. Так что для отлова клавиатурной хуйни поди потребуется качать внутри нее очередь сообщений (то бишь запускать WinForms или WPF Application и вешать KeyboardHooks)
>Где его регать блат? Я хз, но там есть ValueProviderAttribute для того чтобы зарегать свою фабрику фабрик могущую задетктить кастомный IValueProvider.
>>1231948 В чем проблема подключить ассембли, вписать using system.windows.forms и радоваться жизни? Там дальше для этого есть класс, заправляющий всей этой шелупонью
Хочу вкатиться в C#, сам ничего не знаю о программировании. С# потому что посоветовали в интернетах. Посоветуйте книгу или канал, чтобы не нудно и простым языком описывался яп, обучение было с самого нуля.
>>1233863 metanit.com + обязательно практика: придумывай себе задачи, проделывай то же самое, что в главе. Если что-то непонятно или возникают вопросы -- ищи на них ответы, ищи на других ресурсах. В общем-то очевидные вещи
P.S. Сам шарпист и топлю за него. Есть куча приятных плюшек, оберток, скажем так, но это может новичка запутывать. Так что можешь посмотреть еще в сторону джавы.
Хочу прикрутить Lua к программе на шарпе. Пилю систему ивентов для своей игрушки. И вот я немного не понял - чтобы использовать NLua мне нужно обязательно накатывать адски большую и тормозную Студию, чтобы собрать его?
>>1233882 Там майнер месяц назад был, не знаю, как сейчас.
>>1233863 С# in a nutshell просто охуенна для новичка ящитаю, плюс на метаните примеры годные, но там коротко достаточно. Параллельно очень полезно читать Рихтера - clr via c#, если тебе реально интересно программирование, а не ради 300кк/сек, там очень интересно описано, как все реализуется со стороны clr, плюз реально начинаешь понимать, где что лучше использовать в зависимости от нужд.
Аноны, хочу вкатиться в VS Code. Чому с этим говном столько пердолинга? Банальный хеловорд исключение кидает, см пик. Что за нах? В нем только в под кору можно писать? То есть онли консолька и асп.нет, а десктопные окошки - хуй?
>>1234664 >Потому что у тебя консоль отладки имеет out, но не имеет in, вот тебе и ответ на твой вопрос Пиздец, а нахуй мне такая консоль вообще нужна тогда? Как в VS Code нормальную консоль запускать?
>>1234664 >>1234672 >The debug console is output only. Охуеть, и зачем мне вообще нужна такая иде, если я не могу ей нормально пользоваться? Что за приложения я должен дебажить, которые совсем не используют ввод? Что это за пиздец такой?
>>1234558 Ебать, и экзешника нигде нет, чо это вообще за параша? >Ррррряяяяя, студия слишкам сложна, нате вам >Все через жопу и нихуя не работает, чето пердолить и дрочить напильником, вместо того, чтобы программы писать.
Читаю и охуеваю просто. Мотивация прям в пизду улетела. Потом вспомнил что уже работаю за $3.5к в месяц в среднем. И сразу так хорошо стало!
устроился без опыта. Просто повезло. Был выбор в этой компании писать ультрасовременный бекенд на коре с микросервисами и прочим но я выбрал поддерживать код 10летней давности т. к. платят больше. Учусь собственно всему что нужно в свободное время, иногда на работе. Чую таким темпом нагнать коллег из соседнего отдела нереально. Но зато ниша не будет мёртвой ещё дохуя лет, а значит я обеспечен.
Читаю шилдта и сейчас дошел до 9 главы "Перегрузка операторов" есть ли смысл новичку в шарпе читать подобные главы? например скипнуть главы "индексаторы и свойства" и "Перегрузка операторов" или стоит все подряд читать
>>1236653 дропнуть на первое время можно какую-нибудь рефлексию, сборки, сетевое программирование, всякие wpf/forms/asp.net/ef тоже пока можешь дропать, но в итоге все равно надо будет изучать
>>1236829 Определяет пересечение отрезков A(ax1,ay1,ax2,ay2) и B (bx1,by1,bx2,by2),} { функция возвращает TRUE - если отрезки пересекаются, а если пересекаются } { в концах или вовсе не пересекаются, возвращается FALSE (ложь). Не благодари.
(ax2-ax1) - длинна первого отрезка в проекции Х. (by1-ay1) - разность между первой точкой отрезков в проекции У. Фактически это равно определению координаты точки by1 в системе координат задаваемой парой точек (aу2-aу1)
(ay2-ay1) - длинна первого отрезка в проекции У. (bx1-ax1) - разность между первой точкой в проекции X.
В чем суть? Векторное блядь произведение, епта. Есть некотрый вектор задающий пространство прекции для первого отрезка a = [ (ax2-ax1), (ay2-ay1) ] Есть точка другого отрезка b =[ (bx1-ax1), (by1-ay1) ]
Векторное произведение даст результат выше или ниже нашей плоскоти проекции находится точка. Для двухмерного случая считаестся очень просто: v = ( a.x b.y - a.y b.x )
А теперь суть игры: отрезки пересекаются если пересекаются их проекции. Значит нам нужно проверить векторным произведение 4 точки концов отрезков и если все окажутся "выше" плоскости отсечения (внутри проекции отрезка) значит отрезки пересекаются.
Двач, а поясни, зачем в C# есть виртуалка как в Java? Ведь в Java она нужна для кроссплатформенности, а в C# её не очень много и те же кресты без виртуалки кроссплатформеннее чем C#
>>1237297 Гугли .net core. Алсо читал книгу которая вышла в начале двухтысячных, майки и тогда пдвнировали сделать сярп кроссплатформенным. Но че то обосрались
>>1237348 Нет конечно, лол. У меня месяцев 8 ушло (на самом деле 1.5 года, но я делал перерывы >месяца). Но я так и не вкатился, прошёл несколько собеседований и нужно было чуть подтянуть sql, линк. Но потом на текущей работе узнали о моих коварных планах и подняли зп, так что я забил. А вот прошёл год, я опять понял почему меня тошнит от своей работы и вернулся сюда. Вкатывался к слову в асп. Алсо может подскажете чего, я вроде и знаю всё, но уверен что-то забыл. Начал читать натшелы и пр. и блядь прям засыпаю, когда перечитываю ту хуйню которую уже знаю, но и скипать не получается, боюсь что-то проебать. Что в моём случае лучше почитать? Планирую Рихтера, тогда я до него так и не добрался.
Антоны, как сделать изометрическую карту с помощью Rectangle? Вот у меня есть метод, что строит изометрическую карту на основе Vector2, можно ли как-то переписать под Rectangle? Я пробовал напрямую заменить, у меня все криво начало рисоваться, могу запостить.
Шарпаны, что посмотреть/почитать крутого по mvvm применительно к wpf? Чтоб там приложение с базой данных работало из нескольких таблиц, ещё там в процессе что-то высчитывало на основании данных в таблицах и т.д.
>>1237526 Я как-то давно делал поле с вот такой плиткой на первом пике.
Плитка это для отображения это просто прямоугольник на первом пикрелейте. У него координаты были с человеческим шагом 50f вдоль изометрических осей - т.е. это был обычный массив, но отображался он "повернуто".
Внутренние кординаты сетки назывались мированые и начинались в верхнем углу и шли с шагом тайла(50f).
Чттобы правильно считать всё это непотребство я нахерачил дикий ковертер кординат, который берет нормальные сеточные кординаты и преобразует их в экранные. А еще он умет правильно считать мышку с учетом камеры в мировых координатах - это чтобы можно было что-то выбирать.
И да, нет никакой сортировки по видимости, но все спрайты рисуются сверху-вниз слева-направо. Может ее никогда бы и не потребовалось, но прикрутить ее можно, так как можно превратить любые мировыен кординаты тайла в экранные и отсортировать.
>>1237677 >50f Вот это забыл пояснить. Тайл это такая хуитка у которой размеры связаны как (2х, y). Смотри на первый пик выше, его размер (70, 35), а оригинальный размер после преобразований координат (50, 50). Просто соблюдай пропорцию для получения любого шага сетки.
>>1237701 >Смотри на еблю с координатами. Посмотрел, ну и извращения у тебя там с координатами, но все тайлы одинакового размера, как я вижу, а мой код умеет в совмещение тайлов разного размера. Но я уже все решил, в целом, можно и через Point и потом все в Rectangle. Посмотрел, ну и извращения у тебя там с координатами, но все тайлы одинакового размера, как я вижу, а мой код умеет в совмещение тайлов разного размера. Но я уже все решил, в целом, можно и через Point и потом все в Rectangle. Это наверное и не понадобится, я сейчас пытаюсь алгоритм поиска пути прикрутить, может и смогу обойтись.
>>1237772 Сети, хотя бы базу. Шардирование, разбиение на фермы, фэйловер. СУБД на уровне «могу через голый SQL базу создать, настроить отношения и хранимки написать». EF хотя бы, куда без него. Из самой цесарки не столько интерфейсы и делегаты, сколько наследование, встроенные типы и методы, перечислители (enumerators, там ещё и сопрограммы через yield) и челноки(iterators), LINQ, аттрибуты, сборки и метаданные, а в последние лет пять ещё и асинхронщина. Если собираешься серьёзное что-то делать, например хороший фильтр для магазина — деревья выражений, куда без них.
>>1237784 >совмещение тайлов разного размера Вообще непринципиально. У меня тайл тоже можно выводить любого размера в любом мнесте карты(там нужно подкрутить только режим смешивания спрайтов), потому что это не клетки, а непрерывная сетка. Одинаковый размер изначально нужен чтобы ровно и без стыков закрывать поле базовым слоем.
>алгоритм поиска пути прикрутить А звездочку бери. Для начала она подойдет, а потом ее заменишь А звездочка джамп, а затем если совсем огромное поле будет обмажишься А звездочка джамп с регионами доступности.
>>1237788 Я вроде и согласен со многим, но - "Шардирование, разбиение на фермы" ? "деревья выражений" - это достаточно серьёзная штука, точнее да - для любых фильтров ты должен знать это - но такую штуку уже после вката нужно смотреть, если человек спрашивает про интерфейсы, делегаты. Просто это явно не основы, лучше отложить на потом, подналечь на что то более общее
По работе пришлось столкнуться с смц umbraco. Основы понял. Там также используется razor, посоветуйте литературы по razor и основам asp, чтобы можно было за недельку вкатиться в свободное описание этих razor страниц. Спасибо.
Пытаюсь изменить поля элементов листа в цикле через for(int i = 0; i < list.Count; i++) и list.field = x;, но измененные элементы будто копируются и смещают остальные, хотя list.Count не изменяется. Костыль в виде создания Dictionary<T, V> applyAfterTheLoop работает, но хотелось бы менять значения полей прямо в цикле. К тому же, если бы нужно было изменить несколько полей, то пришлось бы делать несколько словарей. Есть идеи, как модифицировать элементы в цикле?
>>1238589 Ты сам список меняешь штоле? В моем коде еще Dictionary<T, V> есть, чтобы сохранить и позже восстановить значение: Dictionary<T, V> dict = new ... for(int i = 0; i < list.Count; i++) { dict.Add(list, list.field1.field2); list.field1.field2 = x; }
dict.Add выдает ошибку, что вхождение с таким ключом уже есть. Если закомментить строку с изменением поля, то все нормально. Если в самом начале цикла выводить уникальные номера элементов (зашиты в сам класс), то без этого присвоения все выводятся по одному разу, а с присвоением измененный элемент повторяется, причем его индекс не + 1.
>>1238596 нет, индексы [i.] тут как тег наклонного текста распознаётся. Кароче хз зачем ты словарей тут наебашил, но это работает. for(int index=0;index<list.Count;index++) list[index].field=x;
>>1238617 Никак не объявлял, сразу присваиваю: list[index].field = x; Прикол в том, что иногда если я делаю list[index].field = x, то почему-то list[index] заменяет list[k], то есть получается, что в цикле я обрабатываю сначала нулевой элемент, потом первый, потом второй, а потом снова нулевой. (int id = list[index].Id) Если поле не менять, то элементы обрабатываются по порядку, каждый только один раз.
Если я меняю не в самом цикле, а после него через словарь, то все меняется и обрабатывается нормально.
>>1238675 Да, так все и есть, проблема решена одной строкой: List<T> list = new List<T>(c.List); вместо обычного List<T> list = c.List; В рот ебал чужой код и эти сеттеры-геттеры, столько времени на такую мелочь убил.
>>1238744 Раньше list был рефом оригинального списка - при перестановке элементов (которая происходила в результате действия одного из сеттеров) внутри оригинального списка соответственно переставлялись элементы и внутри list. Сейчас при перестановке оригинального списка порядок list не меняется и я в цикле могу пройтись по всем элементам, которые являются рефами элементов оригинального списка.
Допустим есть класс и есть интерфейс с двумя методами - onSuccess и onError. Класс имплементирует этот интерфейс и передаёт ссылку на себя в метод другого класса, который делает какую-то работу и вызывает этот коллбек. Собственно мне надо как-то реализовать имплементацию коллбека. В джаве это можно просто сделать через создание анонимного класса (ну или лямбдой). В си шарпе я гуглил и нашёл чёто про делегаты, но нихуя не понял как это реализуется когда методов больше одного. Есть у кого может пример подобной хуйни?
csc может в оптимизацию вида замены локальных переменных с предсказуемым изменением? У меня есть "форма": int x = 20; int y = 20; drawButton(x, y); ... x = x + 40; drawButton(x, y); ... и так далее.
x и y всегда меняются на фиксированные значения, я бы мог вручную значения числами писать в параметрах, но это не гибко.
Нахуя нужны интерфейсы? Вот практический пример может кто-нибудь привести? Сколько не читал, все какая то поебень, нахуй не нужная на практике. Типо, пишешь интерфейс, в котором перечисляешь методы, а потом создаешь класс, который эти методы реализовывает...ммм...и нахуя?
>>1239466 В ООП интерфейсы - это такие таблички с записями о том, что объекты имплементирующих классов умеют и чего от них можно ожидать. Без них с объектами особо не повзаимодействуешь.
Практический пример - сохранение: У тебя может быть куча самых разных объектов с совершенно разным поведением, но если их классы имплементируют интерфейс ISaveable с методами save() и load(), то они всегда смогут указать какую информацию и как сохранить или загрузить.
>>1239473 >что объекты имплементирующих классов умеют и чего от них можно ожидать. Эммм, открыл класс, да поглядел, чего он умеет. >но если их классы имплементируют интерфейс ISaveable с методами save() и load(), то они всегда смогут указать какую информацию и как сохранить или загрузить. А что, без ISaveable я не могу так же точно создать пять классов с методами save() load()? Могу. Зачем городить интерфейс? >для полиморфизма, дурачок. Либо объясняйся, либо извиняйся.
>>1239490 > А что, без ISaveable я не могу так же точно создать пять классов с методами save() load()? Могу. Зачем городить интерфейс? А ISaveable pizdaZalupa = new Zalupa(); pizdaZalupa.save(); сможешь для пяти разных классов сделать, а не только для залупы?
>>1239490 >Эммм, открыл класс, да поглядел, чего он умеет. Класс ничего не умеет.
>А что, без ISaveable я не могу так же точно создать пять классов с методами save() load()? Могу. Зачем городить интерфейс? Представь, что у тебя тысяча классов: тебе либо придется наследовать все от одного и оверрайдить методы (а это не ООП), либо несколько раз писать одно и то же, а потом еще как-то узнавать умеет объект нужное или нет. А теперь представь, что тебе придется заменять таким способом сразу несколько интерфейсов.
>>1239492 >сможешь для пяти разных классов сделать, а не только для залупы? Бля, а в чем сложность? Class1 class1 = new Class1(); class1.Save(); И так для каждого из пяти, в чем проблема? >Класс ничего не умеет. Ну чего к словам то доебываться? НУ экземпляр этого класса. >Представь, что у тебя тысяча классов Представил. Дальше почитал, все равно не понял. Вот есть интерфейс с методами сейв и лоад, вот есть тысяча классов, которые реализовывают сейв и лоад, каждый по своему. Ну, и зачем мне здесь интерфейс? И как он мне поможет, если мне надо будет у двухсот классов метод сейв изменить? >Курсы по Asp.Net на metanit подойдут для вката У них ведь там все описано, на первых порах тебе выше крыши хватит, чтобы вкатиться. Я систему отчетов на асп.нет ебашил читая именно их сайт.
>>1239536 >Ну, и зачем мне здесь интерфейс? И как он мне поможет, если мне надо будет у двухсот классов метод сейв изменить? У тебя есть десять экземпляров класса Class1, десять класса Class2, ..., десять класса ClassN. Как ты их будешь сохранять?
>>1239567 Ты заебал. У тебя мышление процедурщика. Небось в школе паскалю учили? Иди читай про ООП.
Классический пример со списком, например. У тебя есть интерфейс List, ты можешь сделать Array List и Linked List. Твоей функции работающей с List будет все равно как именно реализован интерфейс твоего списка. Это полиморфизм. Понятно? Это называется абстрактные типы данных. Процедурным кодом так сделать нельзя.
>>1239569 >При том, что программа точно знает, что объект это умеет. Программа не скомпилируется, если объект этого не умеет. >Твоей функции работающей с List будет все равно как именно реализован интерфейс твоего списка. Да это ты заебал, объясни толком. Нахуя эти абстрактные типы данных нужны? Такое чувство, что сами нихуя не понимаете, а определения выучили. Есть IMyInterface, у него метод Sosad(), есть класс MotherMyEnemy, в нем реализован метод Sosad(), нахуя этот ебучий интерфейс нужен? Для чего, блядь? Ну создал я 30 экземпляров этого класса и запихал их в список, потом foreach и каждый экземпляр у меня сделал Sosad(). Нахуя интерфейс? Для чего мне абстрактные классы?
>>1239567 Вот пример var allItems = new List<ISavable>(){new Class1(),new Class2(),new Class3(),new ClassN()}; foreach(var item in allItems) item.Save();
>>1239593 >Ну создал я 30 экземпляров этого класса и запихал их в список А ты создай 30 экземпляров различных классов и запихай всё в список.
>>1239466 Нахуя нужны протоколы? Вот практический пример может кто-нибудь привести? Сколько не читал, все какая то поебень, нахуй не нужная на практике. Типо, пишешь протокол, в котором перечисляешь методы, а потом создаешь реализацию, который эти методы реализовывает...ммм...и нахуя? Глупые взрослые.
Почему сборщик мусора не вызывает Dispose() у IDisposable если объект подлежит утилизации? Интересуют причины формально-технического плана, если такие есть. Я понимаю что в воспитательных целях всегда требуется что бы пользователь его вызывал явно, а GC никогда этого делать не будет, ное сли бы было по другому что бы это могло поломать?
>>1231501 (OP) Кароче дали мне тестовое задание, очень необычное. Надо из https://openweathermap.org/api вставить погоду рандомного города в Text. Делаю по гайду https://www.youtube.com/watch?v=k91jTTdr0GM , но для чтения json надо библиотека Newtonsoft.Json. Я её скачал, всё норм, но через 5 минут она просто слетает, я починил, а теперь юнити просто ругается на строку using Newtonsoft.Json; и не хочет компилировать скрипт в проекте. Уже задолбался с этим. Может кто то сталкивался с похожим и знает как чинить? Или просто сказать HR-ру что задание бредовое и в юнити оно не работает?
>>1239834 - В верхнем левом углу разместить вывод погоды используя сервис https://openweathermap.org/api . Когда шарик долетит до точки, нужно вытянуть рандомный город, погоду, описание погоды и все это отобразить. Формат следующий: a) первая строка НАЗВАНИЕ города, пробел, ПОГОДА (в градусах цельсия) b) вторая строка ОПИСАНИЕ погоды для этого города. - В нижнем правом углу, разместить лог всей погоды (город + температура + описание погоды) в ввиде небольшой таблицы, которую можно проскролить и просмотреть.
>>1239466 Вот тебе пример. Entity Framework генерирует классы на основе табличек. А ты хочешь, чтобы у всех этих классов был метод ShowMeta(), который возвращает набор полей класса. И этот метод ты хочешь вызывать в каком-то репозитории, в котором есть свойство типа любого класса, генерируемого ef-ом. Для этого ты создаешь интерфейс IEF, в котором говоришь, что у всех классов, которые его реализуют, есть метод ShowMeta(), а потом пишешь все partial-классы, которые сгенерировал EF где-то в отдельном месте и реализуешь этот интерфейс. Вуаля, теперь все твои классы имеют этот метод, который ты можешь реализовать там, где хочешь. А в репозитории, который у тебя один на все сущности, есть свойство с этим типом IEF, вот ты для него и будешь вызывать этот метод.
Анон, доставь, пожалуйста, сервер активации для решарпера. Пробовал http://xidea.online/servers.html - ни один не заработал. Удаление 9656c84c-e0b4-4454-996d-977eabdf9e86 в реестре не помогает.
>>1239760 >Типо, пишешь протокол Я бы таким пальцы рубил. Сука, пидор ебаный, тебе дано уже куча протоколов бери и юзай, нее, свой хочу навелосипедить, так бы и харкнул в морду. Мимоасушник
>>1239844 >Entity Framework генерирует классы на основе табличек. Не пизди, нихуя он сам не генерирует. Ты ручками пишешь класс, который повторяет таблицу. Если таблица содержит колонки ид имя длина хуя, то ты пишешь класс, который содержит свойства ид имя длина хуя.
>>1240156 Есть 3 варианта-Code First, Model First и Database First. В последнем варианте именно по табличкам БД генерятся модельки а потом и код для взаимодействия с ними.
>>1231501 (OP) Поясните ньюфагу филосовский вопрос - как совладать с кастомными модулями/библиотеками nuget (первый раз туда лезу)? Вот мне надо допустим надо просто чекать есть ли файл/в файле архив и поврежден ли он и как именно с проверкой на тип файла можете проследовать нахуй. https://www.nuget.org/packages/SharpCompress/ https://github.com/adamhathcock/sharpcompress/blob/master/README.md Где тут документация? Где почитать что куда нажимать? может я ебусь в глаза Или мне надо руками копаться и изучать их сурсы? Как тут вообще принято?
Парни, по работе придётся допиливать немного десктоп приложение бывшего сотрудника на шарпах, но я в этом ноль. Реквестирую источники информации по шарпу, но не книги, ибо слишком долго, нужно быстро научится читать код чужой и вносить изменения
Учу шарп 2 месяца, и прогать вообще не получается. Методы более-менее норм выходят, а как классы выделять - вообще непонятно. Читаю книгу - вроде норм, все понятно, никаких проблем, а на практике, если нет образца или схемы - ебашу все в один класс и не понимаю, как делать по-другому. Вот сегодня целый день писал консольную приложуху, парсящую ссылки в текстовых документах и скачивающую файлы по этим ссылкам на комп. Я думал за час управиться, а в итоге провозился больше пяти. Почти весь код у меня в основном классе, около 200 строк, под конец написания я в нем уже еле разбирался и путался, хотя, повторюсь, написал его сам вот только что и даже немного прокомментировал. Постоянно все забываю, приходится гуглить не только какие-то неизвестные мне функции, но и буквально такие вещи как, например, объявление массива, списка или свойства. Хотя учил все это совсем недавно. Многие даже вполне очевидные вещи делаю через жопу и там, где можно написать три простых строки - я использую десять запутанных, причем не из-за незнания, а вообще хз почему, после взгляда на правильный вариант просто поражаюсь, как это я вообще додумался городить огород в таком очевидном месте. Но на следующий день в похожем месте я опять начинаю городить огород. Еще быстрые клавиши все никак не получается запомнить.
Как со всем этим бороться? Или просто программирование - это не мое и проще чем-нибудь другим заняться?
>>1239999 В том, что если сделать ручное управление в автоматической системе, то теряешь в производительности. Или одно, или другое. Dispose нужен в первую очередь для освобождения ресурсов по выходу из их родного стека, например, т.е. автоматизация ручного освобождения. И под ресурсами подразумевается не столько память, сколько соединения, подключения, контексты и потоки. Дожидаться их закрытия через финализаторы значит ждать, когда GC соблаговолит заняться освобождением данного объекта, а это не только может быть долго, но и небезопасно, потому что ты можешь успеть завершить свою работу с ресурсом и начать её с ним вновь, а предыдущее соединение всё ещё висело бы открытым.
Всё равно не понятно. Допустим объект в управляемом смысле готов к уничтожению и является IDisposalbe. Логичено же перед его уничтожением вызвать dispose если это не было сделано, ничему это вроде не противоречит и хуже точно не станет.
>>1240623 >Dispose нужен в первую очередь для освобождения ресурсов по выходу из их родного стека, например, т.е. автоматизация ручного освобождения. Disposable достаточно бесполезная штука, которая кроме using () нигде и не используется. Нет практического применения этому интерфейсу. Зачем нужно передавать IDisposable в методы и классы?
Где можно глянуть (возможно какие-нибудь готовые проекты), как реализовывать свой код при больших данных? Например, для того же MVVM. В гугле по запросам "mvvm architecture" и подобным выдаются только сайты, где объясняют для самых маленьких, что это такое, но нигде не написано, как правильно организовывать код. Где хранить одно, где другое, по каким классам все распределять и т.д. Просто нахуячить вьюмоделек с командами в один файл я могу, но понятно, что в больших приложениях код превратится в ебаное нечитаемое месиво. Есть такие, кто занимается этим? Где вы этому научились?
>>1240681 ЕМНИП Dispose всё же отрабатывает по выходу из блока. Передача бывает нужна, но она идёт по ссылке, т.е. обычно копирования не бывает. IDisposable — это местный вариант RAII, если подумать.
>>1240626 Dispose руками дёргать не надо, он не для этого создан. Он сам дёрнется, когда будет выход из using (или, возможно, из контекста). И ты не понял — Dispose это не про объект, а про ресурсы, которые тот будет держать.
Здорова, комрады. Скажите, как бороться с антивирусами, которые ругаются на мой софт. Вредоносного кода не присутствует. Но софт стучит на провереный сайт, чтобы парсить информацию оттуда. Слышал подпись сертификатом должна помочь. Так ли это ? Может был у кого опыт.
>>1240880 Не уверен, что антивир ругается именно на тот твой кусок кода, который стучится на сайт. Попробуй написать маленькое консольное приложение, которое будет уметь только лазать на сайт и доставать оттуда данные. Инфа сотка, что антивирус такое спокойно пропустит.
>>1237348 я учил 1.5 года и в итоге мне сказали, что на девелопера я не тяну но потом сразу же предложили вакансию автоматизатора ну а хули мне я и не против селениум задрочил за 2 недели и вперед
>>1242103 ViewModel — промежуточная модель, исполтзующаяся для вывода. В общем случае заводи рядом с папкой Models папку ViewModels и кидай их туда. Преобразования можешь держать в 1) контроллере 2) отдельном классе 3)прямо во вьюмоделях
Антон, вот прошел я курс по Asp.Net MVC 5 на метаните, сам сишарп знаю по Троелсону и Шилдту, планирую начать читать Рихтера. Чо мне дальше делать, как опыта набраться?
>>1242412 >Уже? Разве этого стека технологий хватит? Так хули ты тупишь то. Устраиваешься на работу и учишь уже те технологии и библиотеки, которые нужны для работы. Или ты хочешь все-все, блядь, выучить?
>>1242422 Просто иди и пробуй воткнуться, заливай в случае чего, что ты со всем сможешь разобраться, если будут пробелы по знаниям(а они всегда есть). Как анон выше написал - устроился джуном, и продолжаешь селфдевиться, изучать. Одно другому не мешает, а так еще и опыт будет и деньги. Пусть и в галере какой-нибудь с легаси говном возиться будешь - поработаешь там, подкачаешься и съебешь в норм место.
Сап до-диезники, как нажать на кнопку в хтмл странице через сярп (и заполнить поле)? Пишу на net core так что всякие Windows.Forms не предлагать. Заранее спасибо за ответы.
>>1242542 Что хочешь, то и пиши. Конторе энивей поебать будет. Я когда работу джуном искал, написал оч подробный асинхронный парсер ххшечки с выгрузкой данных в csv и скидыванием на почту обновлений, потом прихуярил туда еще несколько ресурсов, потом гуй, обернул все юнит-тестами, продокументировал код. Получилась говнистая портянка, но я ей гордился.
Так что пиши, если хочешь. Просто будет что рассказать на собесе, о своем "опыте" и проекте, но впечатления это вряд ли произведет.
скажите, как мне делать эти внешние ключи к одной ебучей сущносте? у меня есть несколько моделей, у которых есть поля "СделаноКем" и "ИзмененоКем", и они естественно должны ссылаться на модель "Пользователь". Мне что нужно, в пользоветеле писать списки Создателей и Изменивших на каждую модель, и через флюент-апи делать сраные ключи? или быть может я в шары ебусь и не вижу очевидного решения? подскажи, анан
Что за говна эти дебилы нахуевертили в VS2017 и ASP.NET core? Рукожопы хуевы. Создал новый пустой проект ASP.NET core, там уже хеловорд у них есть, ладно думаю, запущу, погляжу. Выбираю запуск IIS Express, начинают валится вопросы о сертификатах ssl, ставлю галку больше не показывать, принимаю все, да, говорю, выдать сертификат. В итоге открывается браузер и показывает мне хуй, как на пике. Вы че, ебанутые? localhost мои данные похитить пытается? Крыша потекла? Дебилы, бля. От версии к версии вместо того, чтобы упрощать, все усложняют только. Аж триседЪ. Как это говно пофиксить, чтобы можно было нормально работать?
>>1242826 >Дополнительные тыкни и разреши подключение. И чо, сейчас каждый раз он будет небезопасным у меня? Да чо за хуйня, они чо, блядь, охуели? Разъебают или в самом деле? Хули https все равно перечеркнут? Я ща накидаю отчетов в этом говне и чо, у меня пользователи моей локалки будут сидеть с перечеркнутым https?
Поясните мне такую вот хуйню про свойства. Есть класс, вот у него свойство на пике. Нахуя это городить? public string name и все, бля. Не, ну я понимаю, если надо, чтобы можно было только получать имя, типо сет не написал и все хуй сосут. Либо, при получении имени еще чего нибудь происходило, что в гет можно запихать, тут все ясно. Но в данном конкретном случае нахуя?
>>1242946 >Ответы на твои вопросы Ну, так я то же самое и спросил. Если не брать в расчет добавление какой либо логики или опускание одного из свойств, то нахуй городить то это все, вот в данном, конкретном примере зачем захламлять код свойствами этими?
>>1242964 Так принято. Чтобы было ЕДИНОБРАЗИЕ. Не зря авто свойства сделали. Тот кто пользуется твоим кодом не должен и не хочет знать у тебя там просто return name или еще какая-то логика.
>>1242938 Пиши string Name {get;set;} В .NET принято (но не навязывается) выставление публичных полей у классов (не у структур!) свойствами, потмоу что полиморфизм — сегодня у тебя Name просто строку возвращает, а завтра внутри может быть сложное получение, логгирование или ещё что-нибудь вида Name {get {return _firstName + _lastName;}}
я нихуя не понимаю есть у меня три модели, и нужно сделать отношение один к одному. делаю по гайду, и вот что получается https://ideone.com/hyLhBN . Вроде у левых появлятся айди Person, но нихуя не работает правильно, из Person я не могу получить ни Other, ни Relative, но из Other получить Person я могу. ну и я сделал наоборот https://ideone.com/8jo2ii , и ровным счётом нихуя не поменялось. чё за дела, анон, чяднт
>>1243420 >Уже вышла версия 2017. Я в курсе, уважаемый. Какие типы мне будут недоступны? По фреймворкам 4,6,1 доступен, я вообще под 4,5,2 пишу, так что похуй.
Антоны, поясните в чем принципиальное отличие в Entity framework между database first, code first и model first. Вот смотрю я урок по database first, добавляем базу, по базе строим модель, контекст данных, разве не тоже самое делается при применении code first к имеющейся базе данных? И в чем разница с применением code first и model first, в подходе code first мы ведь тоже пилим модель и по ней база данных делается, как в model first. Я запутался.
>>1243455 Ладно. Гляди: >database first У тебя уже есть бд или ты сначала создаешь бд, а затем она тебе модели генерирует на основе своих таблиц. >code first Ты сидишь и пишешь ручками модели, а потом генерируется БД автоматически. >model first С помощью VS ты просто тыкаешь мышкой в кнопки и создаешь модели не печатая код руками, а через интерфейс.
>>1243475 >Спасибо. Да не за что. Я всегда code first использую. Если честно нихуя не помнил, чем он от остальных отличается. Но открыл да почитал, времени заняло минуту. Где тот дебил, который джва часа бы видосы смотрел для этого? Поссать бы ему на ебало и в трахею насрать.
>>1243481 Ну все просто читать когда ты уже что-то знаешь, а вот в первые разы внимание довольно быстро расфокусируется и начинаешь уставать, поэтому я все чередую с короткими видео по теме, правда смотрю их в скорости 2.0 Некоторые люди и на 2-х часовые лекции по питону ходят. Представь, собирается целая аудитория и какой-то заебанный зануда-хуесос без признаков харизмы монотонно зачитывает информацию.
>>1243494 >Ну все просто читать когда ты уже что-то знаешь Да причем тут знаешь? Я ж говорю, работал только с code first. Открыл метанит, раздел про еф, про каждый подход отдельный подраздел, в начале каждого рассказывается чем он отличается от других. Вот из моей выжимки ты же понял в чем разница, да? Хотя раньше и не мог понять.
>>1231501 (OP) Бля, помогите. Пытаюсь получить из текстБокса число через Convert.ToInt32 или int.Parse. Выдаёт ошибку "System.FormatException: "Входная строка имела неверный формат."" Как исправить? Ввожу всегда только числа, без знаков
>>1244031 Простите. Дописал ToString, ошибка всё та же. Ещё попробовал int.TryParse, в итоге number всегда равен нулю Хуй знает что делать, вечно на какой то мелочи сижу и пытаюсь чинить несколько часов
>>1244109 Это ты параша не рабочая. Так бы сразу и сказал, что из юньки перекатываешься. Неумеха, бля. Чо такое Form.Numbox? Ты с этим разберись. Где ты такой класс в msdn увидел, маня?
Вынуждено перекатываюсь на сисярп с джавы. Не то что бы я был знаток джавы, но в как бы зню только кор.
У меня вот вопрос - в чем прикол вот это концепции солюшенов и проджектов? В джаве создал один проджект и все - ебаш. А тут блядь можно несколько проэктов в солюшене иметь. Нахуя это вообще?
>>1244489 Готового решения не осталось, оно было не очень хорошим, если честно Из основных требований, помимо описания тонкостей функционала, обязательно использование PartialView, HtmlHelper, DisplayTemplates, EditorTemplates Хранение данных - mssql Сейчас у нас другое тестовое задание
Всем привет 19лвл мне интересн язык c# изучаю его месяц И через 1.5 года моя учеба в шараге кончится и жизнь ебанет мое ебало об самостоятельность. И такой вопрос что мне учить и куда стремиться чтобы с затратами 2 часа в день мало времени из-за колледжа спустя желательно 1год 1.5 года я бы смог заработать 20-25к в месяц, не хочу подохнуть от голода.
>>1244864 А если ты изначально не знаешь, что такое система электронного документооборота? Я вот в душе не ебу что это и для чего оно нужно, тебе так и сказали "напиши нам систему электронного документооборота"? >Сейчас у нас другое тестовое задание Поделишься?
>>1244973 Я так понял, это база с шаблонами, позволяющая в формочку ввести необходимые поля с последующей генерацией заполненного документа. Например, выбираешь заявление на увольнение, вбиваешь фио, должность, и приложуха генерирует документ.
>>1245179 Читаешь простенькую книжку типа "Players guide to C#", находишь бесплатную стажировку на пару месяцев(обычно на веб-макаку) и работаешь себе. Но на JS спрос больше.
>>1245211 > Но на JS спрос больше. Ну не скажи. На жс, говорят, новички прут пачками, и даже если пробьешься - зарплата 15к будет по началу. А вот на шарп резюме поменьше, меня в 4ю контору после интервью на 60к взяли. Причем сказали выходить через неделю, и в эту неделю я еще на три собеса сходил и получил предложение на 50к.
>>1244973 Ну требования к функционалу тоже были конечно же дай почту для тз >>1245148 Ну как часть функционала, но все немного шире: контроль версий, экспорт/импорт, взаимодействие между пользователями, комментарии, права доступа... По сути хранилище для документов
>>1244838 потому что это очень сексуально. Меня возбуждает много проектов в одном солюшене. И под тесты обязательно делай отдельный проект мммммм да детка
>>1245963 Теневая переменная (которая опять же по негласному соглашеню будет _name, а не name) будет создана автоматически. Главное, что снаружи у тебя будет просто Name, а внутри — что угодно, хоть _name, хоть get{ return new Xyй().ToString(); }.
>>1246278 >Теневая переменная (которая опять же по негласному соглашеню будет _name, а не name) будет создана автоматически. Да ладно? То есть в методе класса я смогу писать что-то, типо, _name = "hul"; нигде явно _name не объявляя? Вроде по негласному правилу Name - имя public переменных и свойств, name - имя private переменных. А с _name, каждый ебется как хочет. Например, я в конструктор пихаю, типо public Class(string _name) name = _name;
Ананасы расскажите, как правильно писать маппер объектов модели в их обертки для гуи? К примеру есть классы фигур в модели, всякие Square, Circle, Rectangle, которые наследуют от IShape. В них чисто поля и геттеры/сеттеры. И есть соответствующие им классы для отрисовки, SquareImage, CircleImage, RectangleImage, которые реализуют IShapeImage. В презентер приходит List<IShape>, и он во вью передает List<IShapeImage>. Так как модель не должна зависеть от отрисовки, то я вижу только такие варианты: 1) Добавить enum для каждой фигуры в модель, а в интерфейс IShape метод GetType: enum. И в презентере составить карту вроде Map<Enum, Binder>, и по типу вызывать нужный маппер. Но по логике тут нарушается принцип DRY, ведь мы по сути в каждом классе для фигур отдельно указываем ее идентификатор в enum. Что привело меня в следующему варианту: 2) Тот же Map, но ключем будет Type. Тогда можно будет получать типо фигуры через GetType, и брать нужный маппер. 3) Automapper. Какой вариант выбрать?
Пытаюсь освоить NHibernate. Создал класс, сделал маппинг, настроил конфиг (пик 1). Но при запуске запроса вылетает исключение (пик 2). Гугл не помогает, так как все гайды на гибернейт для старых версий и выполнены в xml. Как пофиксить ошибку?
>>1246538 >1) Добавить enum для каждой фигуры в модель, а в интерфейс IShape метод GetType: enum. И в презентере составить карту вроде Map<Enum, Binder>, и по типу вызывать нужный маппер. Но по логике тут нарушается принцип DRY, ведь мы по сути в каждом классе для фигур отдельно указываем ее идентификатор в enum. Что привело меня в следующему варианту: > Почему бы не сзделать абстрактную фабрику для маппера. Передаешь фигуру, фабрика выдает конкретный маппер и дальше вызывает метод МАП. Но мне кажеться, что АвтоМаппер банально проще и почти ничем не уступает
>>1246589 >>Передаешь фигуру, фабрика выдает конкретный маппер Спасибо за совет, но как она узнает, какой маппер нужно выдать? См. пикрелейтед, по идее так даже не скомпилится, потому что он ждёт метод GetMapper(IShape). Я видел похожую тему в андроиде, где есть список с разными типами элементов. И там везде делали через enum, но вряд ли там будет дофига таких айтемов, а у меня их явно будет много. В общем сделаю через Automapper.
Нужно переопределять в фабрике или в маппере? Я думал в фабрике, сделать перегрузку с нужными функциями, что что-то не работает: https://ideone.com/wtGQ4q
Нахуя блядь так сука поконски было ебаться с ООП, если блядь все приходит к делегатам, анонимным методам, и наконец сука к лямбда выражениям? Может я просто тупой, или зеленный, но это просто лютый синтаксический костыль функционального программирования, нет?
Ребзя, посоветуйте что ли Шарп вроде освоил(по метаниту и чуть-чуть рихтеру), t-sql, ef, linq
Теперь вопрос в выборе технологий. На том же метаните нашел asp.net core mvc и asp.net core mvc 5. Что из этого выбрать? Можно ли зная одно, потом быстро разобраться во втором?
>>1247350 Так что нахуя меня грузили 2/3 материала ООП дрысней, если в итоге вся хуйня пишется кастыльными функциями, которые гораздо проще писать на каком нибудь питоне.
>>1247409 Сортировку изи, как раз перед собесами алгоритмы повторяю, реализацию, сложность ну и теорию С паттернами, да, обосрусь наверное. Вникаю в них
Просто я к тому, что начав изучать кор, не упущу ли я чего-то важного, забив на мвс 5?
>>1247424 Коре это эволюция технологии MVC5. На том же матните кажись и там и там основы показывают. Не трать время на изучения устаревших технологий. Это не окупается.
>>1247412 Костыльными функциями разве что лаба1 пишется, один хуй ооп никуда не девается. Или приведи пример, что ты вообще имеешь в виду. Открываешь любой серьезный проект на гитхабе и там класс на классе, интерфейсом погоняет, а лямбды просто упрощают читаемость и написание отдельных блоков
Аноны шарписты. В этом году получил диплом и вот сегодня дают оффер в дойче банк на дотнет автоматизатора. Прошел 4 собеседования. Дают 120к чистыми, сейчас работаю в ООО "Рога и копыта" и получаю столько же. Стоит идти или не париться?
>>1247409 > Приходишь на собеседования, тебя спрашивают что такое синглетон, твои действия? > Сможешь реализовать сортировку пузырьком? Такое рили на собеседованиях спрашивают? Это же основы? Я три месяца прогать учусь, прочитал по программированию 4 книги - во второй было про сортировку, в третьей - про синглтоны.
>>1247603 Не троллю. Сейчас я типа ведущего программиста на проекте. Пишем агрегатор данных / генератор репортов. А в дойче буду тупо автотесты писать. По деньгам в дойче мало дают (на собеседовании одном налажал), то есть ради денег валить и резона нет вроде.
>>1247431 Можно прочитать первые глав 7 с метанита по asp.net MVC 5, а потом к Core переходить. Тащемта во всей этой хуйне с представлениями, контроллерами и валидацией нихуя сложного нет. Сложности наступают при изучении модели, перед ней нужно читать гайд по EF, ибо объясняют там криво и хуево, а EF уже сложнее. Потом на Core можно уверенно перекатываться. >>1247518 Это что за книги ты такие читаешь? Я как-то паттерны стороной обошёл.
Есть опытные аноны которые могу потратить 5 минут чтобы оценить мой проект. Писал на asp net core mvc, и хочу показывать его при устройстве на работу, но боюсь что написано криво
>>1247431 >Не трать время на изучения устаревших технологий. Это не окупается. Угу, только вакансий на Core в общей массе сейчас меньше, чем на MVC 5. По всей России, по версии hh.ru
Это же все почти одно и то же. И совсем непонятно, какое отношение эти понятия имеют к отрицанию ООП. Это как говорить >зочем мне ооп, если в итоге все сводится к простым типам данных, типа инт, стринг?
Да ни за чем тебе ооп не нужно. Можешь писать все в методе Main, тебе никто не запрещает. А для хранения данных используй txt-файлик вместо бд, очевидно же, что любая БД - это и есть набор файликов, так зачем усложнять?
Ну и веб, конечно. Нахуя нужны все эти контроллеры, модели, mvvm - берешь, хуяришь в консольке обычный http-сервер и через консольку его и запускаешь на серваке. >а то зачем все эти ИИС-ы, мидлвары, если в конце все сводится к тому, что ты просто json отдаешь клиенту?
Бля, да нахуй все это не нужно. Питончик, нейросеточки и машобчик - тебе в другой тредик.
Посоны, изучил переменные, циклы, методы-свойства-конструкторы, классы и структуры. Немножко недопонял про модификаторы доступа, но, думаю, по ходу разберусь. Что дальше учить?
В чем могут быть подводные камни при скачивания сторонних пакетов с нугета? У бутстрапа и жиквери стоит флаг, мол, incompatible: use Bower instead. Только эта хуйня не поддерживается уже. Стал смотреть замену и там я ебал, нпм, вебпак, гульп хуюльп сука. Со вторым ебись, первый полегче, но кочает зависимости куда хочет, а не в wwwroot. Этим пидорасам сложно было сделать, чтобы как в бовере, прописал директорию и кайфуешь? Какие то костыли пидорские нужно мутить, пиздец.
>>1248430 а блядь подключил, там все несложно, просто какой-то смузихлеб ебаный пять строчек кода растянул в статью-простыню на 10 минут чтения, вот у меня и бомбануло
>>1248403 То что это актуально ещё не значит, что это используют в России, может этот ваш Ed core ещё вообще сырой и на него пока не перешли? Впрочем, вчера я уже прочитал на метание все о 6-й версии.
>>1248543 здесь, судя по всему, большинство такие же беспонтовые вкатывалы, нихуя не знающие и ждущие, что ща им анон даст волшебный секрет, позволяющий за пару месяцев вайтивайти. одни и те же вопросы из треда в тред.
>>1248556 А каким образом я могу узнать, какую версию используют? Кажется, не существует подобной статистики, все можно узнать только у людей, что уже работают, других путей я не вижу.
>>1247925 Ну а толку кукарекать про то, что концепция нинужна, если в ней толком не разобрался? Я предложил другой путь развития. Конечно, задело, бомбит от таких разговоров.
Парни, хочу вкатиться в язык со статической типизацией больше для собственного развития, но с потенциальной возможностью найти работу, если попрет. Чем C# лучше Java и Scala? Давно смотрю в его сторону, но не могу никак решиться. Создается впечатление, что на нем в основном поддерживают легаси и иногда пилят суровый энтерпрайз, а интересных задач почти нет. Так ли это?
>>1249808 Не противоречат, на кор мало вакансий, но все новые проекты, в основном, на кор. Но ясен хуй легаси в разы больше, поэтому количество вакансий в разы больше на mvc5 и вебформах
>>1250018 > Парни, хочу вкатиться в язык со статической типизацией больше для собственного развития, но с потенциальной возможностью найти работу, если попрет. Чем C# лучше Java и Scala? Давно смотрю в его сторону, но не могу никак решиться. Создается впечатление, что на нем в основном поддерживают легаси и иногда пилят суровый энтерпрайз, а интересных задач почти нет. Так ли это?
Есть FileSystemWatcher На его эвент Changed вешается делигат в котором я считываю файл который залетает в папку на которую и был повешен FileSystemWatcher
Но метод кидает исключение The process cannot access the file 'C:\input\Input1.txt' because it is being used by another process.
Стоит мне поставить задержку Thread.Sleep(1); И все, проблемы нет. Но разве нельзя обойтись без таких костылей?
Есть еще while(true) { try{File.ReadAllBytes(e.FullPath)} catch{} } Но как по мне еще больший костыль.
Нахуй мне этот евент если он все файлы которые пришли блочит? Почему такая хуйня происходит в стандартной библиотеке?
Придется вкатываться в С# на втором курсе, отношение к языку почему то негативное, но это не важно. Хотел спросить: хватит ли мне VS Code для одного курса? Возможно пройду его и забью, а может мне понравится и поставлю VS.
>>1251045 Теперь тоже интересно, можно ли иначе. У нас на проекте аналогично, во всех методах, подписанных на события FileSystemWatcher, в начале висит Thread.Sleep(10), раньше не придавал этому значение
>>1251072 Хватит, если курс ограничится консольными хеллоувордами, если же понадобится использования WinForms, то качаешь SharpDevelop - IDE аналогичное VS, но легковесное, без киллерфич, но тебе с головой хватит.
>>1251072 >>1251240 >отношение к языку почему то негативное Тоже было такое пока не начал работать на нем, и понял что язык очень годный. Многие просто думают что он сильно ограничен, на деле ничего подобного, просто о более "куртых фичах" мало где написано, т.к язык разрабатывался как раз для безопасного кода.
Антоны, каким образом в Monogame можно приспособить алгоритм нахождения пути? Каким образом будет выглядеть граф? Есть материалы по этому, а то у меня не очень получается найти.
Сап, вкатился на 40к джуна в своем миллионнике. Сам нихуя не умею, на собеседовании списал тестовые с инета, пока HR отходила. Че там надо подучить чтобы нормально хуярить на вашем C#? Объекты, классы, вся эта хуйня-малафья. Пока что беру код с инета или у коллег и переделываю как мне надо чисто интуитивно, вроде работает, но думаю надо хоть чутка разобраться.
>>1251793 По видимому, да. Я сам неделю назад решил вкатываться, почитал книжек. Написал пару хеллоуворлдов. Ясное дело, не с нуля начинаю, за спиной бейсик, паскаль, питон. И вот пришёл ИТТ, почитать советов мудрых, но обнаружил только пару мудрецов в середине треда, которые обеснили какому-то нубу, для чего нужны интерфейсы.
>>1252179 Тебе деньги или нормальный язык? Если деньги - то бери php и ковыряй старое говно мамонта на фрилансе за 40 баксов в час, а не захламляй тред.
>>1252179 На джаве дохуя легаси, вот и деньги такие, но подумай о том, что лучше для тебя как разработчика-ковырять говно мамонта или писать что-то новое.
>>1252288 >Тебе деньги или нормальный язык? >>1252397 >что лучше для тебя как разработчика-ковырять говно мамонта или писать что-то новое Всё это звучит, как дешевая агитация HR-манагера, желающего сэкономить при найме.
Но ведь на C#, в основном, такой же энтерпрайз с легаси-когодом, как и на Java. Разве что сам язык поудобней будет.
Вообще, я ни на что не намекаю, сам хочу попробовать вкатиться в шарп. Мне просто интересно, почему C# разрабам платят меньше, причем это общемировая практика.
>>1252419 > Вообще, я ни на что не намекаю, сам хочу попробовать вкатиться в шарп. Мне просто интересно, почему C# разрабам платят меньше, причем это общемировая практика. Ну так с одной стороны рынок меньше, работы меньше. С другой - язык приятнее, работа легче. Потому и платят меньше.
>>1252396 >Но ясен хуй легаси в разы больше, поэтому количество вакансий в разы больше на mvc5 Фух, а я уж думал забить на MVC 5. А насколько хорошо нужно знать всю фронтендовскую кухню?
>>1252419 >Но ведь на C#, в основном, такой же энтерпрайз с легаси-когодом, как и на Java. Шарп вышел на рынок позже, и легаси там соответственно поменьше. Большинство вакансий на него сейчас, по крайней мере в Бульбостане-это веб, и это Core.
>>1252625 Пишет, что у тебя в первой строке в столбце 13 не хватает точки с запятой. И, действительно, у тебя нет ее после подключения System. Кстати, оно у тебя написано с маленькой буквы - тоже проблемы будут.
>>1252649 > Это я про историю говорил, сейчас .Net Core и Asp.Net Core вполне могут в кроссплатформенность. Это типо для серверов чтобы не только на винде могли крутиться? Еще бы они не могли - такой язык никому и не нужен был бы кроме микрософта. Я же про обычные программы спрашиваю, которые на пк устанавливаются. Можно такие кросплатформенные создавать на C# без диких глючных изъебонов? Или я что-то недопонимаю?
Раньше я считал C# лучшим и самым прогрессивным языком, но познакомившись со многими новыми языками поближе, я понял, что C# уже устарел. Он сосет даже у васянского поделия kotlin. Нахуй так жить, шарпаны? Когда microsoft выкатит новый стильный, молодежный язык? Это не дело наслаивать новые функции на легаси язык.
>>1253889 >А в чем сосет Да в том, в чем сосет и java. Он слишком многословен. Он невыразителен. В kotlin много крутых фич на уровне синтаксиса. C# это такой бегемот по сравнению с котлином.
>>1253893 > В kotlin много крутых фич на уровне синтаксиса. C# это такой бегемот по сравнению с котлином. Сразу видно вайтивайтишника. Все эти фичи - минус языка, а не плюс. Когда одно и то же из-за фич можно написать тысячей разных способов, пусть и короче - чужой код становится попросту невозможно читать, приходится вникать в каждое слово, ибо одну и ту же вещь все делают по-разному, и если ты ее делаешь по иным образом, нежели автор кода - твой мозг попросту не способен быстро ее распознать. А ведь это самая большая часть нашей работы - разбираться, что там кто-то другой написал.
>>1254242 Это не приведение, а распаковка. Статический анализатор так тебе не даёт рандомный объект скастовать в int32. Если ты такой любитель упаковывать инты, вот, пожалуйста, тут всё на автомате делается:
Int16 a = 1; dynamic b = a; int c = (int)b;
Ну если какую-нибудь хуйню вместо инта сунешь, то получишь екзепшон, как в твоих любимых языках с динамической типизацией
Пошёл устраиваться на свою первую в жизни работку на джуна на предприятие, а там оказывается на С# работают, с которым я не знаком совсем. Есть где-то недели 3, чтобы подтянуть знания. Возможно как-то разбираться начать в такой срок? Скачал пока The C# Player's Guide, буду читать его для начала. Что ещё в обязательном порядке стоит ухватить?
>>1254689 > >Пошёл устраиваться на свою первую в жизни работку на джуна на предприятие, а там оказывается на С# работают, с которым я не знаком совсем. Есть где-то недели 3, чтобы подтянуть знания. Возможно как-то разбираться начать в такой срок? Скачал пока The C# Player's Guide, буду читать его для начала. Что ещё в обязательном порядке стоит ухватить?
За три недели можно наизусть весь систаксис и все основной набор навыков получить. дальше всю жизнь будешь учить системные и прикладные библиотеки, с которыми и работают
>>1254786 >что еще читать? 3 недели читай чужой legacy гавнокод Чисто в рамках твоей работы это самое главное - разобрать старое дерьмо мамонта (и сделать из него конфетку)
Сап. Пытаюсь разобраться с рефлексией, но что-то сложно идёт.
Что надо сделать: при вызове некого метода подгружать внешнюю dll-ку, создавать объект из класса в ней и творить всякие непотребства с этим объектом. Эта dll-ка может тянуть за собой пачку зависимостей, но все они должны быть достижимы (я имею в виду, что без рефлексии до зависимостей она бы дотянулась). Если эта dll-ка уже была загружена прошлым вызовом метода И изменилась, нужно перезагрузить её.
Из того, что я понял - нужно создавать новый AppDomain и грузить в него этот Assembly. Если при вызове метода dll-ка поменялась, убить старый AppDomain и повторить всё заново.
Объект создаётся, непотребства совершаются, но появляется проблема с тем, что dll-ка блокируется от изменений на время жизни AppDomain. Логичным выходом я посчитал перенос dll-ки в отдельную папку (например, Runtime) и подгрузку её оттуда. Если главная dll-ка поменялась, прибиваем AppDomain, меняем её в папке, грузим, всё прекрасно.
...было бы. Грузить dll-ку конкретно из папки мне позволяет (из того, что я пробовал) только метод Assembly.LoadFrom(string), который в AppDomain отсутствует. Пробовал AppDomain.Load(byte[]) и AppDomain.Load(string), оба грузят только ту dll-ку, которая должна меняться, а не которую я отдаю в эти методы.
Прибивать AppDomain вообще всегда - не вариант. Насколько я понимаю, это прибьёт статические поля, используемые в этой dll-ке, а этого допускать нельзя.
Кроме всего прочего, у меня есть подозрение, что могут возникнуть проблемы с зависимостями. До тестирования этого руки пока что не дошли, но при гуглинге моей проблемы эта тема достаточно часто поднималась.
Структура папок: ./Runtime/library.dll ./library.dll (должна быть изменяемой) ./dependency1.dll ./dependency2.dll
>>1255156 Ну да, можно создать второй аппдомен и грузить длл в него, а потом его прибивать. Я об этом и писал. Проблема в самой загрузке длл - нужно загрузить её так, чтобы не файл не лочился.
Всего-то надо было: 1) При создании своего AppDomain передавать туда AppDomainSetup с ShallowCopyFiles = "true" (да, мелкомягкие гении передают булев параметр строкой) и не пердолить копирование собственноручно 2) Создать отдельный Assembly с каким-нибудь интерфейсом 3) Реализовать в перезагружаемом Assembly нужными классами MarshalByRefObject и тот самый интерфейс 4) В основном проекте делать domain.CreateInstanceAndUnwrap(), результат приводить к тому самому интерфейсу и делать, что душа желает; если дёргать полученный объект рефлексией без приведения - Assembly залочится
>>1253876 Должен был случиться немерле, но джетбрэйнс перестали выезжать на решарпере и в спешном порядке переманили с него разрабов — как раз в свой котёл-in.
И как ответь на вопрос: что такое полиморфиз? Каждий пишет что-то свое. Нет нет, я понимаю всю суть подмен и абстракций, но по формулировке ничего не скажу.
>>1256535 В РФ почему-то никто не старается в риторику. Всё-таки на интервью в первую очередь необходимо говорить и говорить красиво, остальное вторично. Просто отвечать на вопросы как на допросе это же пиздец. В диалог необходимо уметь. Я в жизни бывал на 3х интервью и везде только я доминировал в разговоре с hr и тех спецом. И вопросы им всегда задавал неудобные и т.п. Каждый раз брали. Смотрят в первую очередь на коммуникационные данные соискателя. Забитый математик нахуй не нужен ибо рвбота в коллективе подразумевает социоблядство.
>>1256573 А мог бы вести себя как все и иметь зарплату в полтора раза выше. Работа в коллективе подразумевает коммуникацию. Только вот забитый математи коммуницирует получше тебя.
>>1256948 С чего ты взял, что я получал в 1,5 раза меньше?
Касаемо математиков - в большинстве своём это урайне неприятные персонажи. Надменные, чсвшные, которые умеют в юмор с мат фака. Они как рыбы в воде в своей среде, но за ней это унылые и скучные персонажи, с которыми нет никакого желания общаться.
Я встречал исключения в жизни, но подовояющее большинство математиков - УГ.
>>1255146 Придется разобраться в ООП, потому что зачастую норм посоны стремятся не писать кучи говнокода, а для этого они, как раз, и используют генерики, интерфейсы, абстрактные классы, виртуальные методы и прочие вкусности.
Я сам всего этого не понимал и не понимал также, за каким хуем ВСЕ ТАК УСЛОЖНЯТЬ этими абстракциями, пока сам не сел за проект, в котором это использовалось, и не разобрался, что с этими ништяками разработка оказывается куда проще и приятнее.
Как объяснить подобную хуйню: Программа не компилируется и ругается что CS0121 т.е есть копии методов (в моем случае extension) и компилятор не может определиться. Так вот их сука нет. Я беру и все эти методы на которые он ругается комментирую. (благо их всего десяток) Программа компилируется, но уже отваливается на стадии запуска, так как нет методов. Снимаю комменты и программа о чудо КОМПИЛИРУЕТСЯ, запускается и все хорошо. Но хуй бы там, если я хочу второй раз скомпилировать мне эту хуйню выдает снова, CS0121. Пробовал в Visual Studio и Rider, везде такая же хуйня. Ругается именно на стадии компиляции, в коде типа все ок.
>>1256981 Касаемо блэкеров - в большинстве своем это крайне неприятные персонажи. Надменные, чсвшные, которые ненавидят род человеческий и мечтают о войне против биомусора. Они как рыбы в воде в своей срезе, но за ней это негативные и злые персонажи, с которыми нет никакого желания общатся.
Я встречал исключения в жизни, но подовляющее большинство блэкеров - УГ.
Пойду лучше покатаю друзей-бизнесменов и районную гопоту на своем фордфокусе.
>>1259006 > Матиматику ниприятна > матиматику в ебало сказали, что он уныл и шутки про трехчлены актуальны в среде недоперельманов > ряяяяя ни сметь копротивляться мине, я ни такой как все > ряяяя таксисты кругом
>>1256981 >Касаемо математиков - в большинстве своём это урайне неприятные персонажи. Надменные, чсвшные, которые умеют в юмор с мат фака. Они как рыбы в воде в своей среде, но за ней это унылые и скучные персонажи, с которыми нет никакого желания общаться. Двачую. Добавлю еще подлость в список их характерных черт.
>>1231501 (OP) Котаны, пишу тестовое Veeam'а с их архиватором на .NET 3.5 В силу того, что я деградант, не шарящий за потоки и их синхронизацию. У меня появилась в двух местах конструкция на пиках. Что делать в случае, когда у тебя работа зависит от условия, которое меняется вообще в другом классе, который самостоятелен сам по себе? Можно пример, условного BEST PRACTICES в таких ситуациях? Мб что-то пропустил из стандартной либы.
Господа, а есть сайты\учебники, в которых есть простенькие задачки по шарпу? Хочу практику поднять, а то одной теорией не напасёшься и я сразу обосрусь на первом собеседовании если оно вообще будет.
Бля, аноны, помогите умоляю. Не гоните ссаными тряпками ньюфага-вкатывальщика. Есть этот говнокод https://pastebin.com/MSJqw1H8 В нём есть ебучий цикл while и эта мразь всё время в инфинит цикл уходит. Я не понимаю что мне сделать, дабы он заработал как надо. Я понимаю, что ошибка скорее всего да блять жопу ставлю в самом теле while цикла, где идёт вычитание. Я уже всю голову сломал и разное пробовал, но до сих пор не могу понять что делать с этим дерьмом. Вроде простой говнокод, а всё равно всё через жопу.
>>1259946 Да вроде не должно в бесконечный цикл все уходить.
Но лучше переписать так:
InBattle = true; // битва идет while (InBattle) // пока битва идет - легко же читается? { // считаешь дамаг - вынеси код в отдельные методы!
// стопаешь битву по условию как у тебя if (enemiesHealth <= 0) { InBattle = false; } if (playerHealth <= 0) { InBattle = false; } }
А не, нашел ошибку когда все может заклинить. damagePlayer = playerHealth - (enemiesDamage - playerDefense);
Вот здесь если enemiesDamage меньше playerDefense, то playerHealth будет увеличиваться до +бесконечности. Короче делай доп. проверку и оверпаверед дефенс игрока, ему можно сразу отдать инстант победу, например.
>>1259982 >rDefense); > >Вот здесь если enemiesDamage меньше playerDefense, то playerHealth будет увеличиваться до +бесконечности. Короче делай доп. проверку и оверпаверед дефенс игрока, ему можно сразу отдать инстант победу, например.
>>1259982 >while (InBattle) // пока битва идет - легко же читается? >{ >// считаешь дамаг - вынеси код в отдельные методы! > >// стопаешь битву по условию как у тебя >if (enemiesHealth <= 0) { InBattle = false; } >if (playerHealth <= 0) { InBattle = false; } >}
Сдохни и не демпингуй рынок, кусок говна
while (enemiesHealth > 0 && playerHealth > 0) { //В треде одни пидорасы }
>>1260139 Кароч хуй знает, сделал отдельные методы под просчёт дамага, вывел всё в цикл - вроде заработало, но как только я ставлю у врага высокие значения урона и хп - оно уходит в инфинит. Не знаю что делать, наверное буду заново придумывать систему подсчёта урона или вообще ебанусь и заново пропишу весь код.
Код просто говно. Вот такие формоёбы жизнь всем и портят — хуже питонистов, чесслово. Зато уже эвэйт у него, сука. ExecuteNonQuery должен возвращать количество изменённых (добавление, удаление, обновление) строк, закопайся в отладку и смотри школьник ёбаный.
>>1255880 Если не используешь EF, то советую юзать хранимые процедуры. Также не совсем понятно, где ты ожидаешь увидеть результат выполнения своих запросов. Ты выполняешь запрос к БД, а что потом? Ты же должен либо те же данные обновить/удалить/заинсертить у себя в формочке, либо заново заселектить все себе в формочку с нуля.
+ не знаю, что с методом .AddWithValue(), кажется, туда тоже надо пихать параметры, начинающиеся с собаки.
Ну и до кучи, раз ты юзаешь .mdf, то, наверное, и sql-server. А в нем есть такая штука - SQL Server Profiler, через который ты можешь отследить, какие же именно запросы отправляются из твоего приложения в СУБД.
Вангую, что удаление, например, у тебя выглядит так: >DELETE FROM [part] WHERE [idpa]=NULL
>>1260136 Ага, самый умный говнокодер предлагает запихивать условия остановки битвы прямо в условие цикла где они слипнутся в одну нечитаему ссанину склееную &&.
Допустим тот анон добавит возможность отступать игроку из невыгодного боя, а монстру съябывать в ужасе когда ему совсем плохо или просить пощады. Во что превратится твоя какаха в while()? А?
С if-ми все тривиально и при большем количестве способв закончить битву на изичах завязывается на полиморфизм.
>>1231501 (OP) Привет аноны, на связи кун 19 лет. Очень понравился c#, в частности начал его учить из-за unity. Стоит ли учить с# в рамках матчасти и unity или перекатываться?
Хотя из-за шараги свободного времени 2-4 часа, учу как могу. Устно и пытаюсь самом что-то реализовать.
Поэтому вообще не понимаю если дело доходит до профессионального кода, когда используется все плюшки ООП и с#. Но пытаюсь и буду дальше стараться разбираться.
Есть небольшое портфолио в виде простых мобильных игр.
Так же заканчиваю шарагу и иду поступать на программную инженерию, может хоть так закрепляю основу и улучшу знания, из-за того что понравилась сама идея создания продукта из мысли или идеи.
Я правильно все делаю или где-то обосрался? И какое вообще будущее ждет c#?
Есть шарп и xml с данными. Эти данные я с помощью искпаза из xml извлек, а вот что дальше делать не знаю Сейчас просто загоняю в лист что бы в окошке посмотреть прям во время запроса, но по-хорошему их надо где-то хранить, что бы прям из листа winform изменить можно было и потом через апишку одну передать в бд уже измененный вариант, есть предложения и подсказки по тому, как эти данные хранить во время работы программы что бы иметь к ним доступ на редактирование?
есть у меня решение что можно из листа заполнить листбокс, потом когда что-то меняю в листбоксе очищать лист и заполнять его заново, но мне кажется что это ублюдочно как-то
>>1234681 Хз, для написания говно-ботов его вполне хватает - интеллисенс есть, отладка есть, даже вим мод работает. Впрочем, это единственная нормальная c# иде под линупс
>>1261370 Нихуя не получится. В основном потоке всё равно где-то надо будет написать что-то вроде Console.ReadLine, и после этого он будет перехватывать все нажатия
Как сделать что бы студия не пересобирала неизменённые проекты каждый раз? Допустим в MVVM я меняю только вьюмодели, это сцукко пересобирает и вью проект и модели.
Основной проект (Sentry) не видит / не даёт выбрать Target Framework .NET Standard 2.0 в настройках проекта. Остальные проекты в solution также. MSVS я поставил самый последний прямо сегодня. Причём в этом проекте не работают и nuget-пакеты. По умолчанию они не поставились, если пытаюсь их ставить, в консоль сыпятся ошибки, что у меня не установлен .NET Core SDK.
Я создал другой solution с типом "библиотека классов", там прям сразу выбралось .NET Standard 2.0, и проект собирается сразу же. Чзнх? Как так?
Учу программирование по плеерс гайду, сначала вроде норм шло, сейчас дочитал до ref, out и кортежей, и перестал понимать. Все эти реф с аутами как-то в голову не укладываются. Вроде читаешь, все норм, но както-то целесообразность присутствия в языке одновременно реф и аут, да и специальных реф-типов как-то непонятна и такое чувство, что мозг отказывается запоминать эту инфу, хз, как объяснить. Про кортежи еще не дочитал, но уже расстроился, кажется как-то сложновато и непонятно, зачем, ведь есть там всякие массивы, кастомные типы, так куда еще и кортежи, которые, к тому-же, тоже в голову не влезают. В общем, одна тоска с этим программированием, хз, как дальше жить.
>>1262817 на стековерфлоу нормально расписано за аут против кортежей, если вкратце, то аут часто используют когда нужно вернуть значение и bool/код, говорящий об успешности исполнения. Например, тот же public static bool Int32.TryParse( string s, out int result) Возвращает bool, говорящий об успешности, а через аут передается результат парса в случае успеха. Про ref очень хорошо объясняют в коротком видосе на ulearn.me, с кортежами хуй знает что может быть не понятно, наверное, не твое
Аноны не бейте помогите! Нуб никак не может понять, как мне сделать так что бы считываемое "что то" из потока консоли записывалось в переменную, дабы потом её можно было проверять switchом или if elseом
>>1263324 > потока консоли что ты под этим понимаешь? В простом случае так: [CODE]string userInput = Console.ReadLine(); switch (userInput) { case "2ch": ... break; case ... ... }[/CODE]
Поцоны, вот создается по темплейту приложение mvc core, меня интересует элемент сверху, который присутствует на всех страницах. Откуда он берется? Браузер показывает, что это navbar, и я подозреваю, что это относится к бутстрапу, но нигде в коде не вижу, где его подключают (бар), хоть убейте. Во вьюхах нет нихуя, я думал, будет в layout, но вообще ничего не нашел нигде.
Анон, поясни тупому, почему когда я запускаю свою программу, то всё нормально, а когда запускаю отладку, IDE мне говорит о InvalidOperationException в том месте, где я обращаюсь к основному потоку окна Form из внешнего потока?
Почему срабатывается исключение, мне понятно, но почему тогда программа работает нормально без отладки - не очень понятно.
Аноны, что делать? Посмотрел вакансии для c# почти все требуют работу с unity и только с ним. Было пару вакансии о создании web и то в самом конце. Неужели это правда?
>>1263607 Какой пересказ, на курсах ты не один, спросить можно у препода который тебе пояснит, и объяснить простыми словами с примерами, а не перечитывать одну и туже не понятную залупу. Перестал покупать книги лет 6 назад ибо там все однобоко, когда тебе на курсах объясняют и показывают это куда проще и понятней.
>>1263533 Зачем ты этой некрохуйнёй занимаешься? Еще бы вебформс изучал. Пили СПА и вебапи на неткоре. И уже потом, если делать будет совсем нехуй можешь по верхам пройтись по некро-легаси.
>>1263687 Сейчас мало где нужен чистый шарп. Все хотят фулл-стек гребца к себе на галеру. При этом если принципиален веб - то начинать лучше с JS->TS и всяких вуй, ангуляров и реактов
>>1263705 Лучше жаву. Она многоцелевая. А на шарпе что? Ну веба он себе чуть-чуть отжал у пхп и этой самой жавы, да в юнити говноигры клепать можно. На этом - все. Если не мечтаешь за 40 тысяч в месяц делать набигающие на корованы домики ага, хуй там, размечтался, на практике будешь клепать клоны три в ряд для мобилок - то C# не твой выбор.
Тебе походу в профессии делать нечего раз не приучен читать научно-технические тексты. При чем тут вообще покупка когда все что угодно спиратить можно, курсы так-то тоже не бесплатные обычно. Вообще любой хороший курс это сжатый пересказ хорошей книги. Спрашивается, нахуя слушать пересказ если можно прочитать оригинал?
>>1233072 Проблема в том, что, чтобы выучить асп.нет, нужно сначала разобраться в шарпе. А в нем удобно разбираться на примерах вин форм и консольных приложений.
Помогите, я нихуя не понимаю. Есть бд sqlite с кучей таблиц, нужно, используя шарп, взять несколько таблиц из бд и объединить их в одну, а потом отсортировать. Но я ни в шарпе, ни в sql не разбираюсь и даже понятия не имею, как подойти к решению. Что делать? Что смотреть?
>>1264163 Разберись сначала с sql. Напиши запрос, которым ты вытащишь данные из всех табличек. >Select id, name from ( > Select id, name from t_kaka > Union all select id, name from t_popa > Union all select id, name from t_pipa >) dat >Order by dat.name , например.
Потом нужно скачать либу для работы с sqlite, в ней должны быть классы, наследующие system.data.common.dbconnection, а именно >SqliteConnection >SqliteCommand >SqliteDataAdapter www. codeproject. com/Articles/22165/Using-SQLite-in-your-C-Application Далее все просто, создаешь коннекшн, с ним создаешь команду, в нее пихаешь запрос и через датаадаптер заполняешь переменную класса DataTable, а с ней уже можешь, что угодно делать.
Аноны можете помочь сижу изучаю ООП, столкнулся с 2 модификаторами override и virtual. Понял лишь суть virtual, что наследник может перегружать значения родителя, на заданные в самом наследнике значения. А вот с override тупняк. Может кто помочь?
>>1264712 Виртуальный метод - это такой метод, который будет выполняться, если ты используешь родительский класс или если используешь дочерний класс, в котором данный метод не переопределен. Если ты подсунул дочерний класс, в котором этот метод переопределен, то будет выполнен метод дочернего класса. Очень крутая фича.
>>1264918 Все догнал, ещё раз прочитал твоё сообщение и матчасть от microsoft и понял что virtual нам разрешает делать такие операции. Теперь надо разбираться с abstract
>>1265140 блядь ты совсем дружок тугой, это такая же абстракция, как геометрическая фигура. ты не можешь нарисовать абстрактную геометрическую фигуру, зато можешь ее наследовать и нарисовать квадрат или треугольник, который будет чайлдом фигуры.
>>1265140 Смотри, грубо говоря это такой же пустой метод как и в интерфейсе, но в отличие от интерфейса другие методы в классе могут быть с реализацией. Создать объект такого класса как и интерфейса нельзя.
>>1265339 Очень сильно отличается. Abstract-метод не может содержать реализации и должен быть описан в абстрактном классе. Виртуальный метод может быть описан где угодно и содержать реализацию.
>>1265451 В джаве, тащемта, так и сделано. Но во-первых с точки зрения архитектуры плохо, если всё можно переопределять, а во-вторых режет производительность.
У меня есть асп кор контроллер, в котором метод POST принимает файл, обрабатывает и должен вернуть измененный файл клиенту. Значит ли пик, что мне надо сначала принятый IFormFile сохранить на диск, изменить и потом уже вернуть или можно без сохранения вернуть? Почему вообще я не могу ебануть что-то типа [HttpPost] public IFormFile Post(IFormFile file) { return file; } И чтобы тупо файл неизмененный ебануло ответом. Файл 200кб картинка
скажите пожалст. а в ограничениях дженерик типов можно написать "или"? а то хуйня вроде void Do<T>(params T[] things) where T : SomeClassA void Do<T>(params T[] things) where T : SomeClassB находясь в одном классе разумеется мне говорит что A member is already defined очевидно что разные имена для функции то как должно быть но вообще интересно можно ли
>>1265750 Напрямую или использовать нельзя в where, однако ты можешь сделать один пустой интерфейс, а этими 2 классами, которые ты хочешь подсунуть в where, этот интерфейс реализовать. Иными словами >public interface IKaka { } >public class SomeClassA: IKaka { } >public class SomeClassB: IKaka { }
а дальше уже в свой Do вставляй этот интерфейс >public void Do<T>( params T [ ] things) where T: IKaka
>>1265765 да-а-а можно. просто если кто-то кроме меня захочет добавить что-то к этому интерфейсу то придется ему расковыривать это говно и добавлять. хуй с ним. правильней переделать другие части, а различия в типах вынести в параметры функции. спасибо за внимание.
Аноны, нужна ваша помощь. Скачал студию, установил, создал консольное приложение, и сразу же вылезла эта ошибка. Она же вылезает почти при любом действии (сделал "Привет мир" по видеоуроку, и она вылезла при запуске консоли). В прошлый раз, когда устанавливал студию, такой фигни не было. Как фиксить?
Добрый день, надо учить С# в универе, но мне не нравится писать на этом языке (мягко говоря), есть что почитать/посмотреть, что бы не вникать, но писать лабы хотя бы на четверки?
Сижу, потихоньку пробиваюсь через Player's Guide. И даже неплохо идет, с удовольствием читаю и пробую все в деле. А сегодня на одной из Try it out секций сбился, застрял - и в конце-концов тупо изучил принцип работы алгоритма из книги вместо написания собственного. Сижу теперь и чувствую что хреново на душе - с заданием то я то фактически не справился, а все равно дальше полез. Что делать с такой вот возникающей по ходу учебы фрустрацией, есть у кого советы?
>>1266541 А существуют какие-нибудь базы чисто с задачами по определенным тематикам и языком? Я конечно собрал небольшую библиотеку из руководство вроде Players Guide-а, но там обычно 1-2 примера для каждого уровня или темы.
>>1231501 (OP) https://ideone.com/j03sLd Анон подскажи с методом: что он делает в строке int x = someString.Count(m => s==m); ? Попытался загуглить, но в итоге ничего не нашел.
Хуярю свою мелкопарашу на аспике. Веб апи, фронтенд реакт. Возник ступор при реализации заргузки изображений (их может быть до 4 одновременно), т.к. лучшие практики по этому вопросу хуй найдёшь. Именовать думаю таймстампом (генерируемом при добавлении, а не lastModified). 1. Если добавление асинхронное, у меня могут сгенерироваться одинаковые таймстампы и наступить пиздец? 2. Как в бдхе обычно хранят инфу о приуроченных к посту изображениях? List с именами прямо в модели поста? Отдельная таблица с именами изображений и форейн кеями на пост? 3. Тамбнейлы делать через GetThumbnailImage или есть что-то лучше? Заранее спасибо, анон.
Может, лучше вообще как-то загружать изображения на сервер до отправки поста?
Подскажите а можно сделать опциональным дженерик параметр для конструктора? для метода можно просто сделать два метода, один с дженерик параметром а другой без. void MyMethod<T>() void MyMethod() а для конструктора то нельзя же
хочу сделать хуйню которая опционально использует словарь в процессе и сделать этот ключ дженерик типом. и если он не не значается то становится например int
>>1231501 (OP) Антоны, читаю статью на метаните https://metanit.com/sharp/tutorial/3.14.php и не понимаю вот эту строку: >Added(this, new AccountEventArgs($"На счет поступило {sum}", sum)); Мы тут обьявляем, что AccountEventArgs e, который был обьявлен в делегате раньше, теперь имеет значение new AccountEventArgs($"На счет поступило {sum}", sum)?
>>1267624 дааа но это как-то смешно получается. вот так сидит хуй который пользуется моим кодом а там буквально "вот смотри я сделал за тебя класс где за тебя написан инт". было бы здорово если бы я инт мог написать за него не плодя сущности!
В общем, такие дела, посоны (>>1265862>>1265861 >>1265855 - кун). Удалил студию, посчитав, что установка произошла с какой-то ошибкой. Переустановка (после полного удаления) не помогла. Начал искать решение в инете, и наткнулся вот на эту замечательную страницу: https://developercommunity.visualstudio.com/content/problem/218740/vs2017-debug-javascript-files-not-working-1.html Как следует остюда, проблема связана с отсутствием этого сифилисного говна, IE 11 (у меня 9). Поначалу я уже обрадовался, что надо просто скачать новую версию и всё будет на ура, но не тут то было. Эти анальные мелкомягкие обезьяны сделали, блядь, всё возможное, чтобы их собственное ПО не ставилось, как у нормальных людей. При попытке установить 11 версию IE, эта чудесная херотень выдала мне ошибку и отправила на страницу: https://support.microsoft.com/ru-ru/help/2847882/prerequisite-updates-for-internet-explorer-11#list%20of%20prerequisite%20updates Отсюда стало ясно, что нужно установить "необходимые обновления для работы с IE11, иначе ничё нельзя". Я установил часть этих обнов. Две из них пукнули, что несовместимы с данным компухтером, одно (которое первое по счёту) просто не установилось. В общем, после этого, паскуда под названием IE так и не захотел устанавливаться. Порывшись в гугле, наткнулся вот на эту статью: https://habr.com/sandbox/72934/ Честно говоря, я мало что понял из того метода, который написал автор (плюс он писал про 2013 студию, а у меня 2017). Посему прошу у анона помощи по следующим вопросам: 1.Как установить IE 11? М.б. есть какая-нибудь сборка, которая самостоятельно догружает всё, что нужно для работы IE, и после ставит его? 2.В случае невозможности поставить IE - как заставить программу думать, что у меня 11 IE? 3.М.б. есть способ "отвязать" IE от Visual Studio? Я, честно говоря, вообще не понимаю, какая связь между этим недо-браузером и программой. 4.На самый худой конец - есть альтернатива Visual Studio? Меня на данный момент интересует работа с C#, без остального могу пока обойтись. Буду благодарен за любую помощь.
>>1268378 В смысле "поехавший"? Это я что ли писал такой ахуенный код под этот ебучий браузер? После трёх дней мучений с этими обновами, фиксами и танцами с бубном, возникает желание прийти к ним в офис и оторвать всем руки по самую жопу, чтобы такой хуиты не делали.
А за SharpDevelop спасибо. С ним, правда, тоже пришлось повозится, но гемора в разы меньше.
>>1268419 Нет, там все просто. Я объяснил не чётко. Ты пишешь кодовое слово, до которого привязан текст. Всё. Есть идея через switch делать, ну думаю, что есть более аккуратный метод. В идеале возможность легко добавлять, но это не обязательно.
>>1268459 >Есть идея через switch делать А сколько кодовых слов должно быть? И куда ты планируешь вводить? >Ты пишешь кодовое слово, до которого привязан текст. Всё. Это все динамически, как у поисковиков или вводишь слово, а тебе под строкой дается список с дальнейшими вариантами?
блять, совсем уже с ума сошли со своей безопасностью. Реально весь мир тронулся на криптографии, HTTPS, сертификатах и т.д. скоро уже посрать сходить без PGP ключа будет нельзя.
Понадобилось тут кое-что написать на старом добром C#. Скачал VS 2017 с сайта майкрософта, запускаю, а мне установщик выдает, что манифест не прошел проверку или типа того, короче, это распространенная проблема и надо установить 3 серта
А где скачать эти серты ебаные? Они в статье разумеется этот вопрос обходят (ну да, надо же описать 5 способов установки серта, которые и так известны).
Поцоны, не нашел внятно, как обычно так делают, смотрите. Есть апи, с которого я получаю данные с помощью HttpClient. Во всяких примерах я все время вижу, как в методы типа .GetAsync(string uri) тупо вставляют строкой uri. Но как лучше делать, когда много uri и они включают в себя id?
Пока не придумал ничего лучше, чем сделать класс типа такого, чтобы потом свойства вставлять в вышеуказанный метод Requests { private string _uri = "https://www.111.com/"; private string apiver; public Requests(string id, string _apiver = 2) { инициализируем все свойства с учетом id и версии апи типа Request1 = uri+api+/users/ Request2 = uri+api+/bl/ } string Request1 {get;set;} string Request2 {get;set;} }
Котоны, нужно срочно вкатится в язык. Синьор-помидор, знаю дохуя всего от жс-дристни до хаскеля. Подскажите книжку в которой будет самое важное достаточно подробно, без объяснения что такое переменные.
Антоны, я прочитал Рихтера уже наполовину и думаю, что меня все-таки где-то наебали. Мне теперь кажется, что самое сложное в программировании - это не алгоритмы, не изучение чего-то нового, а другие программисты-дебилы. Заранее приношу свои извинения за притеснение социальной группы "программисты-дебилы" Неужто это правда?
>>1271161 если ковыряешь легасиговно то вероятно да, дохуя времени будешь пытаться вникнуть в спагетти макаки, работавшей до тебя и чуть меньше времени уйдет на попытки отрефакторить это говно до читаемого состояния
>>1268459 О, прикольно. Когда-то делал задачки на ulearn (из шапки) и там была задача где нужно было написать парсер который разбивал текст на словосочетания по 2 слова и выводил текст на основе наиболее часто встречающегося продолжения предыдущего словосочетания в оригинальном тексте
Если надо выполнить какое либо действие при выходе из блока using можно обойтись без обкладывания try .. finally? А то неохота еще один отступ делать для болького куска кода
>>1271615 >Поясните Ты создал двумерный массив, в котором могут храниться целые значения, а хранишь в нем {1,2,3} и {4,5,6} Чо сделать то хотел вообще?
Аноны привет всем, еще новичок пока в этой сфере, да левел меньше 18 , может кто объяснить почему по шарпу курсов и книг гораздо меньше чем по той же явке? Такое ощущение что людям просто пофиг на шарп и его поддержка это удел microsoft. Хотя как по мне язык гораздо удобнее, по крайней мере формы в разы лучше чем тот же свинг в явы. Слышал что шарп идет семимильными шагами , что хорошо, но там идет дикий выпил старого и совместимости версий нет от слова совсем. Это правда? Действительно придется постоянно переписывать свой код под новую версию нета? Хочу выбрать это чудо как основной язык. Пробовал плюсы (дико сложно), яву. От последнего много начитался плохого, что язык позиции сдает и после выпила андроида останется лишь поддерживать старый код в юизнесе больших дядь. Это может и приносит деньги, но хочется нормально поработать все-таки. Да и сама политика Oracle: введение платной поддержки, отказ от джавы ее, и многочисленные вопли что компания убивает джаву заставляет насторожится. Хочется учить 1 язык и подучивая его постепенно работать на нем. Стоит ли выбирать шарпы в качестве этого? Область веб. По вакансиям ситуация пока 80 у нета и 140 у явы в моем мухосранске, но за 5 лет сильно изменится(я так думаю). Для работы за рубежом хороший вариант? В на seek позиции тоже не шибко хороши 901 против 1.4 к у явы. Почему же такой хороший язык еще не находится на вершине олимпа? Может я не понимаю что?
>>1271750 Давай разберем по частям тобою написанное >может кто объяснить почему по шарпу курсов и книг гораздо меньше чем по той же явке Потому что ява на несколько лет старше, изначально была платформонезависимой, а шарп до недавнего времени был виндоус онли(моно не в счет) и анально огражден, для него даже среды разработки не было помимо студии, которая раньше была платная, подписка на мсдн была платная, все было платное и огражденное, в то время, как ява даже в вузах преподается. >Слышал что шарп идет семимильными шагами , что хорошо, но там идет дикий выпил старого и совместимости версий нет от слова совсем. Это правда? Действительно придется постоянно переписывать свой код под новую версию нета? Пиздеж. Недавно откопал в недрах архивов проект на .net 3.5, он даже на новых ос не запускался, потому что везде сейчас 3.5 отключен по умолчанию. Я его обновил до 4.6 и он работал, буквально пару строчек подправил, хотя, возможно не всегда так радужно. Хотя можно было просто включить поддержку 3.5 за полминуты и все спокойно бы работало.
>Почему же такой хороший язык еще не находится на вершине олимпа? политика майков+уменьшение популярности десктопа, где шарп всех ебал+сырость неткора+инертность рыночка. Если неткор и выстрелит, то реально это будет через несколько лет видно, но тут тоже не все радужно и интерес к кору был высокий поначалу, но сейчас уже меньше отчасти потому что у майкрософт СВОЕ ВИДЕНИЕ относительно того, что нужно людям, некоторые известные проблемы по году раньше висели, пока подгонялись новые фичи, сейчас, вроде, с этим получше.
>>1231501 (OP) Ньюфаг на связи. Как в wf в picturebox подгружать с imagelocation пикчи без утечки памяти? Пробовал по разному dispose, начинают сыпаться ексепшны, не срабатывает ErrorImage (да, у меня файл может быть и не пикча).
>>1271645 Вообще работаю над системой инветаря. Там есть разные слоты которые проноумерованы (массив многомерный) 0 1 2 3 4 5 и т.д Когда вещь ложится от массива отнимается определённое число. Скажем В слот с 3х3 клетками 1 1 1 1 1 1 1 1 1 Ложат вещь размером 2х3. То от массива отнимаем -1 -1 -1 -1 -1 -1 и остаётся 0 0 0 0 0 0 1 1 1 Вот и пробую сложить и отнимать массивы. А как правильно элементы задавать ?
>>1271750 >может кто объяснить почему по шарпу курсов и книг гораздо меньше чем по той же явке? А зачем тебе много то? Изучил синтаксис и основы, ну и погружайся в технологии. Или тебе двадцать книг надо о том, как хеловорд писать?
Почему в WPF привязанная команда может не работать? Всё ли я делаю как надо? Есть TabControl, в нем TabItem'ы. К TabItem.DataContext в конструкторе окна присваиваю view model, у которого public свойство - ICommand, инициализируемый в конструкторе VM. CanExecute всегда возвращает true. Саму команду привязываю у кнопки, иерархия примерно такая TabControl _TabItem __StackPanel ___StackPanel ____Button
В привязке указываю Path=DataContext.AddResource имя публичного свойства ICommand и RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabItem}}}". Оно всё компилируется и запускается, но вот команда блять не выполняется. ЧЯДНТ?
>>1272083 >в конструкторе окна MVVM, аллё, бля. Какой, нахуй, конструктор окна? Code Behind должен быть чистым, кроме инициализации там ничего не должно быть, рукожоп хуев. Или хуярь тогда, как на формах, без команд.
>>1272129 Зачем ты пихаешь датаконтекст в ресурсы? Ты его установил в конструкторе окна, больше не трогай. DataContext.SomeCommand => SomeCommand, иначе будет искаться свойство DataContext в твоей вьюмодели.
>>1272104 А причем тут это? Смысл ведь такой. В vm пишешь команду,в конструкторе ее создаешь и присваиваешь метод, который эта команда вызывает. Во вьюхе же просто на команду ссылаешься, все.
Кто хочет заработать? Есть один код с гитхаба и мне надо в ближайшее время разобраться в его работе не построчно, а в общем, разжевать что и в какой последовательности запускать чтоб РАБОТАЛО Кого заинтересовало - телега tildel
>>1273224 Это зависит от контекста. Если пришло отрицательное значение, но приходить оно было не должно, то кидай исключение. Если отрицательное значение законно, и логика приложения диктует трактовать его как ноль, то ставь 0.
>>1273224 Смотря что это, в аспкоре есть валидация модели, можно удобно выставить рамки с помощью аттрибутов или можно на стороне клиента прям формочкам рамки ебануть с помощью жиквери
Если ты знаешь, что такое может быть, то обрабатывай, а не кидай исключение, исключение для экстренных случаев, а не чтобы оно на нормальной основе вылетало. т.е. если ты долбоеб и теоретически не знаешь, что на ноль делить нельзя, например, то ставить исключение там нормально, но если ты знаешь, что на ноль делить нельзя, ты обработаешь эту хуйню, а не будешь ставить trycatch чтобы он тебе деление на ноль ловил
Анончики-андройчики. СкОжите пожалуйста про лицензию Xamarin Могу ли я бесплатно деплоить на нем приложения в Play.Markete? Могу ли я монетизировать программы на этом фрейворке?
Привет. Семпаи сказали, что у меня слабое ООП. Явно без надежды, что я что-то пойму, упомянули какой-то солид и шаблоны проектирования. Второе звучит знакомо, и это наверняка выдаёт и вам слабость моего ООП.
Хочу вылечиться, но через укрепление моего сисярпа. Чтобы мои сисярп и ООП крепли и укрепляли друг друга. Может есть очешуенная книжечка или ещё что-то?
У меня отличный английский, так что на крайний случай подскажите какими ключевыми словами беспокоить коллег с западных борд.
Антоны, есть база данных подключенная в DataGridView через tableadapterы, как можно получить все значения столбца из таблицы? Вообще не понимаю, где информацию брать по этой теме, гугл не особо помогает.
ADO.net вроде это говно называется если не лень книжки читать. Я сам не изучал, несколько лет назад приходилось сталкиваться с этим старьём, тоже гуглил.
>>1273476 Я бы ещё предостерёг, чтобы не путал с ADO, это уж точно старьё. Да, сложно, но пациент, говоря о базе данных, выдал "все значения столбца из таблицы", и больше я могу только пожелать удачи этому храбрецу.
>>1273478 Тупо "выполнить запрос", ну нет таблиц и строк (кроме как типа) в базах данных. Есть отношения, их схемы состоят из атрибутов, значения атрибутов формируют кортежи. Так что тупо "выполнить запрос", так, пожалуй, лучше, если нет времени объяснять.
>>1273480 Сложно это переварить, я привык считать, что есть база данных с таблицами, в которых есть столбцы и строки. Кстати, все было довольно таки легко, нужно было всего-лишь: var ids = exceltable.AsEnumerable().Select(r => r.Field<float>("A")).ToList();
>>1271750 > может кто объяснить почему по шарпу курсов и книг гораздо меньше чем по той же явке? Такое ощущение что людям просто пофиг на шарп и его поддержка это удел microsoft. Ява - язык широкогл профиля, шарп - по сути нигде кроме веба не применяется. >Слышал что шарп идет семимильными шагами , что хорошо, но там идет дикий выпил старого и совместимости версий нет от слова совсем. Это правда? Действительно придется постоянно переписывать свой код под новую версию нета? Не совсем правда. И код не переписывают под новую версию в случае чего. Просто сядят на старой. > Хочу выбрать это чудо как основной язык. Пробовал плюсы (дико сложно), яву. Может, программирование - не твое? Шарп и ява не легче, просто в плюсах некоторые концепции нужно понимать даже чтобы условный хеллоу ворлд написать, а в них - нет. Но в процессе изучения языка для возможности применять шарп или яву в реальной разработке тебе придятся освоить и куда более сложные концепции, нежели те, что ты уже в плюсах встретил. Плюсы не сложные, просто некоторые простые вещи в них программисту нужно делать ручками. >От последнего много начитался плохого, что язык позиции сдает и после выпила андроида останется лишь поддерживать старый код в юизнесе больших дядь. Это может и приносит деньги, но хочется нормально поработать все-таки. Опять же, все в какой-то мере так, вот только джава теряет позиции, которых у шарпа нет и не будет. >Да и сама политика Oracle: введение платной поддержки, отказ от джавы ее, и многочисленные вопли что компания убивает джаву заставляет насторожится. Программирование не так работает. Если языком пользуются и язык развивают - всегда будут крики про то, что его убивают. Это не повод насторожиться, это показатель того, что все идет нормально. >По вакансиям ситуация пока 80 у нета и 140 у явы в моем мухосранске, но за 5 лет сильно изменится(я так думаю). Для работы за рубежом хороший вариант? В на seek позиции тоже не шибко хороши 901 против 1.4 к у явы. Почему же такой хороший язык еще не находится на вершине олимпа? Может я не понимаю что?
>>1274231 >Если языком пользуются и язык развивают - всегда будут крики про то, что его убивают. Это не повод насторожиться, это показатель того, что все идет нормально.
Какой же ты долбоёб, шёл бы нахуй со своими дебильными советами.
СДЕЛАЛ СЕРВАК ВЕБАПИ НА АСПКОРЕ @ СТАБИЛЬНО 80 МБ ОПЕРАТИВКИ, КРАСОТА @ РЕШИЛ ПРИКЛЕИТЬ ВЬЮХУ С ОПИСАНИЕМ АПИ @ ПОДКЛЮЧИЛ БУТСТРАП ДЛЯ КРАСИВЫХ КНОПОЧЕК @ ЧЕРЕЗ ЧАС ДОЛБЕЖКИ ПОСТМЕНОМ ЖРЕТ 260+МБ, ХОТЯ ВЬЮХУ ДАЖЕ НЕ ОТКРЫВАЛ @ НЕДОВОЛЬНО УРЧИШ
как объяснить эту хуйню? у меня стоит вьюха с описанием на /home, поэтому когда конкретно к апи обращашься, она даже не открывается, но память стабильно утекает куда-то. без вьюхи все норм
Пытаюсь уменьшить версию фреймворка одного десктоп проекта до 4, понизил все таргеты в собственно проектах и все нугетпакеты но в всё равно без .net 4.5 не запускается. Как диагностировать источник проблемы, есть для этого инструменты?
Хули так слоооооожна? Делегаты, эвенты, лямбда-выражения - охуеть можно. Где можно нормальные материалы по языку найти, с нормальным кодом в нормальном проекте (а не стопицотом калькуляторе), где объяснено что, как и почему?
>>1275192 Какое выкатываться? Ты зарплаты у программистов видел? Какие метаниты с мсднами? Там абстрактная хуйня, а мне нужен взрослый код взрослых дядек для взрослого решения взрослых бизнес-задач. И еще чтобы взрослый дядька пояснял, почему он накодил то, что накодил. Ведь чтобы стать синьором - нужно думать как синьор, а как я смогу так думать, если не знаю, что у них в голове происходит?
>>1275209 Блядь тебе что нужно? Если аспкор, то на каждой второй странице мсдн ссылка на гитхаб аспкора , где примером от взрослых дядь до пизды, там кстати помимо аспкора дохуя всего https://github.com/aspnet/samples. Именно лаконичных простых примеров по куче разных тем. По тупо дотнету тоже куча примеров на том же мсдн, не еби мозги
Какого хрена значение свойства во вьюмодели меняется до того, как отработает coerceValueCallback в dp? Это норма? У меня от этого прилетают не корректные значения.
Суть такова: Есть текстовый документ в котором я регулярками хочу копипастить некоторые абзацы текста.
Все бы ничего, но в тексте попадаются адреса и и при попытке считать их регуляркой на моменте
>Regex _Old_text = new Regex(rtbPrebaff.Text);
Программа крашиться. Опытным путем выяснено, что вся загвоздка в слешах. Попробовал хитрым путем на входе в регулярку экранировать слеш вторым слешом
Regex _Chert = new Regex(@"\\"); rtbExample.Text = _Chert.Replace(rtbPrebaff.Text, "\\\\");
Прога крашиться перестала, но слешы нихуя не экранировались и копируются двойными, что мне естественно нахуй не надо. Помогите начинающему нубасу. Что я делаю не так
>>1275623 >но слешы нихуя не экранировались и копируются двойными, что мне естественно нахуй не надо Чо? Ты можешь нормально объяснить, что у тебя получается и что ты хочешь, чтобы получалось или ты шизоид и способен только бред нести?
>>1275691 Что не понятного то, мне нужно чтобы регулярка создавалась динамически. Она ругается на слеши. Если их экранировать - регулярка ничего не находит, так как целит в двойные слеши. Замкнутый круг, бля.
>>1275692 Я еще слишком слаб в шарпе походу. Там рили можно чего то динамически создавать? Это как вообще? В зависимости от условий своя? В чем тогда проблема впихнуть свое условие на слеши тогда?
>>1275748 >Там рили можно чего то динамически создавать? Естественно можно, это высокоуровневый язык программирования, а не какой то там ссаный гамак.
>Это как вообще? Не знаю как делают профи, я делал так >Regex _Old_text = new Regex(rtbPrebaff.Text);
>В чем тогда проблема впихнуть свое условие на слеши тогда Ну я на подаче и пытался экранировать собственно. Даже использовал одну регулярку на входе другой лол. Только оно не работало.
В общем я сумел таки решить проблему. Тред почти мертвый видать Оказалось при использовании второй регулярки на первую я наложал с синтаксисом. Теперь вроде больше не ругается и не крашится.
Помогите кароч определиться. Сейчас я 1С макакен с планом выкатиться из 1С и вкатиться в дотнет. Причина не в том что я не люблю 1С как платформу, а в том что я заебался от постоянного общения с бухгалтерами, мне нравится чисто программирование, поэтому 1С для меня не лучший вариант. В принципе с учебными материалами для меня все понятно, иду по плану из ОП-поста, сейчас читаю C# Player's guide, потом думаю продолжить Троелсоном, а дальше уже либо выберу себе специализацию детальней - или asp.net, или чистой декстоп и формочки. Но вот чего я не знаю, так это, собственно, какие подводные камни могут быть? Пока я только осознаю что после 1С мне надо обучаться всем этим архитектурам кода, MVC как минимум там, всякие фабрики-хуябрики, нашел даже книгу по этой теме - "Паттерны проектирования" Фримена - сойдет или старье полное? Но самое главное для меня даже не это, а то, что я совсем не понимаю специфики задач которые решают дотнетчики. Т.е. вот как 1Сник я занимаюсь реализацией бизнес процессов, всякая учетная-расчетная хуита, планирование, ну собственно ERP как оно есть. А у шарпистов что? Какие чаще всего проекты в компаниях, какие задачки дают джунам-вкатывальщикам? Вот для меня это самый стремный момент, я вообще человек без технического образования и более-менее представляю себе пограмирование только в виде веб-макакинга(начинал изучать погромирование с пхп) и того что я описал в 1С. Сумбурно в общем вышло, но буду благодарен если кто мне пояснить что к чему.
>>1275958 >в 1с ЗП может быть в разы больше. Для меня зарплаты не главное же. Да достигаются такие зарплаты путем прокачки охуительных социоблядских скилов, которые мне недоступны. Для меня главное сейчас понять предметное поле задач, которые решают шарписты.
>>1275964 > >>в 1с ЗП может быть в разы больше. >Для меня зарплаты не главное же. Да достигаются такие зарплаты путем прокачки охуительных социоблядских скилов, которые мне недоступны. Для меня главное сейчас понять предметное поле задач, которые решают шарписты.
>>1275967 >2) Enterprise software / enterpise Web Вот для меня не очень очевидно что это такое. Это что, в общем, всякие ERP и CRM для бизнеса, не? А то определение весьма расплывчато.
>>1275972 > >Вот для меня не очень очевидно что это такое. Это что, в общем, всякие ERP и CRM для бизнеса, не? А то определение весьма расплывчато. Это любые программы под Windows, от чатов до ERP/CRM
>>1276306 Шилдт - животное больное, джавист поехавший. Читай c# player's guide/c# in a nutshell если совсем тупой, Рихтера/Троелсена - если есть база какая-то. Полезно будет почитать metanit
>>1276534 > Читай c# player's guide/c# in a nutshell если совсем тупой, Рихтера/Троелсена - если есть база какая-то. Полезно будет почитать metanit обязательно на оригинальном Ангрийском
Почему среди сишарпистов такой дроч на Рихтера? Дочитал до 400-й страницы, мало того, что все очень уныло написано и читать сложно, так еще и нет никакой последовательности практически, у меня иногда вообще возникает ощущение, что книгу нужно читать с конца. А чего-то нового после Троелсона и метанита я пока так особо и не узнал.
>>1276980 >Рихтера Потому что ты дебил и даже не понял, что главы не связаны, там различные аспекты работы clr описаны. Написано бодро и легко читается, особенно, часть про потоки. Либо ты читаешь жопой, ничего подобного ни на метаните, ни у троелсона нет.
>>1277347 >Я слышал, что для работы с БД обязательно нужно знать алгоритмы поиска по дереву? Нахуя? Ты что, дурак? Для работы с БД тебе надо знать entity framework.
Здравствуйте, уважаемые знатоки С#. Скажите, пожалуйста, какое ПО мне необходимо для написания программы для Win10? Сказали VisualStudio, но что именно в нем? Тут куча всяких дополнений и все это удовольствие весит под 60 гигов.
>>1277491 Уточню- Искажаемое изображение это не файл, а то что выводится на монитор. Если мои поверхностные знания подсказывают правильно- изображение с видеоадаптера должно пропускаться как-раз через это программу и только потом выходить на экран. Вопрос- хватит ли мне функционала WPF?
Как передавать одной функции другую функцию в качестве аргумента, чтобы можно было реализовать такой код (https://pastebin.com/E8F5UV0E)? Делегаты гуглил, но не нашел, как их применить, чтобы достичь такого результата.
>>1277086 >Потому что ты дебил и даже не понял, что главы не связаны Блять, сириусли? А я читаю такой и думаю, ну что за говно, почему главы не связаны, лол.
>>1277495 >Вопрос- хватит ли мне функционала WPF? wpf - это технология для работы с окнами в винде. Выводить то ты ведь в оконном приложении будешь? Значит и юзай wpf.
Пацаны, видели, что они впф и ВИНФОРМС блядь добавят в неткор 3? То есть сначала у них был типа лайтвейт кросплатформенная среда, а теперь они собираются добавить ВИНФОРМС БЛЯДЬ. У меня у одного горит от этого? Сука, нахуя, нахуя блядь? Кому блядь нужен винформс на коре? Да даже ебучий впф хотели на коре, потому что мечтали о кроссплатформе, а нахуя пихать в кор виндовс онли компоненты? Один хуй призм несовместим будет, инструменты от телерик несовестимы, дохуя библиотек несовместима, вряд ли все это будут переписывать под кор. В итоге закончит, как нет фреймворк, размером в 400+ мегабайт, с кучей виндовс онли компонентов и нужный только дятлам, которые в очередной раз купились на пиздеж Майкрософта. А те в свою очередь выпустят новую среду, а эта будет как фреймворк сейчас, ФИЧ МНОГО ВАМ НЕ ДАДИМ, ШОБ БЕКВАРД КОМПАБИЛИТИ НЕ ЛОМАТЬ, НО ВОТ ВАМ СЕКЬЮРИТИ ПАТЧ И ДВА ФИКСА ДЛЯ ВИНФОРМС))
>>1278165 1. Разная база как минимум, сейчас в коре нет части неймспейсов и классов, которые есть в .нет, получается, часть из них с впф и винформс придет на винду и будет код, несовместимый с другими осями. 2. Вообще целесообразность. Я бы понял ещё добавить впф, но нахуя винформс? Винформс в 99 случаях из 100 это ебаное легаси, которое один хуй не будут перебрасывать на кор ради какого-то там ебаного процента в производительности. Всякие студпроекты и тестовые приложухи из 2х окон вполне отлично пишутся и под дотнетом. Нахуя впердоливать лишнее в компактную среду, если это не нужно никому. Ну ебанули бы тогда ещё сильверлайт в довесок, хули. Лучше бы тогда уж навесили подобие вебформс для аспкора, и то больше пользы было бы. 3. Я уже написал, что наверняка это теперь будет несовместимо с тем же PRISM и явно будет несовместимо с кучей либ, написанных под дотнет. Всегда было проблемой, что дохуя либ с алгоритмами и упрощающими жизнь классами есть на Джаву, а на сисярпе городишь велосипеды. И тут они хуякс и хотят пересадить всех на кор, под который помимо вебхуйни ничего и нету. Попробуй сравнить сторонние библиотеки для работы с изображениями под .нет и кор, поймешь о чем я. >просто не подключаешь пакет и всё. Охуенно, только отошли от этой залупы, которая в первом неткоре была с десятком обязательных подключаемых пакетов.
На пикриле моя диаграмма зависимостей для солюшна. Согласно манифесту 12 factor app, Landing и CMS должны быть в отдельных репозиториях. Сейчас всё хранится в одном. Я могу разнести эти два проекта по разным репам, но как тогда подключать к ним сервисный слой? Получается так: Подтягиваю репу с CMS, пытаюсь собрать и получаю хуй, т.к. в репе нет сервисного слоя. Ок, подтягиваю сервисный слой. Подтянул по ошибке не в ту папку, в которой прописано его местоположение в солюшне CMS, жопоболь. И таких потециальных заплётов очень много.
Я как раз ищу программиста. SQL, ASP.NET Web Forms и в меньшей степени MVC. 4 месяца ищу. Но нахожу либо пенсионеров "вернувшихся в программирование после 20 лет рыбалки", либо индусов, рассказывающих мне о "лучших практиках" от которых волосы дыбом становятся, либо студентов, знания которых широки, но не глубоки.
ЧЯДНТ? При запуске так ничего и не отображает. В уроках (пик 2), которыми я пользуюсь, статик не используется в первом, со статиком все работает как положено, но без него сыпятся ошибки.
>>1278825 >метод либо статик Это я еще возможно понял, а вот >требует объект не уверен. Можно подробнее? Какой код тогда в данном случае бы работал и насколько правильно показано в уроке?
>>1278837 >Нихуя не понял Извиняюсь, на нервах уже. Если повторить как написано в уроке, но в мейне не писать ничего, то и выдаст собственно ничего. А если написать как на первом пике, то без статика оно просто не заработает. И в итоге оно работает только со статиком. И я не пойму, то ли урок пропустил статик, то ли я в мейне что-то не то пишу. >пик До этого еще не добрался и, собственно, тоже >Нихуя не понял
>>1278827 Урок про параметры, там вырвано из контекста. смотри, у тебя есть класс class Poop { public void Stink(){} public static void StaticMethod(){} } Таким образом в классе програм как у тебя ты можешь вызвать статикметод без создания инстанса, а для первого метода нужен инстанс Poop Program { public void Main() { Poop poop = new Poop(); poop.Stink(); //работает poop.StaticMethod(); //не работает, так как статик метод Poop.StaticMethod(); //работает Poop.Stink(); //не работает, так как не статик метод } }
>>1278841 В смысле сырой? MS официально заявили, что теперь будут развивать только .NET Core. То есть все новые фичи будут только там. Плюс там правки по рантайму. Да и сам кор появился уже относительно давно.
>>1278666 Делается двумя способами. 1. Через ссылки на проекты 2. Через нугет-пакеты.
Я так понимаю, что это у тебя один такой большой супер-проект, так что тебе подходит первый способ. Не вижу никаких трудностей в подключении зависимостей. Делаешь проекты Anon.Services Anon.Web.Cms Anon.Web.Landing, где они находятся - вообще неважно. Лично я предпочитаю делить по папкам в соответствии с неймспейсами, то есть так бы выглядело дерево каталогов: - Anon -- Projects --- Services ---- Anon.Services.csproj --- Web ---- Landing ----- Anon.Web.Landing.csproj ---- Cms ----- Anon.Web.Cms.csproj -- Solutions --- Anon ---- Anon.sln
Солюшн "Anon.sln" создаешь, как "Blank Solution", а затем подкдючаешь в него все требуемые проекты.
Второй способ используется тогда, когда у тебя несколько больших проектов, над которыми работают разные люди, а находятся они в раных git-репозиториях. В таком случае нужно создать свой nuget-server закрытый. И тот проект, который ты хочешь подключить к своему, превратить в nuget-package, отправив на свой nuget-server. А в том проекте, в котором ты хочешь подключить, добавить источник в файлике nuget.config, который будет этот твой нугет-сервер описывать, а так же в настройках вижуал студии-nuget package manager settings - прописать тот же источник. После чего подключить зависимость в твоем проекте, просто скачав требуемый пакет со своего нугет-сервера. Например, два суперпроекта: Anon - то, что описано выше Integration - другой проект, который умеет, скажем, получать доступ к данным Гугл-аналитики и яндекс-директа. Его структура такая: Integration -- Services --- Google ---- Integration.Services.Google.csproj --- Yandex ---- Integration.Services.Yandex.csproj Вот ты берешь и превращаешь этот Integration.Servicea.Google.csproj в нугет-пакет и кладешь на свой же нугет-сервер. Потом звходишь в своей проект (Anon) и для проекта Anon.Services.csproj устанавливаешь этот пакет Install-Package Integration.Services.Google. Все, теперь можешь им у себя пользоваться.
Но мне кажется, что в твоем случае достаточно первого способа, потому что ты все пилишь сам и в рамках одного супер-проекта.
>>1276980 В Рихтере намного больше информации, чем на метаните. Большое внимание уделяется внутренней стороне работы .NET. Про потоки хорошо разжёвано.
Главы действительно не связаны между собой. Это фича, а не баг.
ЧЯДНТ на этот раз? Почему он вообще не видит мейн? Я уже чуть ли не скопировал этот код с урока, а эта ошибка всё время вылезает. При этом то же самое спокойно работает на самом сайте.
Есть у меня одна карточная игруха реализованная на консольном уровне, и теперь думаю как мне её переписать то лучше и заодно поизучать новые инструменты, asp.net + js или на ксамарине под ведро? С чего лучше начать?
>>1278893 Благодарю за ответ. Скажу сразу, что на самом деле я пилю всё не один. Сейчас у нас монорепозиторий, я же хочу переходить к множеству репозиториев под каждый проект. В таком случае мне не совсем понятно как организовать добавление зависимостей по ссылкам на проекты. Понятно, что можно создать пустой солют и в него напихать проектов, это даже будет билдиться. Изменю веб-проект - создам коммит в репу веб-проекта, изменю бизнес-логику - создам коммит в репозиторий services. Но как это катать через CI (Jenkins, TeamCity)?
Буду признателен если стерпишь мои глупые вопросы и пояснишь.
>>1278893 >>1279170 Дополню. Учитывая что я не один, такой подход вызовет много боли у новых сотрудников, т.к. теперь не достаточно склонировать репу условной CMS, теперь ещё надо клонить репу Services, организовывать это как-то в солюшн. А ведь есть ещё как минимум слои инфраструктуры и доменных моделей. Наверняка ещё какие-то зависимости найдутся. Тупо собрать всё правильно в один солют - уже задача не тривиальная. Или я упорно чего-то не понимаю?
Решил посмотреть на этот ваш СИ-ШАРПсам учу плюсы уже месяца 3-4 и АХУЕЛ! Почему так легко? Все работает прям из коробки, не надо писать тонны лишнего кода и много думать. ПИЗДЕЦ! И что мне делать теперь? inb4: вкатываться в шарпы
Программач, есть одна проблема. Учу язык, тестирую сейчас перегружаемые операторы. Вот код: https://pastebin.com/qrjJyNGL
Суть я думаю максимально проста - тройной вектор, несколько операций сложения, вычитания и т.д.
Один из операторов должен вызывать отрицательную версию получаемого вектора (1, 2, -3 станет -1, -2, 3). Но после того как это происходит он меняет в том числе и тот вектор, что подается в качестве параметра. В итоге после получения result_star3 меняется и оригинальный star что мы подаем ему, что делает неправильными результаты и следующего вектора. Может кто-нибудь объяснить где я проебался?
>>1279243 Дополню. Замена оператора -- на ! позволила запускать программу правильно - параметры больше не трогались. Шо за нахуй? Теперь я ещё больше не понимаю что произошло.
>>1279243 Я так понимаю для этого ты перегружаешь декримент, но зачем, почему бы не перегрузить унарный "-", а не "--"?
Я сам ньюфаг, может несу хуйню, но вдруг компиль сам дописывает присваивание нового значения изначальному вектору, видя что перегружен именно декремент, чтобы все работало как ожидается при перегрузке декремента. Попробуй перегрузить унарный "-".
>>1279243 Алсо, ты в Visual Studio пишешь? Пройдись дебагером нажимая F11, и вообще привыкай так решать свои проблемы, просто посмотри какая версия функции вызывается, на каком моменте присваивается новое значение и т.д. Там снизу будет поле где отображаются локальные переменные, их можно добавить в "Watch" и наблюдать за ними даже когда они вне области видимости функции. Дебагер вообще сильно помогает быстро понять ошибку и больше её не допускать, чем раньше ты научишься им пользоваться - тем лучше.
Хотя, опять таки, я сам нуфаня, можешь меня нахуй послать с моими советами.
>>1278827 Ну смотри, static методы и переменные принадлежат не конкретному объекту, а всему классу, т.е, допустим, есть класс Foo, с не static функцией print(): Foo A; A.print();
В этом случае нужен созданный объект класа, для того чтобы вызвать функцию.
А если функция print() - static, то вызывать её можно таким образом: Foo.print(); Соответственно теперь объект для вызова функции не требуется.
Это в шарпе, в плюсах кстати так же, только там синтаксис был бы такой: Foo::print();
>>1279175 Значит, тебе нужен второй способ - с нугет-пакетами.
Теперь тебе, как разработчику, который хависит от кучи других реп, не нужно их(другие репы) к себе клонировать/пулить.
Эти другие репозитории должны быть превращены в нугет-пакеты. Как это сделать через CI? Оч просто. Для каждого проекта у тебя будет отдельный git-репозиторий, для которого ты должен настроить тригеры, по которым проекты их этих репозитории будут собираться и пушиться на твой нугет-сервер.
Почитай мой предыдущий пост (пункт 2). Как создать свой нугер-сервер:
bl og.zwezdin.co m/2013/how-to-setup-nuget-server/ В CI ты должен своего агента настроить таким образом, чтобы он выполнял следующие шаги 1. nuget(или dotnet, если core) restore 2. nuget(или dotnet, если core) build 3. nuget(или dotnet, если core) pack 4. nuget(тут всегда nuget) push
особое внимание стоит уделить нумерации версий, я не знаю, как это делается в тех штуках, что ты привел. в team Services можно настроить нумерацию относительно сегодняшней даты с форматом yy.MM.dd.releaseVer, например, 18.10.15.4, если сегодня было уже 4 релиза этого пакета.
В итоге что имеем: 1. N проектов, которые в дальнейшем будут включены в твоём текущем проекте. 2. На каждый из этих проектов настроен CI, так что при коммите проекты билдятся и пушатся в твоей нугет-сервер 3. Твоей проект, в котором ты установил эти нугет-пакеты
И так ты должен поступать с любым проектом, который используется другим твоим проектом или использует другой твой проект. Вот и всё. А всю конфигураци. храни в одном месте на сервере в каком-нибудь appsettings.json, в который будем уметь лазить один из твоих проектов и возвращать статичный класс со всеми значениями этой конфигурации.
Народ, подскажите как выровнять выпадающее меню, чтобы не выходило за пределы окна. Такое вообще первый раз вижу. Так же заметил что меню у самой visual sludio ведет себя так же. В общем, как привести его к нормальному виду, прижатому к левому краю окна?
>>1279419 Я знаю, но тут именно что идет перегрузка оператора с прописыванием ему другого функционала при взаимодействии классов. И этот функционал работает как надо за исключением вот этой странности с влиянием на параметры.
>>1279615 public static Vector3 operator -(Vector3 a)
Тебе так написать религия не позволяет? Это чисто логически правильно, понимаешь? Декремент это конкретная функция, которая выполняет конкретную задачу, для твоей задачи нужно унарный минус перегружать, если тебе нужно будет декремент перегрузить что ты делать будешь?
Насколько сложно с аспкора на MVC5 пересесть? Сразу заметил, что дохуя штук, которые в коре в стартап хуярятся, разбросано по файлам в разных папках, но помимо этого пока серьезной разницы не заметил. Можно ли зная аспкор претендовать на вакансии, где требуется знание аспа или там где-то зарыт пиздец?
Как быстро найти дубли в списке пар? Пробовал линком, сам циклы писал в стиле с все равно выходит 2-секунды для 500 элементов, это ж ппц как много. Что делать???
>>1231501 (OP) Как вкатиться в .NET? Имею небольшой опыт программирования всякой лабуды для лаб по информатике, немного могу в расчёты (в основном на python), немного могу в ООП. Изучал шарп ещё 2 года назад, но забил. Как не перегореть в изучении, где можно найти либо сайт с темами и задачами по темам, либо какие-нибудь курсы. Или вообще стоит начать с разработки приложения вроде какого-нибудь калькулятора, но не будут ли знания крайне поверхностными? С какого момента можно идти на собеседования за еду?
Как проверить, доступен ли хост, прежде чем посылать реквесты? Т.е. я использую httpClient.GetAsync, он может выкинуть исключение типа "No such host is known", которое, конечно, можно поймать и обработать, но я читал, что хорошая практика - не использовать трайкэтч, когда возможно, т.е. здесь надо заранее получить инфу и потом уже в случае, если все норм, ддействовать, но нихуя нигде не написано, все кэтчами обмазываются
>>1280193 видео не смотри@в тред отвечай Несколько нюансов. Ты можешь и вручную перебирать или делать другую непотребщину с помощью MoveNext и Current . Форичу впринципе поебать на этот интерфейс ему нужно, чтобы объект имел метод GetEnumerator, который возвращает объект с MoveNext и Current (пикрелейтед заведется без проблем). И наконец интерфейсы не наследуются, а реализуются.
>>1280252 https://docs.microsoft.com/ru-ru/dotnet/standard/exceptions/best-practices-for-exceptions >For conditions that are likely to occur but might trigger an exception, consider handling them in a way that will avoid the exception. For example, if you try to close a connection that is already closed, you'll get an InvalidOperationException. You can avoid that by using an if statement to check the connection state before trying to close it.
Я в другом месте читал, но вот авторитетный источник. Недоступный сервак это слишком очевидно, сейчас ковыряю, кажется через Ping.SendAsync(host, timeout) можно пинговать и в случае чего обрабатывать
>>1280251 О том что в c# есть рефлексия и форичу надо лишь movenext и current создать для коллекции это я из видео понял, но ведь хорошим тоном будет реализация IEnumerable, чтобы человек, который будет смотреть мой код сразу понял.
Сап аноны, назрел вопрос по поводу глобальных переменных.
Почему все их так недолюбливают? Какие у них недостатки? Только начал учить С#, смотрел ролик по паттерну singleton - https://youtu.be/3u4Q8lXZljg
Примерно на 3:50 автор упоминает что синглтон критикуют, за то что он "вводит глобальные переменные". Поясните ньюфане что с ними не так? А то я даже хз как гуглить.
Я на среднем уровне знаю С++, когда мы его учили препод тоже запрещал пользоваться глобальными переменными, но я или прослушал, или он объяснял почему так когда меня не было.
>>1280398 >Примерно на 3:50 автор упоминает что синглтон критикуют, за то что он "вводит глобальные переменные". Поясните ньюфане что с ними не так? А то я даже хз как гуглить.
Он сам по себе по сути является глобальной переменной.
Как блять пофиксить эту ебаную ошибку? Все перегуглил везде пишут добавь [STAThread] перед main. Я добавил и нихуя. Блять сгореел к хуям уже целый час сижу думаю.
Пытаюсь вызвать функцию в втором потоке: Thread myThread = new Thread(func); myThread.Start();
У меня есть строка, пик 1. Я прочитал, что по хорошему нужно для ReadAsStringAsync тоже стоит поставить await, но у меня получается только как на пике 2. Можно ли как то 2 await'a ебануть в одну строку, чтобы как на первом пике, только перед ReadAsStringAsync ещё один await? Тупо подставить не получается естественно
https://github.com/CSharpShapka/SharpHat/wiki
Прошлый:
https://2ch.hk/pr/res/1194718.html