Шапка https://github.com/CSharpShapka/SharpHat/wikiПрошлый >>985689 (OP)
Можно кодить под микроконтроллеры на C#? Как это выглядит?
Господа, подскажите, какой минимальный стек и на каком уровне нужно знать, что бы вкатится на джуна? Учу шарп + юнити, хочу в геймдев, но ради практических задач и команды пойду куда угодно.Спасибо.
>>992657вангую, что нет. Зачем? У мк ограниченный ресурсы, а шарп, хоть и относительно быстрый, но всё же расточительный. Я уже молчу про размеры всех стандартных библиотек весом в полгига.Да и нахуй он при программировании мк не нужен, вполне хватает Сишки.
>>992680>юнитибесполезно
>>992654 (OP)Я переделал кусок кода, но он мне все равно не нравится http://ideone.com/dyLv6KПомогите что-то поменять.
>>992680c#, какие есть библиотеки в .net, как работает clr, (winforms, asp.net, wpf), ado.net, ооп, паттерны mvc mvp и какая-нибудь субд, скорее всего ms sql server
>>9926851. Изучить шарп2. Освоить юнити3. Сделать лайтовый платформер под мобилки4. Показать на собеседовании ...5. PROFIT!Где я проебался и почему не взлетит? Желательно с пояснением.
>>992694взлетитможет не взлететь, если код лютое говно, а ты необучаемый долбоеб. так что обязательно пишешь в резюмехе: "ЛЕГКО ОБУЧАЕМ", жирным шрифтом, да побольше
>>992691Благодарю.
>>992694потому, что юните очень специфичная хуйня, на неё джунов оочень редно берут.
>>992657Если сможешь .net framework на него установить, то можно.
>>992758Не обязательно на должность юнити разраба. Это делается скорее для получения представления о разработке игр и создания портфолио.
Анон, есть задачка под asp MVC - >Application has to determine sitemap of requested URL, sends >requests>to sitemap’s URLs and measure response time.Я вот никак не могу понять как сайтмап стянуть с юрл.inb4 - я только учусь и знаю основы (надеюсь что знаю)
>>992680>>юнити>>геймдевАртём, прекрати
Раз уж речь зашла об играх, никто в простом проекте поучаствовать не хочет? Я неделю изучаю C#, как либу взял SFML, потому что до этого много работал с ней на С++, а Unity и XNA слишком тяжёлые. Проблема SFML только с клоунадой биндингов .NET -> C -> C++, из-за чего возникают проблемы со сборкой, а вообще либа простая и удобная.
>>992799Эти охуенные пояснения для нюфагов. Видишь же что у меня нет опыта и я не особо шарю, но нет, надо выебнутся на пустом месте, не приводя аргументов и не предлагая альтернатив. Если умный дохуя, подскажи как вкатится в геймдев.
>>992812>>подскажи как вкатится в геймдев.Сколько тебе лет?
>>992817>>992799>Сажа в тематикеНихуя ты борцун.
>>992812Если привлекает идея просто рисовать в окне спрайты и цветные фигуры, то SFML твой выбор, Unity это комбайн-конструктор игр мышкой для даунов. С основами могу помочь, я на этой либе в связке с Box2D целый движок делал.
>>992826ИзвиниЧувствую себя сволочьюРебёнка обидел
>>992828Ты не понялОн хочет батлу свою сделатьШтобы мышкой и штобы экшон был
>>992838Аноны, не слушайте этого ебаната!Я хочу танки толька с Т90 и Арматой
>>992817>>992837Я попал в /б или ты тут такой один? Говорю же, не шарю, спрашиваю совета, а ты тут со своими охуенно полезными советами флуд разводишь. >>992828>> Unity это комбайн-конструктор игр мышкой для дауновМожет быть, но для начала - сойдет, а там видно будет куда дальше двигать. Или есть альтернативные пути?
>>992837>>992838>>992841>>Сделать лайтовый платформер под мобилки>>Что бы было что показать на собеседовании >>Он хочет батлу свою сделать>>Я хочу танки толька с Т90 и АрматойНу да, точно /б. Обсаженный семен.
>>992842>Или есть альтернативные пути?Лично для тебя - нет.
Ну-же, сеньёры, помогите. Достаточно чекать sitemap.xml и robots.txt или может нужно ручками генерить сайтмап на сервисах? Задачка на собеседование, нужно сделать страничку с текстбоксом, в него пишешь юрл, и приложение по сайтмапу проверяет отклик всех страниц и сортирует по самому длинному отклику. Может кто поможет хотя-бы с примерное реализацией? Проблема как найти и обработать сайтмап.>>992790
Где почитать/посмотреть про реализацию модульности в проекте? Хотелось бы разобраться, как это создаётся: есть одна базовая программа, но при желании к ней присоединяются модули (плагины?), а потом отключаются.
>>992842>>Или есть альтернативные пути?В ВУЗ поступиК концу магистратуры верстальщиком станешь
Что в стрингах значит @ перед кавычками? Вроде тогоstring str = @"хуета";И почему часть имен называют с нижним подчеркиванием перед названием переменной? Вроде_name
>>992896>@ перед кавычкамиигнорирование спецальных символов>нижним подчеркиванием перед названием переменнойчтобы не путать локальные переменные с полями класса. один раз 2 дня дебажил прогу, а оказалось, что моя строка в конструкторе создает новую переменную вместо того, чтобы приравнивать значение уже существующей.
>>992896@ говорит что строка должна быть в UTF8._ сохраняет имя переменной в байткоде чтобы к ней можно было получить доступ из другого языка.
В треде есть кто-то разбирающийся в MVVM с WPF?
>>992905дядя, ты дурак?
Допустим есть пустой список объектов List<Book> с двумя полями Title и Author. И допустим есть список текстовых названий книг List<string>. Как мне присвоить списку книг список названий с пустым вторым полем? То есть, автоматизировать вторую строчку без цикла:List<string> Titles= new List<string>(new string[] { "title1", "title2", "title3" });List<Book> Books = new List<Book>{new Book{Title = Titles[0], Author = string.Empty}, new Book{Title = Titles[1], Author = string.Empty}, 'и тд.'};
>>992870mef>>992915мог бы просто задать вопрос>>992928titles.Select(s=>new Book{Name=s}).ToList()
>>992931>titles.Select(s=>new Book{Name=s}).ToList()Это тот самый linq? Если да, то учить обязательно, если я вкатываюсь в шарп? Просто я даже не понимаю, что эта штука должна возвращать и должна ли вообще возвращать что-то.
>>992932> обязательнода
>>992932Это линк. Учить обязательно. Почти все LINQ выражения возвращают IEnumerable<T> - интерфейс, который имплементируют чуть менее чем все коллекции.
>>992934Ок, ушел учить. Но все равно, не мог бы ты подсказать, что и как твоя конструкция возвращает? Я догадываюсь, что select выбирает все значения из списка titles, а дальше хуй пойми что. Можешь написать целую рабочую строку кода для моего случая?
>>992870>Хотелось бы разобраться, как это создаётся: есть одна базовая программа, но при желании к ней присоединяются модули (плагины?), а потом отключаются.Посмотри в сторону динамической загрузки сборок.В крации, определяешь в своей программе интерфейсы плагинов, потом при загрузге базовой программы пытаешься загрузить все дллки по некоторому пути и с помощью рефлексии найти в них все классы реализующие нужные тебе интерфейсы. Это и будут плагины, причем они могут тянуть свои классы в сборке для реализации функциональности о которойй твоя прога даже не дагадывается.Сборки грузятся в отдельном домен приожения - для отлючения связаных с ними плагнинов нужно либо совсем выгрузить домен либо свою рестартануть программу.
>>992932>то учить обязательноДа, понимать обязан. Только не используй его. Крути дедовские форы в своих объектах выборки и не еби магией замыканий никому мозг. Линк - ебаный рак богоподобного шарпа
>>992936просто загляни в исходники. там у метода Select три строчки, исключая проверки
>>992949Я пока сижу в туториалах по линку, но пока я доберусь до понимания всего этого, пройдет какое-то время. Поэтому я прошу сейчас написать мне правильный линк запрос на создание правильного объекта List<Book> Books
>>992943>Линк - ебаный рак богоподобного шарпаКто рак, ты рак ёпт.
>>992953Нет ты, линкомартыха.Подчищай потом за тобой стрелочки распиханые по пропертям, дефолтным конструкторам, небу и даже Аллаху.
>>992943>>992968Ну напиши, как это сделать цикломhttps://dotnetfiddle.net/Widget/kxrLwJ
>>992970Код без раковой хуйни понятен даже недельному нюфагу.
>>992980Щас бы конструктор ебануть, когда его не было!
>>992980Спасибо. Поясни, почему ты убрал сеттеры? Ну и конструктор зачем тут нужен, да?
>>992981Чистота интерфейса, ничего не поделаешь. Только доступные конструктора говорят как можно нормально получить гарантировано работоспособный валидный объект.Твоя хуйня выше очень хрупка, если ты в один прекрасный момент решишь, что с авторами не могут работать все подряд, а только через твой IRusAutorUnion. Измение нужно будет внести только в конструктор, а не во всю стрелочную хуйню раскиданую по всей программе.
>>992984>Поясни, почему ты убрал сеттеры?Потому что они мне не нужны в этой короткой программе. Вот пока они не нужны НЕ ДОБАВЛЯЙ ИХ, как станут нужны, так сразу добавишь.>Ну и конструктор зачем тут нужен, да?Потому что у тебя специальное условие для создания нормальной книги.Booк B = new Book(); // это еще не валидная книга, у нее нет ни названия ни автора. Она полностью сломает твою программу. B.Title = "Some Title"; // только теперь она валидна.Суть конструкторов, что после них объекты должны работоспособные без всяких доопределений, про которые легко забыть.Booк B = new Book("Some Title"); // полностью валидный обект готовый к работе
>>992986>>992997Не лучше ли сделать более универсальный вариант https://dotnetfiddle.net/Widget/dtPPiD ?
Анон, подскажи, как из одного метода вернуть несколько значений?
>>993005Массив или костылями. Можешь еще глобальные переменные объявить и тогда метод сделать void.
>>992997>>992986Я тут попробовал упороться в жопу и мне понравилось. Доктор, я теперь пидор?
>>993005Через ref/out параметры можно, но это говорит о том, что ты делаешь что-то не так.В общем случае нужно возвращать экземпляр класса.>>993000Норм.
Короче, я решил пойти на компромисс и ради изучения линка оставлю именно линк, но уже с инкапсуляцией и конструктором. Благодарю за помощь.
>>993006>Можешь еще глобальные переменные объявить и тогда метод сделать voidМожешь по подробней, пожалуйста?https://pastebin.com/6BHZVBPeКак мне этих 2 значения вынести, просто я еще туплю с ключами доступа и т.п.
>>992931>мог бы просто задать вопросЗадаю. Есть файл с view, есть файл с viewmodel который с ним связан. В гайдах говорят, что для каждого значения с формы во viewmodel нужно создавать проперти для биндинга, а для каждого ивента с формы нужны создавать комманду тоже для биндинга. А где и как мне тогда писать основную логику программы? Например при ее загрузке мне нужно из файлы вытащить инфу, где прописывать соответствующие методы?
Ору с этого SQL прямо в кодеList<Book> Books = (from s in Titles select new Book(s, string.Empty)).ToList();
Ебать конечно этот MVVM сплошной ходячий костыль.
>>993023>А где и как мне тогда писать основную логику программы?в main windows?
>>993085Лучше бы сразу сказал, что не знаешь сути паттерна.
Посоны, а что на сишарпе вообще пишут? Весь фриланс на. NET?Пока для юнити изучаю, но язык нравится.
>>993094Все, вопрос закрыт.Большинство фриланса - уеб, ну ладно.
>>992980за фор в коде я бы пенис отрывал.
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}
Разве шарп может применятся в ентерпрайзе, если в исходники любой программы можно посмотреть двумя кликами?
>>993111Справедливости ради, на Жаббе так всегда было можно, гугли java дизассемблер.
>>993005Tuple
>>993023Загружай в той вьюмоделе, в которой эти данные будешь использовать. Можно для этого отдельный класс выделить или метод, смотря какие данные.
>>993120>Загружай в той вьюмоделеТогда это выходит не MVVM, а VVM, поскольку ты предлагаешь избавиться от модели и грузить всю логику во вьюмодель. А теперь представь, что у меня есть пара методов с расчетами на 500 строк, которые ко вьюмодели никакого отношения не имеют.Короче, я делаю сейчас по-другому. В солюшне будет два проекта, один обычный WPF, а второй библиотека, которую я буду подключать к обычному. Я такое видел даже в одном видео.
>>992680Вот кстати тоже юнити + шарп, только вкатился в команду юнити-разработчиков именно чтобы выучить C# он у меня со следующего курса в шараге начинается и мне пиздос без этого
>>993122>а второй библиотека, которую я буду подключать к обычномуВсе-таки я обосрался на этом пункте. В референсах добавил проект-библиотеку, в код добавил using VtoroiProjectBleat; но не могу достать до метода doNothing() из второго проекта, первый его просто не видит. Хотя сам класс видит.Что не так?
>>993140Ты статик метод пытаешься вызвать. Тебе инстанс класса нужен.
>>993143Эм... А если мне не нужен инстанс класса? Я просто хочу библиотеку.
>>993144Подумой! Подумой, что ты написал!
>>993144Сделай свой метод паблик статик инт.
>>993146Вот тебе два чая, все заработало.>>993145Что не так?
>>992943Жалко, мне линк начинал нравиться, а если вместо лямбд использовать методы, то норм? Там же просто делегаты, не обязательно использовать всякое анонимное говно.
Как добавить свойства к sealed классу?sealed class Rect {public Left;public Rght;}знаю что можно сделать static class ExtendedRect {public static GetRight(this Rect rect) { ... }}но получается что методы мешаются со свойстами, это говно какое-то
>>993237То естьpublic Left;public Top;в оригинальном классе, хотелось бы добавить Right и Bottom
>>993238Сделай класс-обёртку.
>>992654 (OP)Иногда вместо всех изображений появляется это. С чем оно связано?
Как объявить список объектов определенного размера?List<Object[]> Objects = new List<Object[SIZE]>; не работает.
>>993462Вопрос снимается.List<Object>[] Objects = new List<Object>[10];
>>993466>массив листовНу ты и садо-мазо
>>993475На самом деле там массив Task, но синтаксис одинаковый и чтобы не пугать никого тасками я написал лист.
>>993477>не пугать никогонашёл чем пугать)
>>992943 Да пошел ты нахер, клоун. Я за такими олдфагами потом код на 3/4 сокращаю божественным линком.
>>993482Линк охуенен, подтверждаю. А тот петян-неосилятор может пройти нахуй.
Смотрю курс по шарпу, там чувак байтоебит, скажите, в шарпе байтоебство что ли практикуется?
>>993510Как байтоёбит? Двигает биты и XOR AND OR их?
>>993518Ага
Я запутался в ООП, че делать, как его понять?
>>993519Такое "байтоёбство" везде практикуется, хотя бы флаги ты как собираешься реализовывать? Массивами булей? Алсо всякие шифрования, упаковки и хэшкоды их активно используют, это не байтоёбство.
>>993520Что именно не ясно?
>>993521Спосибо, я нюфаг.
Оказывается в любом NET.Framework есть компилятор C# и VB.NET.
>>993526Так вроде давно уже есть, года так с 2010
Можно ли писать на Си Шарп незаметные для антиширусов ширусы и трояны? Или надо какое нибудь низкоуровневое говно учить?
>>993535А при чём тут языки, если антивирусы отслеживают поведение?
>>993537У кулхацкеров какие то свои патерны по маскировке поведения?
>>993539Я не хацкер, по этому не скажу как они обходят, возьми несколько каких нибудь популярных отрытых антивируса и смотри документацию по их работе, какие алгоритмы они используют для выявления вирусов.
>>993539Либо сразу в бой рвись :)Установи ВС, набросай простой винлок, червя-пидора, етц, поставь антивирус и смотри на что он будет ругаться, пытайся маняврировать. Но это так себе путь. Энивей, с поверхностными знаниями обойти сможешь только себе же за щеку, так что подумой, хочешь ли погружаться в это дерьмо с головой, либо дальше скроль мемы. Быть кулхацкером = много знать.
>>993540Это имеет смысл. >>993543Просто подумолось написать какой нибудь эксплойт. Но книг, гайдов или манов, кроме сайтов дудос школьников, видимо не найти.
>>993546>эксплойтзначение знаешь?Без представления как это всё работает ты нихуя не сделаешь. Максимум - скопипастишь с кул-хацк форума ЗИРОДЕЙЭКСЛОЕТ-zverCDultimate- и соснешь, короче, хакер, качай книги или смотри туторы, получай знания, опыт и только после того, как овладеешь мейнстримом имеет смысл пытаться кулхакать.
>>993552Понятно.
>Просто подумолось написать какой нибудь эксплойт.То есть, с нихуя, с нулевым багажом знаний тебе захотелось эксплойт взять и написать? Почему эксплоит?)))))))))))))))))))
>>993529Я просто дитя 90-х и привык к тому, что в голой винде (Windows 2000 или XP например) можно только писать скрипты на VBScript и JScript и это вам не сборки линуксов с GCC.А тут внезапно оказывается, что с каждым фрейморком по консольному компилятору Си Шарпа идёт, а насколько я помню .Нет фрнймворк уже начиная с Висты идёт в комплекте.
>>993558Да я просто подумол о флешке у которой в автозапуске будет простенькая прожка - флешка вставляется, открывает порт, ставится какой нибудь радмин или костыль для удаленного доступа, с флешки самоудаляется ширус. Типа дал кому то музыку переписать - а потом можно зайти по удаленке и посмотреть на что он дрочит. Я думал это что то на уровне продвинутого школохакерцства, но видимо нет.
Немного тупой вопрос, но мне кажется это важно. Вообщем, разбираюсь с паттерном MVP.Делаю простенький МП3 плеер. и кароче я использую функцию Опен Файл Диалог для получения аадреча аудио. Ну и вопрос в том, реализовываться, по канонам паттерна MVP он должен во вью, или в презентере? Просто сам ОФД находится в пространстве имен System.Windows.Forms и я не уверен должно ли оно быть в презентере.
>>993562Авторан вируса с флешки, серьезно? Это даже не 2007. Мда, долго же ты "гулял". Повторю, если хочешь в это дерьмо влезть, придется с начала начать и постигать мейнстрим, только после него уже задавай вопросы про хэккинк.
>>993565Ладно.
>>993566Что тебе мешает заглянуть в шапку и скачать книгу? Давай, я в тебя верю (нет). Сам в себя верь и не ной.
Как грамотно загружать исхожники на Гит? В смысле как понимаю все студийные свистоперделки лучше оставить за бортом, оставив только кэсики с исходниками?
>>993567Но я давно скочал. И даже говнокодю оп ним.Я просто спросил.
>>993570Как давно ты начал?
Стоит ли делать отдельный класс, если объект планируется только один?
>>993574Недавно.
>>993565Ну если ЦА вируса - неграмотная отара небольшого размера, которую пасет один энекей на полставки, то вполне возможно.Всякие "шифровщики" флешек на VBA вполне живут, потому что поведение слишком примитивное для антивируса.
Господа, поясните за разницу между классом и структурой. Когда что юзать?
Вы напомнили мне об одной моей идиотской идееИспользуем указателиПихаем их в условно-бесконечный цикл-пока место в озу не закончится???ПРОФИТ!Идея бесконечно тупая и забавная, как по мне.
>>993589Можешь еще открывать лоток CD.
>>993569в .gitignore должно быть как минимум следующее:YourProject/bin/YourProject/obj/YourProject/packages/Для каждого проекта в солюшенеYourSolution/.vsи для всего солюшенаОстальное - по необходимости.Файл .gitignore находится в корне git репозитория и определяют игнорируемые директории. Можно прям ручками поправить и твоя git утилита подхватит его.
>>993591У кого-то он еще есть?
Посмотри в сторону mono llvm
>>992683Посмотри в сторону mono llvm>>992657
>>992905толсто)
А мне вот интересноУ меня есть пердуинка, напримерМожно как-то реализовать, чтобы подключая пердуину, при нажатии кнопки на форме начал мигать подключённый к пердуине светодиод, например?
>>993629Конечно.
>>993223Не слушай поехавшего старпера, используй все фичи языка.
>>993223Совет не использовать линк сродни совету не использовать проперти.
>>993223Этот просто старпёр легаси говна переел и с катушек поехал.
http://ideone.com/dyLv6K
Что делает =>? Зачем оно надо?
>>993707Более читаемая форма запятой.
>>993707Гугли "c# лямбда".
>>993702Никогда не смотри в сторону Any() или Take() или любой другой Linq функции. Тру посоны используют фор.
>>993731Ты лучше на пиздец в ifе посмотри
Есть способ не писать все инклуды в каждом файле?Пробовал писать внутри неймспейса в одном файле - в других файлах с тем же неймспейсом этих импортов не видно
Ребят, дайте простой пример зачем нужны флаги, пожалуйста.
>>993733извини, тег сарказм отклеился.
>>993750В шарпе нет инклюдов, есть юзинги. Есть действенный способ - SOLID, в частности буква S оттуда. Перестаешь писать говнокод - в фаилах остается дай бог 5-6 юзингов.
Как принято инициировать объекты в полях? Писать прямо в классе private Object yoba = new Yoba() или переносить new в конструктор?
>>993731 Съеби уже отсюда.
Анон, как из метода вернуть весь массив а не только один его элемент?int[] ch = new int[2];ch[0] = 2;ch[1] = 1;return ch; //Не удалось int в int[]return ch[] // требуется значение
>>993830for(int i = 0; i < ch.Length; i++{ return ch;}Мб так?
>>993833фикс
>>993833ебать ты долбаеб что по твоему делает return???
>>993835Вся проблема была в том, что я когда создавал метод я забыл указать, что он int[], а написал только int
>>993846Иди нахуй, пёс.
>>993849Нахуй ты обиделся?
Есть одна windows-форма SettingsНа форме есть ползунок, пользователь в нем задает размер дочерней формы, ну это неважноЗначение из ползунка заносится в переменную public int x { get; set; }Еще простой класс Logic.csКак мне оттуда к этому иксу обращаться?Как из одной формы к другой обратиться - понятно, а че делать с классом?+ этот класс Logic.cs еще должен полученную переменную передать в windows-форму Game
Как вы превозмогаете учебу?Я вот учу-учу и уже кажется что сколько можно учить, что всё сложно и понимаешь, что впереди еще столько же, если не больше и руки опускаются. Как не выйти из колеи? Как продолжать учить и не думать о том, сколько еще впереди?
>>993885---> /seна крайняк /psy
>>993005Только Tuple.
>>992654 (OP)Чем C# лучше хаскеля?
Вечер в хату. Есть табличка с ~60 колонками, колонки имеют разный тип, первая инт, вторая стринг и тд. И мне нужно в шарпе как-то сохранить строку из этой таблички, т.е. где-то сохранить все 60 колонок. В пхп я делал for по колонкам и сохранял все значения в один массив (пхп массив может хранить разные типы в одном), как мне сделать то же самое в шарпе? Создавать 60 переменных?
>>993900Да, через проперти. 60 переменных.
>>993900Object[]
>>993905>60 переменныхНу эт совсем пиздец, повеяло 1998 годом и борландом. Почему в высокоуровневом языке нельзя сделать, как в пхп без еботни с типами?>>993906Поясни, плиз. Предлагаешь создать 60 классов под каждую колонку? Или один класс таблицы с 60 проперти?
>>993909Все классы в сисярпе наследуются от Object, соответственно туда можно сохранять все что хочешь. Как вариант еще можно использовать dynamic.
>>993909Для тупых: пихаешь всё в обжект, и/или юзаешь на каждом ToString()
>>993915Хм, мне нравится второй вариант, все равно всё потом пойдёт в базу данных. Благодарю.
>>993889 Больше вакансий.
>>993888Двачую
>>993577А что у тебя в классе должно быть?
Есть строка с датой и временем "2017-05-01 10:31 UTC". Как ее распарсить в DateTime? Просто Convert.ToDateTime или DateTime.Parse падают.
>>993900>В пхп я делал for по колонкам и сохранял все значения в один массив (пхп массив может хранить разные типы в одном), как мне сделать то же самое в шарпе?ArrayList твой друг
Нельзя сделатьclass A {operator B() { return new B() }}B x = new A()?
>>993577https://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)
Только начал изучать шарп и хочу узнать, что я сделал не так и почему. Может есть какие-то советы по написанию, просто мне почему-то кажется, что я сделал что-то через жопуНапример проверку дискриминантаСоздал новый класс, только для того, чтобы понять как это работает
>>994013Не тот скрин
>>994001С типами полный пиздец в общем..Нельзя наследовать структуру, делаю обёртку, но каждый раз нужно делать new,то есть вместоreturn yoba.Positionнужноreturn new MyVector2(yoba.Position)а вместоyoba.Position = new Vector2(1, 2)нужноyoba.Position = myVecto2.BaseVector2 // пришлось сделать базовый объект publicа можно было просто наследовать структуру и добавить пару методов как в С++
>>993988Regex и new DateTime
>>994014Юзай не Парс, а ТрайПарс.
>>993103Да ты охуел.for быстрее foreach работает почти в два раза
Господи, ну что за дауны со мной в треде сидят? То LINQ у них не нужен, то структуры у них не наследуются, охуеть просто.
>>993885Учи пока можешьВот я устроился на работку и нихуя нового не узнал, только научился разбираться в древнем коде без документации, а времени учить что-то нового нету.
>>993859> а че делать с классома что с ним делать? Сделай static поле.
Как накатить сишарп на последний Visual Studio?
>>993569https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
Надо спарсить страничку продукта с али. Проблема в том, что информация о доставке загружается яваскриптом, при этом, возможно аяксом, так как блок с ней появляется где-то на 0.5-1 сек позже, чем загрузилась страничка.Англ шарп это не берёт. Пишу вот так, но элемент с доставкой остаётся пустым. Кроме того, не уверен, грузит ли он экстернальные скрипты.HtmlParser parser = new HtmlParser(Configuration.Default.WithJavaScript().WithDefaultLoader());var document = parser.Parse(html);Знает кто, как и чем это можно решить?
>>994016Так и делай как в с++, сделай класс с открытыми полями, концепции стракта в с++ и в сишарпе совершенно разные, в первом это просто класс с открытыми полями, а второе это объект с которым сишарп работает по-особенному.
>>994050>открытыми членамиконечно же
>>994042Открываешь консоль браузера/скачиваешь burpsuite. Смотришь лог запросов-ответов к серверу. Думаешь.А вообще у алика есть свой api
>>994050Не понял, можешь пример показать?https://dotnetfiddle.net/mdivBz
>>994042Я сам с таким не сталкивался, но возможно эта штука поможетhttps://www.nuget.org/packages/AngleSharp.Scripting.JavaScript/
>>994081Менять базовую структуру я не могу, она в библиотеке, таких структур там несколько и использовать их без дополнительных методов ужасно неудобно. Можно добавить расширяющие методы но тогда получается что их приходится мешать со свойствами, например войство Left и метод GetRight()
>>994019>new DateTimeСпасибо за идею, анончик. Оно выдает ожидаемый результат. :)
>>993988https://gist.github.com/anonymous/60d61553ff48ce52c0d7c2bc6a5cb7ab
>>994084Если нельзя переписывать, тогда как тебе говорили делай обёртку, и да она не будет соответствовать интерфейсу вектора, но это же вроде соответствует одному из принципов солид, типо всё равно систему будешь строить из интерфейсов своего вектора, да и если что можешь сделать ему свойство ExVector.Vector
Вопрос из книги Лафоре, вы тут больше ООП занимаетесь, поэтому спрашиваю, какой из ответов правильный?16. Назначение наследования состоит в том, чтобы?a) создавать более общие классы в более специализированныхb) добавлять возможности к существующим классам без их модификации
>>994130Ты, чо, дурак? Оба - неправильные. Но второй вернее, в общем и целом, да. Наследование помогает сделать тебе класс, добавить туда нужные свойства и методы, на основе имеющегося класса. Это позволяет поддерживать нормальный уровень абстракции.
>>994021А в остальном?
Анон, есть какая-нибудь книга по алгоритмам, примеры в которой были бы реализованы на шарпе? Я просто не могу ничего понять без нормальных примеров. На жабе есть здоровенный курс от стенфорда вроде, но в жабоговно лезть не хочу, там тем более такой пиздец, что ну его нахуй. Есть что-нибудь приемлемое на шарпе или придется в ебаном псевдокоде ковыряться?
>>994133Шапку читай, сука!
Например, у меня y = (x+5)/(x-5), в консольке, если x = 5, просто появляется знак "?", что это за хуета?
>>994182Кое-кто обсирается на литералах.
>>994183Не понял
>>994179Ну и где там книги по алгоритмам, скотина?>>994182Не буду томит тебя, уебок. Короче, у тебя x - скорее всего double или float (какой-то тип с плавающей точкой), а компилятор расценивает 5. как литерал integer'а и приводит его к другому типу. То есть, ты пытаешься сложить числа, которые имеют разную битовую длину и получается, что делишь 0 на 0. Надо писать так(x+5f (если float))/(x-5d (если double) или (x-5m(если decimal)Ебаный индус ты.
>>994186Да, точно, x там double. И все таки этот знак вопроса в консольке, что он означает? Я такое впервые вижу. Это бесконечность?
>>994195Ты, блять, можешь код сюда кинуть, урод, бля?
public Bitmap ImageOpen() { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open Image"; dlg.Filter = "bmp files (.bmp)|.bmp"; Bitmap btm; if (dlg.ShowDialog() == DialogResult.OK) { btm = new Bitmap(dlg.FileName); } dlg.Dispose(); return btm; }Пишет, блять, use of unassigned local variable btm.Какого черта?
>>994196Сократил чуток, чтобы вас не напрягать сильноdouble x = 1, y = Math.Sin(x), z=Math.Cos(x);double w;if (y<z) w=(x-1)/(x+1);elsew=(x+1)/(x-1); Console.WriteLine(w);
>>994197Иф может и не выполнится, тогда ты вернешь unassigned local variable btm.
double x = 1, y = Math.Sin(x), z=Math.Cos(x);double w;if (y<z) w=(x-1d)/(x+1d);elsew=(x+1d)/(x-1d); Console.WriteLine(w);пробуй так.
>>994199>>994205
>>994205Спасибо конечно, но что значит "?" в консоли? Че это за ошибка такая?
>>994219А я ебу?
>>994204А как тогда сделать, что бы оно работало?
>>994271try catch
public int cc(int c) { return c == 1 ? 2 :1; } public bool Bigraph(int c) { var stack = new Stack<Node>(); stack.Push(Nodes.First()); while (stack.Count > 0) { c = cc(c); var node = stack.Pop(); node._IsVisited = c; foreach (var edge in node.Edges.Reverse<Edge>()) { var adjacentNode = edge.GetOtherNode(node); if (adjacentNode._IsVisited == 0) stack.Push(adjacentNode); else if (adjacentNode._IsVisited == c) return false; } } return true; }Запилил, значится, проверку на двудольность графа. Но работает он не правильно, например, в случае рис.1 (на цифры внимание не обращайте) он говорит, мол, граф не двудольный. Что я делаю не так?
>>994271500 рублей.>c = cc(c);Говори свой адрес, сука.
>>994299щито поделать
Подскажите норм самоучитель, чтобы с нуля постичь c#
>>994303Трей Нэш неплохо пишет.
>>994335А конкретнеес нуля
Не могу понять, почему когда я запускаю 1 и тот же экзешник, в котором только 1 строка хелло ворд, при каждом запуске в диспетчере задач он занимает разный объем ОЗУ? Это наеб на даллары или что? Поч 1 и тот же файл с каждым запуском ест разный объем оперативки? Поясните тупому.
>>994345Могу научить просто так, все равно делать нечего. Дам тебе старт, а дальше сам
>>994348Асечку-писечку?
>>994348Курсы тогда уж пилите
>>994349Сначала визуалку поставь
>>994361Так уже стоит...
Нужно ли знать математику чтоб вкатиться?(моя математика на уровне 5 класса школы)
>>994402Нет, математика не нужна. Просто ставь визуал студио и погнал. Скачай учебник Троелсена и погнал учить матчасть языка. Но говорят, что окошко дрочерство уже малоприбыльно, и нужно полюбасу будет изучать веб , тобишь асп.нет
>>994409Ты говоришь что в веб идти, а не легче ли будет не асп, а какие нибудь нынче модные фреймворки учить? По моему и вакансий больше даже.
>>994349я школьникмало ли ты педофил какой-нибудь
>>993535На C# можно писать трояны, но с ограничениями. 1) Ты не сможешь инжектировать код в native PE процессы потому что в них нет CLR2) Ты не сможешь использовать всякую низкоуровненную поеботуНо ты сможешь подключать kernel32.dll через P/Invoke и все же .NET дает много возможностей. Например можно инжектить .dll из .NET программы в нативный процесс (.dll должна быть нативной). Если уж сильно поебаться можно даже CLR подгрузить в адресное пространство другого процесса.Писать трояны лучше все таки на чистом Си, хотя можно и на крестах если ты долбоеб ебанутый. Чистый Си это очень мощный язык который дает магическую силу доступа ко всем уголкам ОС. Можно анально насиловать антивирусы очередным супер хитрым способом запуска через huipizda.exe который является доверенным процессом и вообще по дефолту в исключениях
>>994182try{// код}throw (DivideByZeroException){// код обработки}
>>993580В C# есть два типа данных. Это value type и reference type. Типы value хранятся непосредственно на стеке в вызывающей области, например при передаче как параметр в функцию.Типы reference хранятся в managed heap-е (куча). Reference типы не хранят непосредственно значения, они хранят указатель на место в куче, где это значение находится.Value типы - все простые типы int, bool, float, decimal, byte и тдReference типы - обьекты, классы. String является классом, поэтому он reference тип. Структуры являются value типами в отличии от классов. Поэтому есть большая разница в их использовании. Подробнее в гугле.P.sValue типы могут храниться в куче если они обьявлены как часть обьекта. НапримерClass someclass {int kek; } kek при создании инстансов класса будет храниться вместе с обьектом в куче.В стеке value типы в основном хранятся когда их используют локально
>>994462C++ тоже самое даст, что и и Си, только бинарник на неколько килобайт тяжелее
>>994480C++ хуйня. Все равно классы и прочая поебота не нужна в кодинге подобного софта, нахуй его таскать?
try-catch это очень лениво, если речь идет о непредвиденных программой действий, например закрытие окна до выбора файла?Как я понимаю, try-catch это по сути заглушка для экспешона, а по факту я должен написать исключение для данного действия?Короче, в чем суть.Вызывается folderbrowserdialog, и при нажатии "Отмена" программа крашится с эксепшоном. Я сперва думал обернуть в try-catch, но потом погуглил и понял что это не лучшее решение, так как мне поступить?inb4 делай бочку
>>994517try-catch это обычная конструкция, которая затыкает исключение, ничего сверхъестественного в ней нет, используй как тебе удобноГлавное, чтобы ты знал, что вызывает исключение, и оно был тобой заранее предвиденоЕсли есть способ написать без выпадения в исключение, то пиши так, а если нет, то try-catch
>>994517>Я сперва думал обернуть в try-catchСперва DialogResult проверь.
>>994197>Bitmap btm = null;Объявил - сразу присвоилОбъявил - сразу присвоилОбъявил - сразу присвоил>dlg.Dispose();Не надо. Руки убрал.
>>994554DialogResult=OK
Как превратить "data:image\/png;base64,...=="в файл картинки?Convert.FromBase64String() не работает, это какой-то JSON формат, я с ним не знаком. Нужно вручную вырезать "data:image\/png;" из строки или есть способ получше?
>>994416Ты знаешь второй фреймворк?
>>994691В общем решения в стандартой библиотеке не нашёл, сделал так:string jsonData = "data:image\/png;base64,BASE64_DATA";Match match = Regex.Match(jsonData, @"data:image\\/(.+);base64,(.+)");string format = match.Groups[1].ToString(); // "png"byte[] image = Convert.FromBase64String(match.Groups[2].ToString());лютая хуита конечно получилась особенно если картинки тяжёлые
Не могу представить себе 3х мерный массив, может кто в 2х словах объяснить?
>>994785Так?
>>994785В 2D сцене каждую точку можно представить массивом x,y, в 3D - x,y,z.
Смотрю курс, автор уделяет 1-мерным массивам 30 минут, разжевывает донельзя, а 4-мерным 2 минуты. Это легально?
>>994794Да легально, если ты этот курс купил, а не скачал с торрента!
>>994794>4 мерные масивыЕсли ты вылазишь за двумерный, то что-то у тебя уже пошло не так.
>>994794На практике даже двумерные массивы редко используют, а 4-мерные вообще раз в столетие.
Здаров, бандиты. Экземпляр класса и объект это одно и то же? Если нет, то в чем разница?
>>994892Объект храниццо в куче (heap) там методы и остальная параша. А экземпляр содержит статичные поля класса. Как то так, вкратцы ХИХ ЛИЛЬНУЛ С ТОБИ
>>994899А если точнее то объект содержит статические поля и все методы, а экземпляр содержит не статические поля.
>>994900ЗЫ, создавая новый экземпляр класса, НОВЫЙ объект не создается, там идут ссылки на него, для экономии памяти.
>>994899Значит когда мы хотим вызвать метод, то мы обращаемся к экземпляру, а тот как-то ссылается на объект в котором лежит метод ? Где про это можно подробно почитать?
>>994906Когда ты вызываешь метод, ты обращаешься к ОБЪЕКТУ, тому шо только ОБЪЕКТ хранит методы, экземпляр их не хранит.Где почитать? Ну, говорят есть годная книжка http://www.ozon.ru/context/detail/id/137598683/ и/или http://shop.oreilly.com/product/0636920040323.do, еще вроде норм https://www.amazon.com/C-Players-Guide-2nd/dp/0985580127, они все в шапке есть, чекай шапку. Выбери 1 любую и с самого начала и до конца. Удачи.
>>994906> Где про это можно подробно почитать? Рихтер.
>>994906> а тот как-то ссылается на объект в котором лежит методЕсли я правильно понял, каждый объект ссылается на свой тип, тип содержит ссылки на нативный код методов, скомпилированный из il-интсрукций, который расположен где-то в памяти.
Вопрос от ньюфага. Как часто юзаются перечисления и структуры?
>>994913Как часто используются условные конструкции?Наверно, по необходимости?
>>994914охуенный ответgoto тоже наверное используется "по необходимости"?баба свадебное платье тоже надевает "по необходимости"?
>>994913Перечисления повсеместно. Если нужен тип который имеет ограниченное количество состояний + в коде лучше выглядит, каждое состояние в коде соответствовало определенному имени понятному человеку.По структурам погуглил за тебя:https://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspxhttps://stackoverflow.com/questions/521298/when-to-use-structhttps://softwareengineering.stackexchange.com/questions/92339/when-do-you-use-a-struct-instead-of-a-class
>>994920Хороший гой.
>>994922Ну и для себя тоже какбэ.
>>994924Да я шучу, все здесь сидят и помогают по фану.
float c = 1.5f;float h = 4.0f;float area = 1 / 2 c h; //0float another_area = c h 1 / 2; //3Анон, я по Вайтекеру учусь, нихуя не могу понять, почему area дает 0 (точнее, это могу понять: инт 1/2 = 0, после ноль умножается и дает 0), но вот второе. Типа, сначала мы получили флоат, и компилятор начинает приводить все к флоту или шо?
>>994958Сожрало знаки, вот скрин.
>>9949611 / 2 - деление интов. Пиши 1.0f/2.0f - получишь то, что ожидаешь
>>994961Выбирай, как нравится.
>>994965Спасибо, но мне непонятно, почему инты (1 и 2) сразу не привелись неявно к флоту. Во второй операции они правильно приводятся и считается абсолютно верно.
>>994968Я так понимаю, про неявное приведение типов лучше забыть, чтобы не было такого анал-карнавала?
>>9949711 разделить на 2 в инт = 0.5, это уже не инт, по этому 1 разделить на 2 = 0, от этого финал = 0.
>>994973Ну так оно да, но почему во второй формуле, которая идентична, инты привелись неявно к флоту?
>>994969Потому что ты делишь на 2 не 1.
>>994971Либо явно преобразуй (int)x * ...Либо добавь "Число.fЛибо используй дабл и не ставь постфикс f.
>>994974Потому что 6.0 * 1, 6.0 достаточно чтоб выражение скастилось.
>>994978Блин, голова кипит после работы, уже не могу ничего понять. Спасибо большое за помощь.А есть что-нибудь, вот, как для дебилов, что объяснит на пальцах работу явного и неявного приведения типов в шарпе?
>>994892Да одно и тоже. Только объект может быть еще и экземпляром типа-значания(структуры)
>>994961Тю, я ебан. Понял: если мы бы делили 1 / 2.0f, то есть инт на флот, приведение сработало бы, т.к. флот - более "широкий". А мы поделили инт на инт, получили 0 и дальше уже его с интами женили. Все, тут ебаный цирк на ВНИМАТЕЛЬНОСТЬ.Хотя от статейки по приведению типов - не откажусь.
>>994979Не явно само приводится, если нет потери информации, например инт=дабл. А когда ты явно (сам) приводишь, ты ставишь печать кровью (своей), например double a = 1.55; ты его в инт кастуешь (int)a; это явное преобразование с потерей информации, прочитать можешь в любом учебнике.
>>994984double a = 1.234int b = a - компилятор не даст, т.к. ты теряешь инфу при НЕЯВНОМ касте, нужно ставить свою подпись int b = (int)a - потеря тысячной части, чуешь?
>>994974Кнопилятор видит выражения одинакового приоритета и идет выполнять их последовательно.В первом случае он видит сначало интовое деление, а потом уже работу со флоатами. Во твором случае он всегда работает со флоатами.
>>994987>>994986>>994985Спасибо большое, господа. Нужно было просто мозги размять.
>>994991Помому, у Троелсена подводные лучше затрагиваются, подробнее, чем у Вайтекера.
>>994992Да я же ньюфаг, пока что с такой вот простой книжки начал. Потом буду теребить что-то более сложное и серьезное.
>>994991Ничего, дойдешь до волшебного слова implicit и сможешь организовать себе персональный ад по неявному касту чего угодно к чему угодно. ГОЛОВУ НЕ НУЖНО БУДЕТ ЗАБИВАТЬ
Очередной студент-быдлокодер ИТТ. Суть токова: вызываю и закрываю консоль из ВинФорм приложения методами AllocConsole() и FreeConsole() соответсвенно. Проблема в том, что я могу сделать это только один раз. После того, как консоль была закрыта, попытка открыть ее дает System.IO.IOException. ЧЯДНТ?
Куда класть ресурсы? Не знаю как у вас, но у меня на моно структура проекта такая Project/Project.sln <---- проектProject/Project/Project.csproj <---- подпроектProject/Project/Program.cs <---- исходникProject/Project/bin/Debug/Project.exe <---- исполняемыйГде можно создать папку с ресурсами, которые загружает программа, и как правильно указать путь к ним? Не могу же я рядом с Project.exe всё класть, если заливать в репу то Project/bin вообще не должно существовать до компиляции.
Поясните, ASP.NET Core уже можно хостить на линуксах?
>>995166Не отвечайте, сам нашёл.Скажи лучше вот что, анон:Стоит выбрать связку ngnix mono + ASP.NET MVC4, или ngnix + ASP.NET Core?
>>995168Сорян, имел в виду apache mono + MVC4, не ngnix
>Использование var запрещено, поскольку это нарушает принцип строгой типизации.Блять, куда я попал?
>>995281С хуя-ли запрещено?
>>995281Я пишу var только если после него стоит new, оптимальный вариант.
Сделал класс для хранения картинки в памяти вместе с форматом, есть очевидное говно?
>>995328Что за фекальные цвета?
>>995328А нахуя ты это написал?
struct Str {public int s;}Str testStr; <- почему не вызывается дефолтный конструктор, который инициализирует testStr.s?
>>995470потому что это не С и не кресты. Хочешь конструктор - позови new.
>>995473Почему я могу писать testStr.s = 0, если объект не создан? Если создан, то какой конструктор вызывался?
>>995482Вызовется дефолтная имплисит имплементация, которую ты не можешь переопределить. Для каждого члена структуры позовется default(T).
>>995482Потомус что у структур можно не звать конструктор. У них стразу есть состояние по дефолту без явного вызова конструктора. От этого у них запрещены конструктры без параметров или с неполной инициализацией.>Если создан, то какой конструктор вызывался?Дефолтный без параметров. У стрктур его переопределить нельзя.Но лучше явно позвать нужный конструктор и не ебать мозг этой тонкостью.
>>995470Ебаный цирк.struct Str {public int s;public int v;public Str() // неявный конструктор мейд ин конпелятор, неявно будет вызван до первого обращения к пременной такого типа.{s = 0; // default(T) - null or 0v = 0;}public Str() //Ошибка! Без параметров нельзя.{s = 42; v = 1488;}public Str(int ns) // Ошибка! Неполная инициализация.{s = ns;}public Str(int ns) // Норм.{s = ns;v = ns + 1;}}
namespace A.B {public class Yoba;}Почему можно сделатьusing A.B;var x = new Yoba();но нельзяusing A;var x = new B.Yoba();?
>>995495>>995489почему все что вы пишете не вяжется с реальностью? struct Str {public int s;}Str testStr;Console.Write(testStr.s) <- ошибка компилятора "локальная переменная не инициализирована". Получается>Для каждого члена структуры позовется default(T)неправда>Дефолтный без параметров. У стрктур его переопределить нельзя.Тоже неправдаПолучается никакой конструктор не вызывается? вот этот прав?>У них стразу есть состояние по дефолту без явного вызова конструктора. От этого у них запрещены конструктры без параметров или с неполной инициализацией.
>>995622Ну или вызывается конструктор, который не инициализирует поля
>>995622Все вяжется просто ты не вдупляешь.Str testStr; // нет вызова конструктораtestStr.s = -1; // но переменная здесь уже есть и инициализирована 0Console.Write(testStr.s); // тут все ОК т.к. был уже неявный вызов конструктора перед присвоением -1Просто не заморачивайся и всегда явно делай:Str testStr = new Str();
Кто-нибудь сталкивался с таким?Image.FromFile или Image.FromStream падают с ошибкой libpng error: invalid after png_start_read_image or png_read_update_infoImagemagic говорит: Mime type: image/png Class: DirectClass Geometry: 150x30+0+0 Units: Undefined Type: GrayscaleAlpha Endianess: Undefined Colorspace: sRGB Depth: 8-bitБраузер и другие программы картинку открывают. только класс Image не может совладать с ней.
>>995740Никогда с таким не сталкивался. Попробуй ее пересохранить в нормальном редакторе.
Это же капча, с ними никак вручную работатьПридётся походу тащить пакет ImageMagickSharp
>>995738ну ок, спасибо.
>>994785Одномерный массив, каждый элемент которого - двумерная матрица.
>>995508Чому нельзя?
>>995792Потому что надо писать A.B.Yoba
>>995740В общем спустя полдня возни получилось сделать почти стандартными средствами, обнаружилось что Gtk.Image жрёт эти картинки. А Gtk-Sharp всё-таки легче использовать на любой платформе, чем всякие либы для работы с картинками с нативными зависимостями.// Прочитать файлGtk.Image gtkImage = new Gtk.Image("test.png");byte[] buffer = gtkImage.Pixbuf.SaveToBuffer("png");Image image = Image.FromStream(new MemoryStream(buffer));// Прочитать из памятиGtk.Image gtkImage = new Gtk.Image(new MemoryStream(buffer));Image image = Image.FromStream(new MemoryStream(gtkImage.Pixbuf.SaveToBuffer("png")));
>>995508Потому что полное квалификационое имя типа A.B.Yoba .Либо ты используешь его, либо указываешь его полный неймспейс (A.B). Сидеть сразу на двух стульях, когда часть неймспеса через using, часть через название типа -- нельзя.Сделано для упрощения компелятора. Он просто подключает все использованые пространствах имен, без подробного анализа текста на поиск частично заданых пространств в именах типов.
>>995992Пиздец косноязычие, да.Кроч, проблема вот в чем:using A;using E;using F;var x = new B.Yoba(); // в каком пространстве нужно искать Yoba - в A.B, E.B, F.B ?Yoba может быть несколько разных, какого выбрать?Это сразу все и порешили: нормально делай - нормально будет.
>>995996В случае конфликтов - ошибка компиляции, это логичное и очевидное поведение компилятора.В с++ удобно делатьusing std;using std::chrono;using std::chrono::time_point;И если где-то ещё есть time_point, можно написатьusing std;chrono::time_pointother::time_pointВ C# пришлось бы везде добавлять std:: (на самом деле так все и пишут, но это уже другая история)
>>995306Аналогично. Только с условием что название типа очень длинное. Нахуя экономить на четырёх буквах и писать var вместо string, например.
Проверка ввода.Думаю, что говнокод. Как исправить?while (true){ try { Console.WriteLine("Введите ключ."); int key = Convert.ToInt32(Console.ReadLine()); break; } catch (FormatException) { Console.WriteLine("Ошибка: не введено целое число."); } catch (OverflowException) { Console.WriteLine("Ошибка: введено слишком большое число."); }}
>>996181Используй Int32.TryParse. Без выброса исключений будет работать быстрее.
>>995306Ну после какого-нибудь Kudah.ToString() тоже можно
В стандартой библиотеке есть что-то вроде Data::Printer из Perl, который автоматически разворачивает все публичные (и опционально приватные) члены классов по иерархии наследования и выдаёт красиво сформированную строку?Надоело вручную ToString() писать
Как изменить размер у чекбокса? .Height и .Width меняют только размер область, в которую можно кликнуть, чтобы засчиталя клик по чекбоксу, но сам размер чекбокса не изменяется.using System;using System.Windows.Forms;public class HelloWorld : Form{ static public void Main () { Application.Run (new HelloWorld ()); } public HelloWorld () { string S="test123"; CheckBox checkBox1 = new CheckBox(); checkBox1.Appearance = Appearance.Normal; checkBox1.AutoCheck = true; checkBox1.Text = S; checkBox1.Height = 100; checkBox1.Width = 100; Controls.Add(checkBox1); }}
>>996198Напиши свой через рефлексию.
a.txt.Contains(@"st """)посоны, почему эта строчка так странно себя ведет и делает совсем не то что я ожидаю, при этом "st \"\"" вполне себе работаетв чем подвох? разве вложенные кавычки запрещены? если да то хуле оно вообще компилируется?
Перекатываюсь с ASP.NET Web API на ASP.NET Core(использую Web API шаблон проекта).Как используя attribute based routing сделать в контроллере метод с необязательными параметрами?https://pastebin.com/N5sVKFUtХочу чтобы этот метод вызывался по маршруту вроде "/Safe" или "/Sukebei". В старом ASP.NET Web API это так и работало, а в Core метод вызывается только если заполнить в URL все параметры.
>>996276Читаю документацию жопой, извините за тупой вопрос.https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing{id?} defines id as optional
аноны посоветуйте что-нибудь в роли библии c# и asp.net
Сап, на пике класс для работы со строками как с массивом символов. Что нужно дописать, чтобы метод Length(должен возвращать длину) работал нормально?
>>996299>класс для работы со строками как с массивом символовСтрока и так является массивом символом. Нахер тебе эта наркомания?>Что нужно дописать, чтобы метод LengthДа вроже все и так правильно. В чем проблема то?
>>996304Эта наркомания, потому что задание такое дали, а этот метод возвращает постоянно ноль
>>996299>>996310return array.Length;
>>996313Пишет что "Ссылка на объект не указывает на экземпляр объекта"
>>996317В конструкторе с параметром кто будет инициализировать массив?
>>996327Спасибо анон, а я аутист
> Я собрался делать свой первый проект на asp.net mvc 4.0 и размещать его на Ubuntu сервере с моно. Какие подводные ?
>>996246зачем
Поясните, как написать кросспатформенное приложение с GUI на шарпе. Винформ и впф же не сработают, да?
>>996452xamarin
>>996453Это годный вариант или костыль? Или лучше вообще в джаву идти?
Что значат эти знаки вопроса в ретурне?
>>996465https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/operators/null-conditional-operator
>>996465Эквивалентно кодуif(_myResetTimer==null)return _myResetTimer = new RelayCommand(ExecuteResetTimer);elsereturn _myResetTimer;
>>996467>>996476Спасибо.Хоспаде, какой же MVVM странный.
>>996478Что в нем странного?
>>996497Даже не знаю. Например то, что для вызова диалога и передачи одной переменной нужно написать 500 строк кода? http://www.global-webnet.net/IDontKnowAnyBetter/post/2015/11/20/mahapps-custom-dialog-mvvm-light-and-meИ то, что в итоге получается https://www.youtube.com/watch?v=FKhidKIgLY4И это с использованием фреймворка, без него нужно было бы писать сервисы с нуля.
>>996452Если ты про десктопное приложение, то Windows Forms(поддерживается Mono).Если про мобильное, то Xamarin.Кстати, тут недавно один кекс на хабре писал про кросплатформенный UI фреймворк. Но я сам с ним не сталкивался и хз насколько оно жизнеспособно.https://habrahabr.ru/post/328684/
>>996448>Какие подводные ?Ты отстал от жизни. Загугли ".NET 2015"
>>996572>Ты отстал от жизни. Загугли ".NET 2015" Прошло уже 2 года.А NIET Core как не было, так и нет.
>>996578У меня поставился 1.3 на линукс 64 битный, простые проекты собирает но не может поставить пакеты, жду 2.0
>>996571А как насчёт конструктора интерфейса мышкой? Для Gtk# есть дизайнер в Monodevelop и всё кроссплатформенное
>>996571А линукс?
>>996592> Gtk#ГОВНА ВЪЕБАЛ
>>996572Пока для НЕТ кора не будет написано 100500 библиотек на все случаи жизни, не надо и использовать, так можно просто палочкой потыкать и велосипед написать, если времени много. Банковский софт еще не скоро перейдет на нет кор
>>996702Gtk3 скоро станет абсолютным стандартом для всех дистрибутивов, его двигают Red Had и Cannonical. А Gtk# самый крупный биндинг который поддерживается дочерней кампанией Microsoft.
>>996705С банковский софта работает на винде онли?
>>996713Да , 95% всех банкоматов , терминалов работают на виндовс
>>996715Отличный выбор
class Yoba {public string A;public string B;}Как запретить конструктор new Yoba { A="a" } без B?
>>996722У тебя в классе нет конструктора.
>>996722А вообще назначай значение по-умолчанию, ноль или string.Empty.
>>996729>>996730че ты блядь несешь, пошел нахуй>>996722не делай поля публичными
>>996730Мне не нравится ловить 40 строк стактрейса из-за null, а "" вместо null запросто часа 3 отладки может обеспечить>>996747public string A { get; private set; } не работает
>>996754Дурак что ли? Зачем пропертям private ставишь?
>>996705>100500 библиотек на все случаи жизниПриведи конкретные примеры. Например, Json.net и AngleSharp есть.
>>996760Так получается что снаружи класса есть GetA(), но нет SetA(), что не так?
>>996754>public string A { get; private set; } >не работает не ври, конструктор через курли брейсерс не работает.
какого хуя тут столько даунов, которые просто несут хуйню? это вы так ньюфагов тролите или что? перекатился к вам с кресто треда и прихуел.
>>996768Я и есть ньюфаг, который только что давал ответ. Не вижу в этом ничего плохого.
>>996754ну и этот >>996760 прав, лучше уж вообще убрать set
>>996770ЕСЛИ ты не собираешься присваивать ему значение. оставляй если все-таки будешь, потому что без set твое проперти становится read only.
>>996770А, понятно. Я сначала делал статические методы и формировал класс внутри него, а когда передал на обычные конструкторы не понял что можно убрать private set потому что в конструкторе можно изменять свойства даже если указан только get.
Ананасы, не работает метод хорд в лабе по численным методам: считает только одну итерацию. Хз как кидать кину так код.....private const double EPSILON = 0.0001; static void Main(string[] args) { Console.WriteLine("# EPSILON = "+EPSILON);.... Console.WriteLine("\n# Метод Итераций"); IterationMethod(-0.85, -0.25); IterationMethod(1, 1.5); IterationMethod(2, 3); .... static private void IterationMethod(double a, double b) { double curX = a; if (F(a) * DDF(a) > 0) curX = a; else curX = b; double nextX = G(curX); int ITERATIONS = 0; while (Math.Abs(curX - nextX) > EPSILON) { //выдает одну итерацию if (ITERATIONS >= 100) { Console.WriteLine("Метод расходится! Последнее значение до остановки, x= " + Math.Round(nextX, 4)); return; } nextX = G(curX); curX = nextX; ITERATIONS++; } if (ITERATIONS == 0) { Console.WriteLine(" Метод расходится! Последнее значение до остановки, x= " + Math.Round(nextX, 4)); return; } Console.WriteLine(String.Format("Корень x= {0}\nЧисло итерация метода= {1}\n", Math.Round(nextX, 4), ITERATIONS)); }
>>996790Весь код давай в http://rextester.com/l/csharp_online_compiler
>>996795http://rextester.com/IZJQDZ52925
>>996800Ну во-первых, я не вижу одной итерации, я вижу много итераций. В методе итераций 10, в методе хорда от 6 до 27. Что не так?
>>996809curX после условия надо поставить, иначе x = Nan
>>996810Сам забыл переставить, искал ошибку
>>996812 do { nextX = G(curX); ITERATIONS++; if (Math.Abs(nextX - curX) >= EPSILON && ITERATIONS == 100) { //Console.WriteLine("Метод расходится! Последнее значение до остановки, x= " + Math.Round(nextX, 4)); error = true; break; //return; } curX = nextX; } while (Math.Abs(curX - nextX) > EPSILON);
>>996815Очевидная проблема в алгоритме, а не в C#. Кури лекцию снова.
>>996809Привет максимка.
>>996834И тебе привет, маня.У тебя детектор барахлит
Здесь кто-нибудь работает с Catel?
Я так и думал(
А хоть кто-нибудь из WPF энтерпрайза или тот, кто написал хотя бы что-то большее, чем тестовое приложение на домашней пекарне?
Если сделать конструктор, который использует .Result вместо await, он ничего не заблокирует?// Асинхронный метод, одновременно работают несколько такихasync Task<Result> DoRequest {return new Result(await httpClient.GetAsync("url")); // Вызов конструктора Result}class Result {// Конструкторpublic Result(HttpResponseMessage response) {var content = response.Content.ReadAsStringAsync().Result; // Блок}}Несколько DoRequest могут выполняться при том что создают объект с таким конструктором?
>>993835Я один про питоновский yield подумал, когда увидел это творение?
>>996869Что ты хочешь узнать?
>>996921Хочу узнать, под какие платформы разрабатывается такой софт. Например, писать сегодня большой проект на WinForms никто не будет, правильно? А это значит, что поддержка винды XP отпадает, поскольку WPF полноценно работает начиная с 7ки. Вот например я собрал проект с Catel под фреймворк 4.0 (который теоретически должен работать под XP), однако XP его не ест и выплевывает с ошибкой.Далее, макось. Под нее пишут такой софт? А под линукс? Или пишут три разных проекта на разных технологиях и на разных языках?
>>9968961) Result блокирует и убивает весь смысл использования TAP.2) Делать такое в конструкторе - это зашквар.3) Для того, чтобы скачать строку есть метод GetStringAsync.4) HttpClient и HttpResponseMessage IDisposable и должны быть обернуты в using.
>>996923> Хочу узнать, под какие платформы разрабатывается такой софт.Винда онли.> Или пишут три разных проекта на разных технологиях и на разных языках?Их вообще не пишут. WPF в кровавом энтерпрайзе - это B2B, клиентское ПО для офисного планктона. Что барин даст, на том и будут работать, а барину проще всего купить своим рабам дешёвые офисные компы с предустановленной виндой.
>>996926А что насчёт WINFORMS и WPF?
>>996926Да, ты написал про WPF. Пора спать, а то я даже не заметил.
>>996928Я сомневаюсь, что кто-то будет что-то писать сегодня с нуля под WinForms, только поддержка очень-очень древнего говна. Хотя он, вроде как, есть в Mono на линуксах, но я в этом вопросе не шарю, поэтому не буду лишний раз пиздеть.WPF, на самом деле, тоже уже легаси. Сами M$ говорят переходить на 10 и UWP, рынок переводит всё в веб, вакансий практически нет.
>>996930>Сами M$ говорят переходить на 10 и UWPНо UWP это тот же WPF, не?
>>996933Лол, нет, UWP - это вообще про другое.
Подскажите, как на WPF нарисовать бинарное дерево, чтобы не было пересечений и ничего нигде не наезжало и уровни были на одной высоте.
>>996934Погуглю для интереса.Но честно говоря, я слабо представляю, как в наших реалиях владелец мелкого бизнеса решает выбросить старые компы на ХР НЕ НУ А ШО ВСЁ ЖЕ И ТАК РОБИТ и поменяет их под 10ку. Поэтому меня, пожалуй, больше всего интересует WPF с поддержкой ХР - 10. Сойдёт?
>>996936> WPF с поддержкой ХР - 10Я не знаю, как WPF себя ведёт под XP или Vista, мне доводилось педалить продукты, которые были рассчитаны только на 7+.
Почему в сишарп объект типа и экземпляр типа это разные вещи?
>>996941Посмотри что там в оригинале. Возможно перевели хуево.
>>996943Ну, там не в одном месте, а прямо скажем везде так.
Анончики, подскажите что за обфускатор используется в приведенных ниже образцах и чем можно снять. Как я понял, там используется забавная методика - куски кода разбиваются в методы. Хэлп.https://raw.githubusercontent.com/stamparm/EternalRocks/master/samples/cf8533849ee5e82023ad7adbdbd6543cb6db596c53048b1a0c00b3643a72db30https://raw.githubusercontent.com/stamparm/EternalRocks/master/samples/3b4497c7f8c89bf22c984854ac7603573a53b95ed147e80c0f19e549e2b65693https://raw.githubusercontent.com/stamparm/EternalRocks/master/samples/a77c61e86bc69fdc909560bb7a0fa1dd61ee6c86afceb9ea17462a97e7114ab0
>>996924Значит правильно сделать class Result {public static async Task<Result> FromResponseAsync(response) {var content = await response.ReadAsStringAsync()}}?Не самая удобная практика, вот я и решил делать нормальный конструкторНасчёт IDisposable почитаю так и быть, я думал там сокеты/файлы не сразу, закрываются, оказалось посложнее тема
>>996951Что-то такое получилось
>>996941Под объектом типа подразумевается экземпляр класса Type
>>996961Нет, подразумеваются стат члены на куче.
>>996941var a = new A(); // a - экземпляр типаvar t = typeof(A); // t - объект типаВ объекте типа хранятся статические поля, указатели на виртуальные функции и прочая метапоебота. Каждый экземпляр A имеет ссылку на объект t, который всего один. Ты можешь её получить с помощью метода GetType(), который наследуется от Object.
>>996966А если я кому скажу, что объект и экземпляр это разные вещи, как им пруфануть после того, как меня обоссут?
>>996967Объект (object) и экземпляр (instance) - это одно и то же. Просто переводчик по понятным причинам не захотел писать "экземпляр типа" и "экземпляра типа экземпляра типа", иначе бы все точно ебанулись. У Рихтера есть же наглядная диаграмма, поясняющая, о чём речь.
>>996960Ещё
>>996972У него есть факт, что есть некий один объект у типа и много разных экземпляров. И это у него разные вещи. А в ООП это одно и тоже, так что непонятно как вообще соотносить в разговоре про ООП с другими людьми. Даже люди, которые кодят на сишарп не используют такую терминологию и смотрят на меня с жалостью.
>>996951Такой вариант, по-моему, лучше, но если этот метод не делает ничего кроме вызова другого метода и создания Result, то он не нужен: нет смысла плодить сущности.
Может ли расширяющий метод быть конструктором, который задаст значения приватных полей?
>>996984Ну так проблема в том что контент асинхронно читается и хедеры с HttpStatus тоже нужны. Получается два варианта:return new Result(response, await response.Content.ReadAsStringAsync())return await Result.FromResponseAsync(response)вот я и выбрал второй
>>997002Ок, это в любом случае дело вкуса.>>996960Не вижу смысла бросать исключение, которое ты тут же ловишь и ещё и проглатываешь, к тому же ты проглатываешь не только его, но и другую шляпу, которая может выкинуться из клиента. Имхо, вот так красивше выглядит.https://pastebin.com/HBNjKa7v
>>996987> Может ли расширяющий метод быть конструкторомНет. Это всего лишь сахар, который заменяется компилятором на вызов статического метода.> который задаст значения приватных полейТолько через рефлексию.
>>997021Да он постоянно исключения кидает, внимание достойны только ошибки SSL (если клиент не может делать реквесты по HTTPS, какая-то проблема с ключами в среде)Я почитал что finally выполняется перед return и остановился на таком варианте
>>997030К слову, если ты не хочешь, чтобы метод падал с исключениями, то лучше обернуть вообще всё тело метода в try-catch.>>996935Что-то типа такого.https://pastebin.com/sTMjHYPf
Как писать код в visual studio community 2017?Универсальный(нет) проект настолько универсален что работает только на 10 винде, а я в рот ебал эту винду.Как там вообще с 7 винды создать файл и кодить его?
>>997060Создать проект -> Классический рабочий стол -> Приложение WPF/Консольное приложение
>>997065?
>>997072Запусти установщик и поставь компоненты недостающие.
>>997065>>997079спасибо, разобрался
Как сделать tr/YRQ/УЯО/ со string?
>>997100Ясно, пилим охуетильные костыли
Продублирую из ньюфаг треда.Есть один словарь со словарями: System.Collections.Generic.Dictionary<char, System.Collections.Generic.Dictionary<int, char>>;Значения в котором представляют собой нечто вроде: e : [g,o,l].Так вот. Подскажи пожалуйста, как таки очистить словарь от дубликатов формата e :[g,o,o]Ну или же, избавиться от подобных элементов на стадии заполнения словаря (код - https://pastebin.com/V9Y7a2ZJ)
>>997036Я видимо не так выразился. Интересует сам алгоритм, т.е. как нарисовать, чтобы не наезжало
Поясните для дауна парой предложений, что такое:1. Dependency Injection2. IoC Container
>>997162https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injectionhttps://simpleinjector.readthedocs.io/en/latest/wpfintegration.htmlЧитай.Если вкратце, то инъекция зависимостей - это одна из разновидностей IoC (инверсии управления). Суть в том, что объект не сам создает свои зависимости, а получает их извне, например, через конструктор или свойство.Когда говорят IoC-контейнер, то обычно подразумевают DI-контейнер - инструмент для создания иерархии зависимых объектов, автоматической инъекции зависимостей, вызова инициализаторов и прочего говна.Короче, прочти по ссылкам, и станет понятно, что это и зачем оно нужно.
>>997187Сложна(Вернусь к этому, когда подрасту.
>>997187Можешь глянуть https://www.youtube.com/watch?v=IKD2-MAkXyQ здесь нормально пояснили?
>>997258Речь о том чтобы подсунуть другую библиотеку с тем же названий функций, но другим кодом, или что?
>2k17>писать 200 строк кода, чтобы открыть диалог и передать параметрыАлё, вы серьезно? И это блядь good practice? Тьфху блядь.
Как подставить свое текстовое значение туда в base()?
>>997333Решил сам
>>997160Для деревьев есть алгоритм Efficient Sugiyama. Ну или можешь сразу готовую либу использовать, например Graph.Sharp, там уже реализованы layout для деревьев. Но это для более сложных деревьев. Для бинарных, которые относительно просты, можно и свой велосипед нагородить. но зачем?
>>997333>>997335Короч, все равно есть вопрос по этому. Можно ли как-то перенести эту ебучую конструкцию base() в сам конструктор?
>>997338Сделай конструктор с параметром.
>>997287Речь о том, чтобы уменьшить зацепление. Возможность подсунуть разные реализации внедряемых абстракций - это один из бонусов.
Поясните за эстетику шарпа. Кто использует шарп? Какие проекты на нем пишутся? Какая разница между демографией людей которые пишут на, скажем, питоне?Есть ли люди которые перешли на дотнетовский стек, после того как писали достаточно долгое под юникс-подобные системы?
>>997371
Кто что-нибудь реальное пилит под Core? В любительских целях или по работе?
Как C# взаимодействует с БД? Какие стандартные методы для этого есть и какие каноничные сторонние библиотеки для этого юзаются, как например hibernate у джавистов?
>>997385+15, питоноолька.
>>997458> Как C# взаимодействует с БД?Будь конкретнее. Вариантов много от sqlConnection до entityframework> например hibernateФу таким быть
>>997464>Будь конкретнее. Вариантов много от sqlConnection до entityframeworkменя интересуют актуальные решения, которые широко используются.
помогите как делать отчеты в этом говне на winforms, пробую ReportViewer но сложна, нада чтоб программно все можно было сделоть
Решил вкатиться, посмотрел веб через формы и мвц, вроде ясно понятно. Есть типовые задания, которые дают на собеседовании? Часто к асп просят жс?
Есть такая хуйня: Convert.FromBase64String(message);Вот, аргументом не принимается строка, которая не делится на 4. Ну, я по-пацански сделал цикл for (int i = 0; i< message.Length%4;i++) { message += ' '; }Но тут одна проблема, если плюсовать " " - ебашит ошибку, но если вместо пробела дать "1" или что-то другое - всё нормально работает. Какого хуя? Может есть способ попроще это решить?
Где поспрашивать или посмотреть про хостинг для асп?
>>997519while (message.Length % 4 != 0) { message += "="; }
>>997591Azure.
>>997482Широко используются все. Тут все дело в конкретной задаче.sqlConnection для ультрабысрой скорости работы. Но нужно знать sql. EntityFramawork для тех кто упарывается по сущностям и любит прописывать всякие связи.
>>997497Что за отчеты?Просто экселевская таблица?Репортинг?OLAP куб?
>>997502Уровень собеседоания зависит от уровня прокачки конторы. Могут просто спросить принципы ООП и описать их словами. Могут предложить решить задакуна 15 минут. Могут дать тестовое задание на дом беги от этих пидорасов, могут и не взять даже если решишь а сами твое решение будут использовать.> Часто к асп просят жс?Могут спросить и тайпскрипт. Опять же, зависит от того на чем контора пишет.
>>997608Да что-то типо ексель таблица бы как в аксесе если знаешь
>>997595>"="
>>993288yourBitmap == null
>>993900>>993919не слушай ебанатов.DataRow твой друг.Конечно же, если твоя табличка при этом - DataTable, а не неведомая хуйня.=======Но если тебе нужно в сериализацию, то DataRow - путь в тупик. ЛУчше сериализовывать сразу DataTable.
>>994182https://msdn.microsoft.com/ru-ru/library/system.double.nan(v=vs.110).aspx
>>994195NaN
>>997595Ты не понял вопрос, мне интересно, чем заполнять массив, что бы оно работало. Простые пробелы не принимает.
>>997701Чтоб работало что?
Сап програмач. Используете ли вы на практике модную хуету вроде unit testing, dependency injection, mock objects?Изучаю вот ASP.NET MVC и я охуел. Тратится уйма времени для настройки всей этой поеботы, за это время я мог бы уже пофиксить любые баги без ебучих юнит тестов и прочей хипстоты. Сука, такое ощущение что сам создаю проблемы и потом сам же их решаю.
>>997890Та же хуйня от MVVM. Теоретически, если это будет какая-то невъебенная по размерам компания с огромным по размерам продуктом, то тогда МОЖЕТ БЫТЬ то что мы делаем сейчас кому-то и пригодится.
>>997890И здесь все-таки насрал, а. Ой мудель блять.
Где скачать этот ваш The C# Player's Guide на русском
Добрый вечер! Помогите сварганить класс CircleList, такой, что при Count = 10, допустим, lst[10] == lst[0] == lst[-10].Я вот так сделал:class CircleList<T> : List<T>{ new public T this[int index] => base[index % Count];}Но кодCircleList<char> alphabetlower = "abcdefghijklmnopqrstuvwxyz".ToList() as CircleList<char>;не работает. Что поменять?
>>998010> Что поменять?Формулировку вопроса.
>>997979Не читай это говно, бери Троелсена
>>998043То есть? Я имел в виду - как организовать класс.
>>998086У тебя нихуя не ясно. Начиная с того, что дано, и заканчивая тем что нужно получить.
enum Cell { Dead = 0, Alive = 1 }Как превратить int[,] в Cell[,], учитывая что в массиве только 1 и 0?
>>998262array.Cast<Cell[]>().ToArray()возвращает Cell[][], а как настоящий двухмерный сделать?
>>998010Мозг поменяй. У тебя бракованый.>"abcdefghijklmnopqrstuvwxyz".ToList() Сделай вот этому говну GetType() и убедись, что у тебя List<Char>. а он в свою очередь внезапно ни разу не является CircleList<Char>. Поэтому строка>as CircleList<char>возвращает всегда null.Как это пофиксить придумай сам. Моском надо пользоваться, иначе пиздец.
>>992657гугли .NET Micro Framework
>>998413Он 8-битные процессоры поддерживает, Z80 например?
using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerMovement : MonoBehaviour { Rigidbody2D rbody; Animator anim; // Use this for initialization void Start () { rbody = GetComponent <Rigidbody2D> (); anim = GetComponent <Animator> (); } // Update is called once per frame void Update () { Vector2 movment_vector = new Vector2 (Input.GetAxisRaw ("Horizontal"), Input.GetAxisRaw ("Vertical")); if (movment_vector != Vector2.zero) { anim.SetBool ("iswalking", true); anim.SetFloat("input_x", movment_vector.x); anim.SetFloat("input_y", movment_vector.y); } else { anim.SetBool("iswalking", false); } rbody.MovePosition(rbody.position + movment_vector Time.deltaTime 120); }}
>>998535>anim.SetBool ("iswalking", true);>else {>anim.SetBool("iswalking", false);Говно этот код, а вообще судя по всему говорит анимации что персонаж идёт и скорость движения по х и у, перемещает его.
Как в консоли перехватить выход из приложения (Environment.Exit) что бы выполнить некоторую операцию, довольно продолжительную?
[i,j] ? Что это вообще такое?
>>998638Копирование регистра j в регистр i.
>>9986382d array
>>998616Гугли про баиники
>>998650>баиникиЧёбля?
>>998652Про батникиОни же cmd файлы. Они умеют выполнять файл и на основе его выходного кода совершать какие то действия. Или не совершать.
>>998682Не, в батниках мне уже поздно что-то делать, так как там куча кода должно работать которая к тому же зависит от некоторых свойств в консольке.Я расчитывал что Exit это просто исключение, обложить все блоком finally в котором и провести эту операцию, но хз сработает или нет и если да, то корректно ли так делать.
>>998685Exit это выход. К исключению никакого отношения не имеет. Если это твоя прога и ты устанавливаешь выходной код, то сам и пиши обработчик такого случая до того как вызвать Exit.
>>998688Ясно, спс. Просто у меня много точек где есть эксит, придется их на выброс исключений поменять и в мэйне перехватывать.
>>998693Что за хуйню я читаю.Нахуй тебе исключения? Если это твой код, почему ты не можешь просто делать что нужно там где это нужно?
>>998695Ну так нужно сделать одно и то же действие по зачистке перед выходом, ты предлагаешь каждый раз его переписывать перед каждым вызовом exit???
>>998722Можно написать один метод который делает очистку и производит Exit и вместо выхода вызывать его. Можно даже упороться и переопределить Exit, если такое возможно.
Раньше обучался джаве, потом все проебал, сейчас перехожу в шарп. Но чет охуеваю от неудобства студии. Почему вывод по умолчанию в ебанов всплывающей консоли?Как запилить автозамену? например я в эклипсе делал автозамену букв sout -> System.out.Println. Как например заменить в студии cwl на Conlsole.WriteLine ?Почему вместо адекватного комментирования фрагмента через ctrl+/ нужно нажимать аж 2 комбинации клавиш?И это я только азы постигаю.
>>998724Ну да, похоже лучше просто метод отдельный сделать. Чето я с экцепшенами перемудрил, хотя они и непредвиденные исключения обрабатывали бы, но это все равно неправильно так как реакция на все ошибки должна быть предусмотрена, а лепить общий обработчик это не по науке.>>998792Ёбу дал? В студии охуенные поиск/замена с регулярными выражениями (ctrl+H)
>>998798>Ёбу дал? В студии охуенные поиск/замена с регулярными выражениями (ctrl+H) я имел ввиду настраиваемую автозамену на лету а не через ctrl+h.
>>998792>Conlsole.WriteLine ?cw + tab
>>998812спасибо, но это вск равно пиздец
Какое самое популярное ORM решение для C#? Entity Framework?
что означает get; set; в этой конструкции? Это типа геттер и сеттер не нужно реализовывать?public string name { get; set; }
>>998834Это ты запилил свойство. Реализовывать не обязательно, если не нужна особая логика на присваивание/считывание
>>998834да. компилятором неявно создается приватное поле и публичные get и set, в которых содержится базовая логика присвоения и чтения.
>>997386Пару либ и один проект на .net core. В принципе поддержка .net core в простых проектах добавляется парой строк.
>>993000[code lang="c#"]Booк B = new Book();Booк B = new Book("Some Title");[/code]
>>998825Да. Некоторые используют dapper или что-то самописное, если нужна скорость. Некоторые nhibernate, но за не ничего не скажу.
>>998801Для этой хуйни решарпер нужен, правда нахуй она нужна вообще, проще напечатать.
Для private констант что лучше использовать, const или readonly?const поля в классе не создаются, это вроде #define из Си?
Попробовал джаву с его аналогом XAML, оказывается у них ситуация гораздо лучше - если создать проперти связанное с любым элементом на форме (например, public TextArea tstTextField;), то оно автоматически оповещает про изменения и автоматически изменяет значения по всему аппликейшн. В отличие от WPF, где нужно подключаться к INotifyProperty сервису и ебашить трехэтажные конструкции с лямбдами, и то не факт что заработает.
>>999050Ах, ну и комманды там не нужно как-то реализовать - прямая привязка любой кнопки к методу в любом контроллере. Просто берешь и пишешь.C# охуенный язык, но WPFам еще очень далеко до джавы и судя по всему, wpf уже никодга и не догонит - не обновляется уже 6 лет
>>999051Ты про что? JavaFX?
>>999067Ну да.
>>999051WPF и WinForms никому не нужны, сейчас все пишут для веба. Не видел ни одной вакансии, чтобы был десктоп на .NET. Потому и не будет никакого развития.
>>999073>сейчас все пишут для вебаНу давай расскажи мне, как пишут десктопные приложения тогда.
>>999077И где здесь десктоп?
>>999080Толсто.
>>999073А как сегодня делают ERP системы?
>>999103Если не legacy говно - в виде веб-приложения.Если legacy говно - оно на Java, а не на C#.
>>999103Берут легаси на паскале, вешают на него модную веб морду на джаве и все это подпирают ехешники на шарпе. В результате у клиента заебатый вебинтерфейс, а что крутится на сервере никто не видит.мимо-erp-разработчик
>>999133>>999144Ну ок, ты главный архитектор, и у тебя задача написать с нуля ERP для малого бизнеса в виде сети ресторанов, например. У сети ресторанов есть "серверная" пекарня у главбуха за столом, а в главных залах в разных частях города стоят клиентские пекарни со сканнерами штрихкодов/принтерами чеков/банковскими терминалами. На чем писать будешь?
>>999144>Берут легаси на паскале, вешают на него модную веб морду на джаве и все это подпирают ехешники на шарпеПочему бы всё не написать на .NET? Или всё на джаве?
>>999145> Ну ок, ты главный архитектор, и у тебя задача написать с нуля ERP для малого бизнеса в виде сети ресторанов, например. И ты такой выходишь на рынок и тебя ебет р-кипер написанный на говне под DOS. Но у которого 40000 ресторанов в активе.
>>999148Рестораны были как пример, так что успокойся и ответь на вопрос.
>>999145Visual FoxPro
>>999073>сейчас все пишут для вебаC точки зрения малолетнего долбоёба - безусловно.
>>999148>тебя ебет р-кипер Ебанат насмотрелся сериала кухня?
>>999161>>999162Ты тоже раз можешь ответить на вопрос про язык для подобной системы >>999145 раз начал выделываться.
>>999146Потому что мелкософту не сидится на месте и он хочет конкурировать ради конкуренции. Джава в принципе всех утсраивала? но мелкомягкие решили что могут лучше и таки смогли. Но всем уже похуй.
>>999170Но это не ответ на вопрос "нахуй там паскаль".
>>999149Конкретизируй вопрос. Ты описал пример с ресторанами достоточно подробно, но когда получил ответ по ресторанам решил притворится абстрактным.>>999171Паскаль та мпотому, что на нем все и написано. А всякие джавы только отображают данные. Можно напистаь все на джаве. Но это во-первых, человекочасы. во-вторых, джава-пидоры не понимают нихуя в исходниках на паскале. Для них это как скрежали мертвого моря. Вот и приходится тянуть все как есть, потому что оно работает.
>>999173>во-вторых, джава-пидоры не понимают нихуя в исходниках на паскалеСтекломою объелся? Нынешние петухи с курсов жабараша может и не понимают, а в нулевых во всех энтерпрайзных вакансиях был стек Delphi + Java + Oracle
>>999165Я не он, но выпендрюсь.Итак ты хочешь писать софт под ретсоран. И вот проводишь анализ рынка и охуеваешь. Твои кассы с подключенными чекопечатающими машинками работают под DOS. При этом они замечательно тянут и винду, но нахуй на кассе лицензионная винда? Линукс? А какой дистрибутив? А он точно встанет на кассы в другом ресторане? А дрова на сканер встанут? А вы будете ебаться с натсройкой системы если что то пойдет не так? ты ведь уже освоил все азы работы в линуксе, да?Итак твоя система это DOS. Остается выбрать язык. Питон и руби отпадают сразу, т.к. нет компилятора. Потом внезапно оказывается, что и джава проводит ебе по губам и шарп туда же. В итоге ты осознаешь, что тебе нужно изучать паскаль или хотя бы Сиб что бы написать что то, что будет работать у клиента. А ты этого нихуя не умеешь и быстро закрываешся.
>>999177Вот кто в нудевых устроился, он так там и сидит. А в реальном мире среднестатистический соискатель это выходец из олчередного инкубатора в 10 курсов джавараша. некоторые сразу отказываются изучать шарп, т.к. они "умеют только джаву".
>>999018Лучше readonly.У const есть подводный камень в необходимость перекомпеляции зависимых от константы модулей, а readonly модули подхватывает без этого.Еще const нельзя применить к ссылочным типам.
>>999178Все это так ровно до того момента, пока ты не увидишь винду на терминале. Что будешь делать дальше?
Друзья, как в с# сделать так, что по клику на виндовс форме изменялся цвет(это я сообразил) и одновременно с этим всё, что было до этого на форме стало невидимым. Грубо говоря, чтобы по клику вне текстбокса поменялся цвет внутри формы и стал невидимым сам текстбокс?
>>999206А что надо делать? Открывать в терминале ресторан?Конкретики давай.
>>999207> чтобы по клику вне текстбокса поменялся цвет внутри формы и стал невидимым сам текстбокс? someClickEvent{this.Color = Color.Kori4neviy;this.textBox.Visibality = false;}
>>999209А что тебе не ясно? Еще скажи, что не знаешь, как выглядят терминалы в магазинах/кафе/ресторанах, и что не знаешь для чего они нужны.
>>999212Спасибо большое!
>>999213Как выглядит знаю. Но что ты хочешь чтоб я с ним делал?
>>999217Ясно.
ПЕРЕКАТ>>999275 (OP)>>999275 (OP)