Так как, на последнем этапе r = количеству for'ов, то меняется только последний из них, как сделать, чтоб программа меняла значения всех остальных for'ов?
Устраиваюсь на работу в веб на asp.net mvc. Какой проект стоит написать в гитхабе чтоб джуниором взяли на работу? Какой-нибудь недосайт аля онлайнмагазин? Или и без гитхаба возьмут? И вообще имеет смысл написать какой-нибудь парсер без стека веб технологий почти на голом С#?
>>1163872 Зависит от конторы. У меня не было гитхаба, когда я искал первую работу, но ноуте было свое вебприложение, которое все безжалостно обоссывали на собеседованиях. Взяли туда, где я его не показывал и просто ответил на вопросы, лол. А вот моего товарища взяли в люксофт за то что он учится в передовом универе, немного знает английский и умеет выводить строку задом наперед.
Дано: IObservable<IEnumerable<T>> Надо: сделать observable, который вызовет событие ЕСЛИ будет 3 одинаковых сообщения подряд. Это можно сделать только средствами rx?
HttpClient может сломаться на любом из 3 этапов: отправка запроса, получение ответа с http-ошибкой, ошибка во время чтения ответа. поэтому по хорошему нужно обрабатывать все 3 этапа сразу. обрабатывать одни и те-же исключения каждый раз при любой отправке запроса клиентом - это плохой дизайн. поэтому хороший HttpClient должен поддерживать только атомарные операции, которые или однозначно выполнятся успешно или создадут исключение. Разделение на request и response это хуевый дизайн
>>1164981 По хорошему для работы с http протоколом нужен не объект HttpClient, а HttpStream. HTTP должен быть абстрагирован как обычный поток данных, а не клиент.
>>1164637 Нет, нельзя с текущей версией CLR такое провернуть. Твой класс в рантайме превратится в каноничный открытый G<> (параметрезирован внутренним типом System.__Canon) с одним дженериковским аргументом !0 (которое и будет заменяться на конкретный тип). Ограничение же может быть struct, class или же in/out конкретный тип, так что максимум что выйдет это where T: Interface1<>, что хрен в шарпе напишешь (и рантайм заболеет от такого), что бы всунуть ограничение на Interface2 нужно еще место на один аргумент !1 - что автоматом даст тебе проброс T2 в G<T,T2>. Сделать такое можно только с Type Erasure (за что платишь дырами в системе типов) или с расширенной системой ограничений, для которой нужен новый рантайм. Да и вообще, статическое ограничение так не запишешь, G<T> валидно только когда T: Interface1<Interface2> - а это значит человек, юзающий T должен знать о T2.
При загрузке программы я инициализирую большинство модулей c помощью тасков, тупо пихаю их в цикле в лист и затем жду их выполнения. Так вот писал на скорую руку и сейчас таски пихаются в лист и затем ожидаются вот так foreach (var task in tsk) await task; Решил сделать чуть более красивее и сделал массив Task[] и затем Task.WaitAll() Так вот если запускать через await программа всегда стартует за 800-850 мс, но если делать через Task.WaitAll(), то старт выходит за 950-1000 мс. Что это за магия такая? Проверил более 100 раз, и результат в пользу foreach.
Amazon и Xamarin Forms01/04/18 Вск 11:30:53#23№1166161
Парни такой вопрос возможно ли подключить к проекту xamarin forms DRS(Dash Replenishment service). А конкертно затуп произошел когда перешел к внедрению LWA(Login With Amazon), в документации смог найти только нативный на java sdk. в google первые две ссылки этот же вопрос на stackoverflow
Amazon и Xamarin Forms01/04/18 Вск 11:38:17#24№1166165
>>1165590 Если шарпы для мобилок, то идеальный вариант react native, просто зайди на upwork и посмотри количество заказов.
>>1166134 >При загрузке программы я инициализирую большинство модулей c помощью тасков, тупо пихаю их в цикле в лист и затем жду их выполнения. анти-паттерн
>>1166284 Объясни почему? Если грузить все это дело просто в отдельном потоке, то на это уходит 250-350 мс, если добавить таски то меньше 70-90 мс. Но у меня всего 4 потока на проце, так что для тех у кого райзен возможно даже чуточку быстрее будет. Сейчас модулей не больше десятка, но хочу добавить опцию группировки по потокам смотреть сколько потоков в проце и на основе этого группировать загрузку чтобы тасков было ровно столько же сколько потоков.
Да не, я подумал и понял, что тут как раз не в статике дело - ровно потому что на крестах шаблоны это статическая хрень, а не рантаймовая, то это бы как раз прокатило (все проверки ограничений можно было бы сделать при компиляции). В дот нете генерик инстанцируется в рантайме, он вообще может быть без исходника а подключен в виде сборки, поэтому этот случай надо было бы как-то динамически поддерживать, а это гемор и видимо не особо надо.
Ебать тут тред у вас. 80% треда - вопросы без ответа. Эта щто, стэковерфлоу? Давайте посрёмся что ли
Как думаете, почему несмотря на заигрывания с кроссплатформенностью (.Net Core, Visual Studio Code) и прочее движение в духе времени, нас всё равно ебёт Java по всем фронтам?
>>1167120 1) Это не полновесная ORM, а micro-ORM 2) Как micro-ORM - неплохая, из большой троицы (Dapper, PetaPoco, Linq2Db) - тем не менее, самый популярный - Dapper
>>1167181 Потому что с приходом кора, дотнет кор стал похож на ноду. Говоря дотнет кор я имею ввиду аспнет. Потому что по страной причине он позиционируется как на 95% веб фреймворк. До этого был хоть хуевый но самобытный фреймворк, а сейчас очередная игрушка для построения рест апи, хоть и производительная и кроссплатформенная.
Как настроить wpf ViewBox так что бы он ограничивал текст по вертикали? По горизонтали ограничивает автоматически. Можно это сделать чисто, средствами xaml, без C# code behind?
>>1167181 Потому что java была фактически монополистом 20 лет. Это огромное число проектов на джаве и огромное число java-макак и паджитов, которых нужно куда-то утилизировать.
Мне больше интересно что вы думаете о том, в каком направлении движется C#. Правильно это, бездумно добавлять фичи предложенные дурачками на гитхабе? Язык станет таким-же раздутым и усложенным как С++
Суп двач, есть один сервис. Точнее два. Клиент запрашивает данные с первого сервиса, тот дергает второй и отдает данные клиенту. Проблема: оба запроса ходят в JSON. Я хочу изменить некоторые данные - например, поменять формат даты с unix timestamp на дд.мм.гггг чч.мм.сс, убрать некоторые поля и прочее. Но. Если поле сериализуемо, оно участвует и в десерилизации, и в сериализации, и как от него избавиться при десериализации - не совсем понятно. Для работы с json использую DataContractJsonSerializer, т.к. сервис WCF.
Добавить какой-нибудь json.net для обозначенных целей можно, но как-то очень некрасиво выйдет. Использовать два почти одинаковых класса и переливать из одного в другой вручную - тоже похоже так себе решение.
EF — какая-то ебанутая ненастраиваемая хуйня, как вы им пользуетесь? Хочу я прекомпилять/прегенерировать модели и запросы. Делаю я все, как описано тут — https://msdn.microsoft.com/en-us/library/dn469601(v=vs.113).aspx — никакого эффекта. Простая модель, простая таблица, а все равно первый запрос 5 секунд выполняется. В хибернейте такой хуйни не было.
>The request message was already sent. Cannot send the same request message multiple times HttpClient это самая ублюдочная реализация HTTP какую я только видел.
Мейлач у меня вопрос тут внезапно возник. Допустим я вкатываюсь в тиму что wpf приложение хуярит, а на чём они его хуярят? Работа с wpf = работа в студии? Или какие-то костыли есть?
Помогите, ононче. Студент-птушник, в C# шарю чуть больше, чем среднестатистический юзверь. Делаю прогу для шифрования, подключил Security.Cryptografy, и вот всё, на что меня хватило. Что делать дальше, чтобы оно работало? Нужно просто зашифровать текст, вывести зашифрованную лабуду для наглядности и потом расшифровать его, и вывести результат
>>1168710 Попробуй открыть гугл, пока не запретили, введи там название своей библиотеки, нажми самую длинную клавишу на клавиатуре и добавь "examples". Разбери предложенные страницы по частям и сделай соответствующие выводы для себя.
>>1168710 Даже когда я учился мы подобным занимались на Wolfaram, чтобы затем провести некоторый анализ насколько шифрование годное. А если тебе так сказать тупо лабу сдать, то сделай XOR и все.
Ребят, кто занимался WCF сервисами? Я что-то застрял. Да, посмотрел кучу уроков как их делать, как их развернуть в IIS на локалхосте. Я же хочу, чтобы мой сервис работал где-нибудь на бесплатном хостинге.
Есть коллекция с данными для инициализации программы, т.е работает каждый старт программы, решил попробовать ускорить загрузку сделав эту работу многопоточной. Синхронная работа занимает 1100-1300 мс. Если сделать Parallel.ForEach(), то программа начинает загружаться за 900-1000 мс. Но если сделать вот такой трюк var tasks = colletion.Select(data=> Task.Run(() => data.Work()); foreach (var task in tasks ) await task; То программа начинает загружаться за 700-900 мс. Вопрос состоит в том плохо ли так делать и если да, то почему? Коллекция имеет размер около 15-20 элементов которые примерно равны по времени работы.
>>1169669 у меня нет никаких дополнительных using, я полный путь к классу указал во время использования. Такой совет. если что-то не работает нажми Ctrl + '.' предложит возможные решения проблемы. в твоём случае предложит добавить Using или укажет сам полный путь.
>>1169499 Не с Троелльсона. Она не для новичков, там азы не описывают.
Попробуй книги Культина. Я по ним учился программировать 15 лет назад. https://books.google.ru/books?id=FuKnJgAylt4C&printsec=frontcover&dq=inauthor:"Культин+Никита+Борисович"+самоучитель&hl=ru&sa=X&ved=0ahUKEwib0aWQnqraAhXjNJoKHSlgB9kQ6AEIJzAA#v=onepage&q=inauthor%3A"Культин%20Никита%20Борисович"%20самоучитель&f=false
Только 2010 это старые книги, Шарп очень изменился за лето. За неимением лучшего читай их
>>1169994 Task.WaitAll() работает на примерно 100 мс медленнее чем foreach (var task in tasks ) await task; И если уж делать выбор между красотой и 100 мс, я выберу 100 мс.
>>1170150 Возможно с большим числом элементов в коллекции это было бы эффективнее, но когда их мало предполагаю что все упирается в удачу. Я не уверен, но мне кажется Parallel планирует обход коллекции до ее обхода, а мой трюк пытается выхватить поток из пула во время обхода и тот поток который свободен тупо выполняет работу. И выходит быстрее потому что не бывает таких моментов когда 2-3 и более долгих итерации попадают на один поток.
И так. Внимание! Нубский вопрос. В примерах по энтити фреймворк мы делаем конструктор контроллера с параметров контекста БД. Но сука как он туда попадает? Как фреймворк узнаёт что у нас есть конструктор именно с этим параметром?
>>1170429 using (var reader = new StreamReader(File.Open("file.txt", FileMode.Open))) using (var writer = new StreamWriter(File.Open("new_file.txt", FileMode.Create))) { while (!reader.EndOfStream) { var s = reader.ReadLine(); if (s != "") writer.WriteLine(s); } }
>>1170336 Скрипт запускает программу 30 раз, 5 секунд на запуск, 5 на убийство, в самой первой строчке создается таймер, в конце OnLoad пишется в лог сколько таймер насчитал, затем в excel копируется все это дело, сверху 2 и снизу 2 после сортировки значения откидываю, из оставшихся получаю среднее, но вообще между эти значениями разброс 50-100 мс. Так делаю с 2 разными версиями программы и смотрю в графике разницу.
>>1170142 WaitAll ждет все завершения таски, а await может упасть при первом исключении. Хотя я сомневаюсь что приводит к разнице в 100мс. Ты там что-то неправильно делаешь.
>>1171579 Подсчитывает сколько раз встречается в данной строке каждый символ из набора "0123456789abcdef" и выводит максимальное количество вхождений (как и следует из названия метода). Другой вопрос нахуя там переменная text2.
Писал телеграм бота, сервер в виде мамкиного ноута накрылся, поэтому я попросил у нее ее карточку чтобы зарегатся на ажур. И тут я охуел от количества разных предлагаемых услуг. Что мне вообще надо выбрать для обычного телега бота? В нем я юзаю скулайт, хотел бы перейти на полноценный скл, так как таблички запросом на скулайт не посоздаешь. Но вот допустим, я портану свою бд на скл, а не чем писать самого бота, как ему взаемодействовать с этой базой скл? Я его писал без всяких выебонов - просто взял консольное приложение, понадобавлял туда классов, и запустил всю ебалу с помощью одного метода в Main(). Мне придется что то переписывать или добавлять? Да и будет ли это стоить дороже доллара в месяц, если им будут пользоватся три с половиной человека? ну и скажите плес, какую услугу использовать и как ее добавить в проект
>>1162983 (OP) Ананасы, Помогите придумать тему для курсача по проге! писать на дотнет. что-то не очень сложное, не очень объёмное, но и не самое банальное.
мимо первокурсник ФИВТ, если это играет какую-то роль
>>1168675 >>1172227 Зачем? Comega была забавным экспериментом в 2004 году, часть ее наработок добавили в C#2.0 к 2005 году, оставшееся почти целиком в C#3.0 к 2007 (LINQ), ну и мелочи в F# тогда же. А сейчас уже 2018
>>1173434 Что за кафедра? Если ТК то тебе повезло, можно уже на втором-третьем курсе идти работать и не ходить на пары, договорившись с преподами. Я бы сказал, что это самая халявная кафедра во всем универе в целом, нужно быть полным аутистом чтобы тебе выгнали оттуда. На остальных кафедрах ситуация с этим посложнее, особенно на ВТ и АСОИУ
>>1173483 как раз ТК) лол но в этом семестре сложновато как бы там не было. Поставили Линчевского, например + лабки по 4м предметам. Но не сомневаюсь, что впредь будет как ты описал.
Помогите с основами алгоритмизации разобраться. Ковыряю Вирта - Алгоритмы и структуры данных. Вот пример метода который запускает сам себя. При каких обстоятельствах запускается код под белой линией, то бишь после момента где мктод опять себя вызывал? Или он выполняется паралельно, пока создается новый экземпляр метода? Или метод как масив масивов масивов итд запускает себя внутрь? Спасибо.
>>1174142 > Поставили Линчевского Вот он это самое жесткое, что может быть. Еще может вышка, смотря какой препод. А все остальное халява, преподы с которыми могли быть какие-то сложности ушли на пенсию, но даже они тройки без проблем за просто так ставили можно сказать. Был один своеобразный препод, который всем посонам по дефолту ставил тройки, а всем бабам пятерки. Чтобы ему сдать хотя бы на 4 нужно было или все знать безукоризненно или же сделать что-то эдакое. Например, на гитаре на экзамене слабать, но лучше накраситься и одеть женскую одежду, притворившись трапом, тогда тебе пятерка гарантирована, без вопросов. > А сам то ты откуда? Я закончил как раз тк пару лет назад.
>>1174477 Последовательность такая TryMove(0) код до белой линии TryMove(1) код до белой линии ... TryMove(8) код после белой линии код после белой линии код после белой линии
>>1174889 Я не спорю что это шарага, при чем самая илитная шарага в стране. > получившие "корочку" Что здесь такого? Как раз это оптимальный вариант. Есть диплом, который, внезапно, с недавних пор имеет вес за границей и есть возможность с ним пойти в магистратуру еропейского вузика. Как бы там ни было, все что ты знаешь зависит от тебя и твоего умения усваивать самостоятельно что-то новое.
Господа архитекторы, помогите плиз. Есть бизнес слой и есть воркер (для повторяющихся тасков и "выстрелил забыл" тасков) Бизнес слой имеет ссылку наворкер и вызывает эти "выстрелил и забыл". Но я теперь бля в воркере референс на Бизнесс слой делать бо будет циркулярка. Пизос. Как тут быть? Как в коре сделать эту ебучую циркулярку иил как перередизайнить? Ваще чет выходи не вижу (кроме как вручную инстансы Бизнесса в воркере создавать, но это пиздос )
Сап, котаны. Я делаю GET запрос и получаю в ответ json. Мне нужно работать только с items, и в последствии загнать в базу данных. Проблема только с json, как работать только с items и представить в виде объектов в c#. Полагаю, что надо перегнать в Collection/
>>1175114 Бизнес лэйер не должен зависеть от воркера. Либо заведи промежуточный слой (ворк кью) и референси его в обоих местах, либо подключи нормального брокера очередей.
>>1162983 (OP) http://www.ammyui.com/ няшный язык для xaml. намного лучше богомерзкого xml. очень хотелось бы, чтобы сделали что-то такое свое, или купили конторку
>>1176996 >Кому лучше? Очевидно всем лучше, потому что убирает весь boilerplate затрудняющий чтение (всратые нечитаемые xml-неймспейсы, теги и т.д.), код становится легко читаемым и понятным, добавляет строгую семантику в xaml, вместо это убогих текстовых проперти для всего, имеeт уникальные фичи (mixin, alias, конвертеры).
Пишу ГУЙ на WPF для небольших программ. Не очень нравится как организована работа с конвертерами, на какую-нибудь мелочь создаёшь уникальный конвертер, который потом нигде не используется и прочее, по мелочи. Ну и вроде как WPF не развивают больше. На чём пишут интерфейс православные C# программисты? Может я проебал какую-то технологию, или просто на десктоп C# GUI всем похуй?
>>1177101 вернее даже не так. Что-то перспективное. Потому что мне кажется, что вот сейчас уже поздно изучать тонкости WPF, а развиваться куда-то хочеться.
>>1176927 >няшный язык для xaml >>1177060 >текстовых проперти для всего,
После первого можно было заканчивать. Второе добило окончательно. Вы батенька про wpf видимо совсем нихуя не знаете.
>>1177060 >код становится легко читаемым и понятным, В каком блять месте? В окошке с тремя кнопками? Да, наверное. Мне даже интересно посмотреть на того долбаеба, который будет писать большой проект с разметкой на этом убожестве.
>>1177143 >Второе добило окончательно. Вы батенька про wpf видимо совсем нихуя не знаете. Нет ты. В xaml все специальные выражения пишутся в текстовых пропертях XML. В ammy более четкая семантика
<TextBlock Text="{Bind Text}"/> TextBlock { Text: bind Text }
>Мне даже интересно посмотреть на того долбаеба, который будет писать большой проект с разметкой на этом убожестве.
И в чем разница, кроме отсутствия ебли с неймспейсами, закрывающими тегами и более читаемым синткасимом? Кроме того ты получишь mixin, alias, ковертеры, автодополнение, редактирование интерфейса в реальном времени. Только упоротый будет отрицать все очевидные удобства.
>>1177165 >автодополнение, редактирование интерфейса в реальном времени Лол блять. Просто в осадок выпал. Алё блять, это всё в стандартном wpf из коробки есть. Про остальное не скажу, ибо я под десктоп не пишу.
#wpf Как сделать плавное увелечение шрифта в кнопке при наведении на нее мыши? У меня получилось через шаблон, тригер сделать анимацию для конкретых значений, например с 10 до 15, но я хочу, чтобы можно было задать размер шрифта для каждой кнопки, и он увеличивался например на 5 пунктов. Т.е. я указал <Button Template="AnimatedFontSize" FontSize="50"> и при наведении размер был 55. Любая попытка биндинга в анимации проваливается. Можно такое реализовать без изъебств или дохуя хочу?
>>1177694 Знать основы программирования, найти работу, показать интервьюверу свой ОГОНЬ В ГЛАЗАХ. Это если найдёшь тех, кто готов, так сказать, поработать с тобой на перспективу. Если хочешь вкатиться как боевая еденица, то нужно более высокий уровень кодинга показать, знание основных паттернов, опыт работы с svn, проекты какие-нибудь свои покажи, английский, ну и чем больше скилзов покажешь тем лучше
>>1177694 Сложно сказать из-за слишком широкого спектра предложений, особенно, в крупных городах. Берут даже с совсем базой и знакомством винформс (ознакомится за пару дней можно), чтобы древние формочки на .нет 3.5 и даже раннее переносить на дотнет 4.5+, дорабатывать функционал, делать несложные формочки для внутреннего пользования. Но это такие места, где нельзя долго работать, максимум опыт получить. Так ящитаю джун должен хорошо знать основы, работу с потоками, linq, сериализация, sql, web api. Если асп, то туда же основы js, html ну и самого аспа соответственно. Еще тебя очень выгодно отличит гитхаб с парой типичных проектов, сразу показывает уровень твоего говнокода, серьезность намерений и умение в какой то степени пользоваться гитом.
>>1178598 C# как язык уже начинает устаревать и подванивать, становясь второй java. Последняя хорошая библиотека (rx) вышла почти 10 лет назад. На этом фактически все развитие платформы остановилось.
Можно ли как-нибудь элегантно решить задачу нахождение элемента структуры данных с каким-либо максимальным параметром? Например у меня есть список типов, определенных во всех подключенных сборках в проекте (C#), как мне найти из этого списка тип с максимальным числом методов, самое длинное название метода и метод с наибольшим числом аргументов ? все что мне пришло в голову это создать цикл и огромную цепочку методов судя по всем у я где-то запутался и у меня выводится что-то не то, по-любому же есть способ сделать это как-то проще
какая разница между string и String в VS эти типы данных подсвечивается разным цветом, но вроде как это одно и то же, а еще, есть ли в C# ссылочные арифмитические типы или они все value-type? Просто изучал до этого Джаву и там арифметические типы являются примитивными и хранятся на стеке, поэтому когда я вижу что-то типа number = int.Parse("42"); вместо number = Integer.Parse("42"); у меня ломается мозг
>>1178741 >LINQ а нам еще про такое не рассказывали, не люблю когда теория идет медленнее практики хотя на лекции я особо не хожу, так как не вижу смысла, только на практику, поэтому грех жаловаться
Пишу в целях самообучения и наполнения портфолио простенькую онлайн стратегию а-ля Heroes M&M. В игре будет порядка сотни различных видов юнитов, каждый со своим набором параметров. Как осмысленнее будет это все реализовать на беке? Я вижу два варианта: -Либо делать общий класс UnitType, указывать его абстрактным, и наследовать от него кучу синглтон-классов, один класс - один вид юнита; -Либо писать в базу таблицу видов юнитов, где уже прописывать каждому его характеристики. Что из этого хуйня, а что бестпрактис?
Вопрос хочу задать я вам вот такой. Что мне использовать для того чтобы сделать проект - сайт для школки
а если серьезно, то делаю сайт - игру где каждый игрок имеет свою учетную запись и имеет баланс, игра не мультиплеерная
пока что набор инструментов такой C# + MySQL Я не знаю назначения WPF + XAML в области сайтов, и вообще как сделать сайт на C#, но думаю использовать их. Заранее спасибо.
особо ничего не знаю ибо еще ламер, знаю только основы с#
Я тут приложалку пишу, которая в дальнейшем пойдёт комплектом к БД. Есть ли смысл удрочить объектную структуру так, чтобы она полностью ложилась на 3-5 нормальную форму таблиц и отношений? Будет ли выигрыш от такого подхода для работоспособности самого приложения? (оно на десктоп идёт) По сути ведь не будет пустых полей, а все свойства и методы потом можно будет на SQL спокойно передать. Сам из проблем пока вижу лишь то, что при сопровождении меня за такую экзотику трижды матом покроют.
Шарпаны помогите юнитану запилить фичу, нужно получать данные по вебскету, что я делаю и сохранять в базу, ну и это должно крутиться на ВПСке 24/7. Какие инструменыт для этого использовать? Данные это просто JSON пакет. С базами дел не имел, просто юнити пацан, хелп.
Посоветуйте кароч гайсня. Раньше пилил говнокод WPF, без MVVM (это важно), писал код в обработчиках и всё такое. И была у меня утилита для сохранения/загрузки пользовательских настроек. То есть пользователь на форме навыбирал в combobox'ах элементы, заполнил text'box'ы, нажал на кнопку Save выполнялся такой метод:
DataStrore.Store(userControl)
Он искал по форме, рекурсивно, все textbox'ы комбобоксы и всё что я указал и сохранял в текстовый файл. Потом рекурсивно всё востанавливал когда пользователь нажимал на Load.
Теперь я начал по нормальному писать проги и я не могу просто сохранять View. Вьюха стала более сложная. ViewModel у меня, как правило Stateless, то есть просто пробрасывают вызовы к модели, значит её не сохранить. Остаётся только сохранять модель. А как это делать автоматически? Может есть какие-то практики, фреймворки, помогающие составлять такие модели, которые с лёгкостью можно было сделать сохраняемыми.
>>1162983 (OP) Как можно конвертнуть в формах датагриде тип колонки с bool в string без потери значений? Сам грид пустой, потом принимает значения через DataSource. >dataGridView.Columns[1].ValueType = _string.GetType(); - выдает ексепшн месседжбоксами о касте.
>>1178308 Что не нравится то ебать? Вообще сказка, я сначала не въезжал в впф, думал, сложна, винформс проще, но за пару дней осилил и заебись, гораздо удобней. Мввм это всего лишь паттерн, которого не обязательно придерживаться, если делаешь хуиту двухкнопочную. А в громоздких проектах хуярить отдельно модель просто заебись
Поцоны, как автоматизировать присвоение значений свойствам? У меня у класса, допустим есть 10 свойств: string prop1{get;set;} string prop2{get;set;} и т.д.
Есть метод, принимающий строку и разбивающий ее void Method(string data) { string[] s = data.Split(';'); } Как мне далее автоматически присвоить свойствам соответствующие элементы массива? Сейчас у меня тупо в методе этом же прописано prop1 = s[0]; prop2 = s[1]; и так все 10 свойств Наверное, кто будет смотреть код, умрет от смеха. Как это элегантно выполнить, или хотя бы куда копать?
>>1179633 Навскидку трудно сказать, почему например не string[] mProps = new string[10]; string prop1 { get { return mProps[0]; } set { mProps[0] = value; } } string prop2 { get { return mProps[1]; } set { mProps[1] = value; } } ... и присваивать значения целиком массиву? Или сделать пропертей целый массив строк?
>>1178957 Пошёл нахуй, говно. Тебе блядь гугл дали, ты блядь программистом хочешь стать, какогоьхуя ты не ищешь простейшую информацию? Ты даун, или да? Отсоси блядь.
>>1179880 Но я бы не советовал тебе использовать такой подход, лучше уж руками прописать Prop1 = string[0] Как минимум 2 причины на вскидку. 1)Ситуация когда ты удалил одно из свойств класса, либо разделил его на 2 свойства. Рефлексии пофиг, она переназначит твои значения другим свойствам 2)У необходимости в такой инициализации не возникало, должно быть потому что в твоём случае не очень хорошо сделана структура приложения, описаны классы, методы. Просто пиши лучший код, и не возникнет желания передавать 10 значений свойств в метод.
Посоны, у меня довольно большой опыт с шарпом, работа в целом устраивает, все дела. Какие профиты можно получить от изучения F#? Расширить своё сознание функциональным подходом, а ещё? Можно ли знания F# как-то монетизировать?
Может кто подскажет. Суть в том, чтобы с некоторой периодичностью нажималась определенная клавиша, а потом, когда будет нужно, я смогу этот процесс остановить. Вся проблема в том, что эта хуета зависает, после того как я передаю методу значение на запуск. Как пофиксить можно?
Пытаюсь разобраться с SOAP (Service Reference) на примере взаимодействия с РеформойЖКХ и часть методов, например, GetHouseProfileSF988 отваливается с ошибкой InvalidOperationException: Указанный тип не был распознан: имя="GetHouseProfile988Response", пространство имен="https://api.reformagkh.ru/api_document_literal", в <item xmlns=''>. И я понять не могу - либо я где-то с описанием/преобразованием типов проёбываюсь (что скорее всего), либо что-то иное. Строка на которой происходит ошибка - var house_list = client.GetHouseProfileSF988(region_id, page_number, period_id);
Кусок кода: private GetHouseProfileSF988Response[] Get_House_Data(string login, string password, int period_id, string region_id) { ApiSoapPortClient client = new ApiSoapPortClient(); var session_guid = client.Login(login, password);
using (new OperationContextScope(client.InnerChannel)) { var session_guid_header = MessageHeader.CreateHeader("authenticate", "", session_guid); OperationContext.Current.OutgoingMessageHeaders.Add(session_guid_header); int page_number = 2; var house_list = client.GetHouseProfileSF988(region_id, page_number, period_id);
client.Close(); return null; } } На return null не смотрите :3
>>1180516 Да иди в пизду, я нихуя не поверю, что ты даже сисярп ин э натшел осилил, не говоря уже о рихтере или ските, а если осилил, то подобных вопросов нн должно быть, мудила ебаная, пиздец просто.
https://metanit.com/sharp Аноны, оцените руководства в разделе C# на этом сайте Выбираю между туториалами с этого сайта и книгами, приведенными в шапке (конкретно троелсен, Рихтер, книга по wpf, ещё пара книг типа cookbook полистать, и ещё несколько книг вспомогательных) Вы вообще что посоветуете, как всё это изучать?
>>1181096 Одна из немногих оставшихся вакансий на C#, больше нет ничего: http://www.sql.ru/forum/1282669/ И твой будущий работодатель — директор фирмы, в костюме даже!!! во.
>>1181095 Да вы заебали, блять, в тредах есть всегда ответ на то, с чего начать учить-"The C# Player's Guide". На метаните нормальное руководство, но начать лучше с этой книги-после нее все лучше поймешь. Она на английском, но язык там простой.
>>1181100 >Давайте умерим наши аппетиты: оставим из требований только ... C#, ASP.NET MVC. (точка) остальное опционально и по ходу работы специалист сам определится с дальнейшей специализацией. Крепкий Back–End Developer найдется ?
по ходу никто не идет туда. что же он на хх и суперджобе не ищет?
>>1181108 Я не полный ноль в программировании) Я на втором курсе по специальности учусь, пишем на плюсах, но меня не прельщают вакансии, связанные с крестами; зато шарп мне нравится (у нас были предметы и на нём) И ты хочешь сказать, что метанита будет достаточно для трудоустройства?) Что-то с трудом верится
>>1181133 Да забудь ты про эти книги. Ни одна книга не научит программированию. Читай документацию. Открываешь доки по языку и читаешь. Открываешь доки по неймспейсам и читаешь все про классы.
>>1181199 Как будто доки учат программированию Там ты изучишь только синтаксис языка, а программировать так нихуя уметь и не будешь) решают алгоритмы и структуры данных и прочее вот это вот всё
>>1181133 >И ты хочешь сказать, что метанита будет достаточно для трудоустройства?) А ты почитай самые распространенные вопросы на собесах. https://github.com/MaximAbramchuck/awesome-interview-questions#c-2 И подумай, хватит тебе или нет. Причем джуна будут спрашивать на уровне "что такое сокрытие методов". Вопрос в том, куда вкатываться собираешься. Если в какой-нибудь ASP .NET, то вполне хватит.
>>1181206 синтаксис и стандартную библиотеку. больше ничего не нужно. там в доках есть все. и примеры и паттерны как нужно писать и best practices. иди читай, а бесполезные книжки отнеси в макулатуру. https://docs.microsoft.com/en-us/
>>1181044 Что с трудом верится? На метаните достаточно дохуя по языку написано, плюс паттерны. Ясен хуй помимо этого надо еще что-то знать, на метаните до пизды по аспу написано, в т.ч. кору, БД, впф.
>>1181273 Так я имел в виду не только руководство по шарпу, а вообще все обучающие материалы в разделе .net (Включая БД, winforms, wpf) То есть, этого будет достаточно вместо книг? Из книг энивей планирую прочитать что-нибудь про алгоритмы и структуры данных, возможно что-нибудь ещё по необходимости
>>1181280 Большинство материалов дублировано, но где-то одно расписано лучше, где-то другое, метанит, как по мне, где-то на уровне c# in a nutshell, но больше примеров-простыней кода и меньше "фишечек" интересных. А так c# player's guide можно смело скипать, если основы программирования знаешь. У Скита круто и объемно расписано по мультитредингу, плюс у него в блоге достаточно объемная статья на эту же тему. У Рихтера эта же тема круто обсасывается со стороны CLR, как машина управляет потоками, как работают разные абстракции и возможности типа класса бэкграунворкер, таски, async и т.д. Но это уже достаточно углубленный замес, имхо на метаните информации с лихвой хватит, чтобы вкатиться джуном.
Написал (скопипастил) сервер, который переводит сообщение от клиента в верхний регистр и отправляет обратно. Это работает. Но когда в клиенте я закрываю соединение TcpClient.Close(), то сервер уходит в бесконечный цикл. При чем, если просто закрыть окно клиента, то всё нормально - сервер выбрасывает исключение из-за разрыва соединения. Как правильно отключать клиента?
>>1181475 Тебе этот >>1181373 правильно написал. Тебе необходимо отслеживать состояние соединения. Поэтому while (true) неуместен. Далее, через try catch чекаешь состояния ответов. Тебе необходимо некий протокол реализовать.
>>1181602 Троелсен лучше. Шилдт просто переписывает доки с сайтов Oracle и MSDN, иногда допускает ошибки. Хотя по C++ у него книги хорошие, т.к. пишет на этом языке.
>>1181334 У тебя все неправильно. Это процедурный код. Так писать нельзя. В самом простом можно сделать так var reader = new StreamReader(stream); while (!reader.EndOfStream) { var s = await reader.ReadLineAsync();
>>1181759 При чем тут это? Как это относится к проблеме? И зачем асинхронное чтение с потока, если сразу же блокировать дальнейшее выполнение ожиданием?
>>1181817 Просто нахуй не всралось ломать глаза об говнокод какого-то войтивайти и отвечать на его идиотские вопросы, которые он не смог перевести на английский язык и вбить в гугл.
Есть тут знатоки Service Fabric? Вопрос, как из program.cs передать параметр в Actor? Допустим создаю я DBContext, а он в нескольких Actor'ах должен использоваться.
Шарпач подскажи. Пишу прикреплённое свойство, которое активируется установкой флага в true. Так же есть свойство Mode, в зависимости от которого меняется поведение. Собственно вопрос: нормально (правильно) ли хранить состояние в статической переменной pattern и передавать её в качестве аргумента? Или есть какие-то другие способы для прикрепляемых свойств. https://pastebin.com/vzALJFBB
Как оверрайднуть css на куске документа? Скажем, в _Layout у меня используется бутстрап (тамошний навбар), а одной из вьюшек для правильной работы нужен конфликтующий foundation. Как это реализовать?
Вот сижу в деревне с 2 гигами на месяц интернета. Студии на компе нет, поэтому компилирую шарп через пик, а сам код пишу в сублайме(накатил пару плагинов для шарпа и стало норм). В чем подводные? Можно ли через этот компилятор Windows Forms юзать?
>>1182564 Ты с этим компилятором сделаешь все тоже самое, что и студия, только из консоли. Поставь вместо студии sharp developer там дистр копейки весит. Проще будет, чем ебаться в саблайме.
>>1182585 Скриптовый язык требует интерпретатора, или если его и можно запихнуть в ехе, то он будет слишком зур, как говорят тут. (В переводе большой). А окошечки нужны посонам, чтобы сайтом легче управлять. Я сделал систему управления сайтом через них. Да, это тупо, можно было сделать панель админа, но я уже начал делать, так что уже не повернешь назад.
>>1182589 Под спермой самый простой вариант - vbs+hta. Никаких исполняемых файлов и всего такого. Пишешь простенький инсталлятор и запихиваешь все в самораспаковывающийся архив на 7z/rar. Только пропиши винсталля оре создание ярлыка после распаковки.
Управлять сайтом через си диез - это я такое первый раз слышу.
>>1182597 Ебанутый или нет я не знаю, но идея явно не здоровая. Через либу curl управлять сайтом - говорит о том, что restapi нема у сайта и как-то управлять говно-парашей надо. Печально конечно, что он выбрал такой путь, а так мог бы дописать бекэнд, строк бы получилось овер дохуя, но это принесло бы ему и лавэ в копилку, и опыта, и для резюме нормальный такой плюс.
Хочу какой-то план по изучению с практическими заданиями. Сейчас смотрю видосы itvdn essential, решаю оттуда примеры из методички, есть еще какие-то годные варианты? Уж больно бесит этот петухан лысый.
>>1182941 Хорошо, давай так >Хочу какой-то план по изучению с практическими заданиями. Сейчас смотрю видосы itvdn essential, решаю оттуда примеры из методички, есть еще какие-то годные варианты?
Помогите, аноны. Балуюсь с Entity Framework. При считывании из базы данных появляется "The underlying provider failed on Open.". Другого решения кроме как лезть в окружение среды нет?
Аноны, нужна помощь. На пикрил схема проекта. 1. На 4 форме два PictureBox в качестве кнопок, add и edit(ничего лучше чем наложить их друг на друга я не придумал). Нужно, чтобы при нажатии кнопки add на 1 форме открывалась 4 форма с кнопкой add и определённым текстом в лейблах(edit должна быть скрыта), а при нажатии кнопки edit на 5 форме после проверки введённых данных открывалась 4 форма с кнопкой edit и уже другим текстом в лейблах(add должна быть скрыта), а текстбоксы должны отображать текущие данные записи из БД. 2. Ещё нужно чтобы кнопка send на 7 форме отображалась только в том случае, если 7 форма была открыта с кнопки send на 5 форме, а кнопка send на 5 форме отображалась только в том случае, если 7 форма была открыта с кнопки send на 6 форме. 3. На 3 форме должно быть отображение записей из БД. Но оно не должно быть стандартным. Требуется что-то вроде стиля для отображения.
>>1162983 (OP) Здароу. Очередной вкатывальщик в треде. Тыкал разные ЯП до уровня немного выше "хелловорлда", но C# Заинтересовал после того как узнал, что топовые малвары пишутся либо на плюсах, либо на шарпе. Но плюсы мне кажутся крайне унылыми, а тут и игрушки пойти делать можно. Сообственно стандартный вопрос - по какому пути идти? Есть ли гайды по типу как в фронтенд-треде? Если нет, накиньте годной литературы, желательно с русским переводом. Спасибо заранее.
>>1183662 Воопстщем я разобрался. ModelState — динамический, поэтому в него можно добавлять, что хочешь, и ключи не обязаны соответствовать полям модели. Ну и потом из вьюшки зовём не ValidationMessageFor, а просто ValidationMessage, передавая ему добавленный ключ. Самое элегантное решение, что вообще может быть. И простое. Хуй знает, почему мне никто не ответил.
Блять это просто пиздец! На РАБоте дел особо нет пока, не знаю чем себя занять, как будто весь креатив растерял. Никаких идей не приходит для пет-проекта. ЧЯДНТ? Как пробудить фантазию?
>>1184066 Что бы делать что-то достойное нужно будет узнать очень много. Начинай изучать всё. Когда перестанешь задавать такие вопросы, изучи ещё немного и иди создавать игоры.
>>1183695 Если это бы это был wpf mvvm, я бы сказал тебе забиндить в название кнопки свойство-текст, которое изменяется с помощью INotifyPropertyChanged. Кнопки не надо делать видимыми/невидимыми. Их надо делать доступными или недоступными. Кури сие: https://stackoverflow.com/questions/2906346/disable-button-in-wpf Что касается зависимости вида одного окна от другого окна, то реализуй Service с общими данными для двух окон и пихай поля его типа в модели своих окон. Я делал такое через синглтон и через обычный статический класс, но, наверное, есть какие-то способы ебануть dependency injection, как в коре и ангулярчике. Погугли.
Помогите бедному студенту. Как на с# лучше всего реализовать считыватель? То есть прикладываешь карточку к датчику - сразу выводится информация в реальном времени на экран и в базу данных идёт getdate.
>>1184303 Ну ебана а что ты хочешь? Чтобы рассказали, как в текстбокс передать строку и в базу через EF? Что за датчик, как он подключен к пк? Если через rs232 то вообще хуйня
Здарова, чуваки. Для души учу шарпы, столкнулся с такой проблемой: Хочу найти в строке "abccbacaffgabgbacrrabbbbac" все вхождения регулярки: "ab(.*)bac", но дело в том, что несмотря на то, что вхождений там несколько, выводит только ВСЮ строку один раз. Как изменить регулярку, чтобы выводило ВСЕ вхождения? Написал через Regex.Matches.
>>1184306 >Ну ебана а что ты хочешь? Варианты, как можно решить эту задачу. >Чтобы рассказали, как в текстбокс передать строку и в базу через EF? Мне не про вывод надо, а про получение данных
>Что за датчик, как он подключен к пк? Если через rs232 то вообще хуйня RFID через USB через COM
>>1162983 (OP) Сори за тупой вопрос, чето совсем уже башка не варит. Как на винформах проверить являеться ли dataGridView.SelectedCells[0] n-ого Column.
>>1184080 советуй на ангельском. Чет я куда не ткну в ютуб, там либо какой-то аутист или калека толкает годноту(видно что парень шарит, но слушать невозможно, снято через жопу, какой нибудь ебуций акцент, етц), лио второй вариант "профессиональные блогеры", которые умеют только кликбейт вешать и Капитанщину снимать. Может есть топовый аналог itvdn на англ на торрентах? Конкретно дотнет не важен, я общий синтаксис учу, последнее что конспектил это потоки, евенты, коллекции.
Я понимаю, тчо черезчур привередливый, но верю в вин, анон всегда доставлял.
>>1184415 Читай албахари и не выебывайся тогда. Если тебя раздражает Шевчук - это пиздец, повторюсь, у тебя психические заскоки. С ними дорога в ойти тебе закрыта, там надо с людьми коммуницировать, а люди там основном на своей волне и кадры похлеще каких-то калек и аутистов.
>>1184433 Ну так SerialPort в помощь, наверное, в таком случае вполне можно использовать ивент DataReceived по которому с буфера будет инфа читаться в строку/массив байтов. Единственное, что класс говно на самом деле, много спорных методов и надежность, говорят, так себе, но я пользовался им нормально, а студенту тем более пойдет
Давненько я дурацких вопросов не задавал. Пришлось мне столкнуться с проектом, в котором нет нихуя, кроме голых запросов в базу. Проект старый, студия вообще не использовалась никогда походу и не будет (нет возможности и пока не предвидится его выдрать на локалку). Я хочу завезти туда EF. Соответственно нужно пролинковать сам EF, создать контексты там, модельки и тд. И так, чтобы это ничего не наебнуло. Это реально вообще? Если да, то как?
>>1184610 Затем, что это все на соплях работает, даже валидаций 0, чувак писавший это ваще ни о чем не парился, да и в целом дублирующийся код по 15к строк в маршрутах заебал. И мертвого дохуища. Запросы избыточно так же, править охуеешь.
>>1185304 Ну создаешь объект, настраиваешь бодрейт и т.д., типа serialPort.DataReceived += serialPort_DataReceived;
serialPort_DataReceived( object sender, eventargs e) { 1)читаешь с буфера нужным методом(строку/все/байтами) 2)форматируешь в нужный вид, если надо, и отправляешь куда хочешь }
>>1185315 >>1185316 С получением данных проблем нету. Непонятки с тем, можно ли сделать получение данных в реальном времени, без "нажатия", то есть включил программу и ушёл, а дальше она сама, после получения данных с порта, выполняет действия с базой данных и textbox.
>>1185382 Блядь даже по ссылке написано > Стандартный пример - работа с базой данных, которая может содержать значения null. ты принципиально гуглом не пользуешься?
Господа, заранее прошу прощения, если вопрос не по теме. Задача следующая: берётся целое число n , и преобразовывается в сумму n + nn + nnn. На уровне цифр эта хрень решается просто: n + n11 + n111 Как бы теперь решить на уровне чисел? Ну т.е. берем 12, а на выходе получаем 12 + 1212 + 121212. PS только начал вкатываться, кроме Console.WriteLine и Console.ReadLine нихуа не знаю пока.
>>1185531 >Это точно с SQL будет работать >Базы данных разные бывают Ой блядь ладно изначально хотел помочь, но ты, видимо, очередной студент-долбоеб, который в лишний раз боится напрячь извилину и погуглить, иди на хуй.
>>1185773 Очевидно, что ты вообще не всекаешь о чем речь, либо прикидываешься. Метод твой проверяет, есть ли в столбце null значения, а по той ссылке про nullable значимые переменные, которые позволяют без лишних костылей читать и писать в бд, у тебя через ef null из бд ебошит прямо в nullable переменную и наоборот
public static T GetAverage(List<T> data) { T sum = default(T); for (int i = 0; i < data.Count; i++) sum = data + sum; return sum / data.Count; }
Смотрите. Естественно не компилируется, ругается на операторы сложения и деления у обобщённых типов. Как это исправить? Есть ли интерфейс какой, чтобы в where прописать?
Какого хуя ебучая Visual Studio не может нормально установить свой же Xamarin? Я уже так полюбил мелкомягких, а тут вдруг такую свинью подкинули - приходится перерывать десятки тредов на разных форумов просто для того чтобы запустить хуйню, которая обещана из коробки. Пидорство, блять.
>>1185850 1. Оно у тебя вообще будет складываться/делиться, если тип данных так не умеет? 2. Ты с суммой какую-то хуйню делаешь, обращаясь ко всему листу сразу 3. Почему не пользовать няшный foreach? 4. Ты вообще уверен, что такой хуйни нет в стандартной библиотеке и оно не обсосано ещё на форумах?
>>1185850 У ienumerable есть стандартный метод, но ты должен предоставлять функцию перевода твоего типа к числовому. В общем случае + и / могут быть перегружены и обозначать что угодно. string[] numbers = { "10007", "37", "299846234235" }; double average = numbers.Average(num => Convert.ToInt64(num));
>>1186020 Это её родной компонент уже не первый год как. MS его прямо при загрузке Студии пиарят. Даже дефолтные пункты менюшек под него есть, это по сути такой же родной компонент как Питон.
>>1186030 Блять я знаю что такое замарин и какие в студии компоненты, а ты напердолил хуйни которая мешает их установке и студия тут ни при чем (это не только студии касается)
>>1185976 Собес, если что, на стажировку с перспективой дальнейшего трудоустройства на Full Stack .NET. Написано, что для собеса требуются только хорошие теоретические знания C#.
>>1185976 Лично я беру рандомную задачу с codewars и мы вместе фантазируем, как из нее сделать проект. Ну вы понели. а что если мы добавим это? А это? Так в игровой форме я вижу шарит человек или нет. Причем помидор или джун побоку.
>>1186209 Ну, пара проектов у меня есть, но на собесе точно будут спрашивать конкретно по языку. Поэтому я и спрашиваю, что может на это собесе быть. Нужно ли упарываться по многопоточности\асинхронности, или будет достаточно поверхностных знаний, например?
Сап, анон. Мне нужно доделать лабу, поэтому реквестирую, что погуглить? Пилить, естестна, сам буду. _____________________ Задача, Нужно запилить подобие журнала студентов на винформах. Т.е. каждая страница — на ней что-то уровня карточки студента. Грубо говоря, тупо инфа о нем. Информация должна хранится в трех файлах разного типа. Ну и возможность добавлять страницы/редактировать/ридонли мод. Я вот форму примерно наебенил. По клику подробнее открывается второе окно с подробной инфой. ________________________ Сейчас знаю как говнокодить консольные приложения, как создавать классы, ну и другие базовые консольные операции.
>>1186839 >на винформах. Зачем? Оно умерло ещё лет восемь назад. >Мне нужно доделать лабу, поэтому реквестирую Почитай Троелсона. Главы про работу с потоками для работы с файлами. Там же и про твои богомерзкие формы есть главны, если в новых изданиях их не выпилили.
>>1186875 >на винформах. >Зачем? Оно умерло ещё лет восемь назад. ПидорашкоВУЗ, в который я хожу(иногда), что бы в армию не забрали. >Почитай Троелсона. Главы про работу с потоками для работы с файлами. Там же и про твои богомерзкие формы есть главны, если в новых изданиях их не выпилили. Спасибо, накачу.
>>1186699 Я в курсе, но вряд ли на собесе будут так углубляться, так ведь? Язык я сам неплохо знал, просто не писал давно ничего большого, и надо бы быстренько повторить некоторые моменты.
Погугли что такое event. У каждого элемента интерфейса есть event'ы событие. Например у кнопки это OnButtonClicked, у numericUpDown(хз как этот контрол называется) должно быть OnValueChanged. Добавь обработчиков к нужным событиям и там пиши код который меняет содержимое файла/дополняет интерфейс. Например: OnNumericUpDownValueChanged(object o, EventArgs e) { var studentNumber = e.Value; LoadInterfaceBy(studentNumber); }
OnUspevaemostClicked(o,e) { var studentNumber = e.Value; OpenUspevaemostWinodw(studentNumber); }
ну и винформ конечно говно.Если тебе интересно формы поделать учи сразу WPF.
>>1187794 Почему происходит попытка распознать тип GetHouseProfile988Response, который находится внутри GetHouseProfileResponse[100], который в свою очередь внутри GetHouseProfileSF988Response
Сап, аноны. Пытаюсь реализовать систему плагинов, как написано в этом ( https://code.msdn.microsoft.com/windowsdesktop/Creating-a-simple-plugin-b6174b62 ) гайде. Быстро пришёл к наболевшему (судя по количеству вопросов на stackoverflow): интерфейса для моих нужд недостаточно, потому как много кода, полностью одинакового для всех наследуемых классов, а если интерфейс заменить на абстрактный класс - из разных его наследников коллекцию не соберёшь, чтоб по ней пройтись.
Хотелось бы узнать, что в таком случае делают тру разработчики? Неужели делают интерфейс и тупо копипастят весь одинаковый код в каждый наследуемый класс?
>>1188140 Т.е. если я сделаю интерфейс, унаследую от него абстрактный класс, затем от этого класса унаследую несколько разных обычных классов, то смогу создать коллекцию с типом интерфейса, и засунуть в неё экземпляры обычных классов? Не думал, что так может сработать. Спасибо за мысль, сейчас попробую.
>>1188151 Коллекцию то я смогу сделать, а вот добавить в неё экземпляр наследованного класса - нет. Впрочем, и с интерфейсом тоже не вышло. Есть у меня интерфейс IPlugin, абстрактный класс Plugin : IPlugin, и простой класс PluginA : Plugin. В любом случае, не получается скастовать PluginA ни к Plugin, ни к IPlugin.
>>1188183 > Ты что-то делаешь не так. >>1188189 > Мне кажется тебе надо повторить азы ООП. На всякий случай скажу, что я даже близко не программист, никогда на него не учился и им не работал, всё это пишу для собственного удовольствия и развлечения. Поэтому могу что-то не помнить/не знать.
> abstract public class CBase : ISomeIface > { > abstract public int A { get; set; } > abstract public void Func(); > } Вот тут то всё и кроется. Есть у меня (к примеру) 100 строчек кода, которые полностью одинаковы для всех классов, унаследованных от CBase. Куда мне их пихать? Если их запихаю их в CBase, то не смогу добавить CDerived в коллекцию типа CBase. А копипастить их в каждый новый класс - неправильно.
Пока что я решил проблему через рефлексию - вместо каста так и передаю Tuple<Type, object>, где object - экземпляр класса, полученный с помощью Activator.CreateInstance. Но тогда приходится городить костыли типа: static object ExecuteMethod(Type type, object obj, string methodName, params object[] parameters) { MethodInfo method = type.GetMethod(methodName); return method.Invoke(obj, parameters); }
static void AttachEvent(Type type, object obj, string eventName, Delegate eventHandler) { EventInfo ev = type.GetEvent(eventName); ev.AddEventHandler(obj, eventHandler); } Это не очень удобно, и очень некрасиво, а хочется сделать по-человечески (пишу же для себя, а не для кого-то).
Господа, не могу склеить проект на C# с базой MySQL. Падает так: Unhandled Exception: MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. ---> System.AggregateException: One or more errors occurred. ---> System.Net.Sockets.SocketException: An address incompatible with the requested protocol was used at System.Net.Sockets.SocketAsyncResult.CheckIfThrowDelayedException () [0x00014] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.Socket.EndConnect (System.IAsyncResult asyncResult) [0x0002c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.TcpClient.EndConnect (System.IAsyncResult asyncResult) [0x0000c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) [0x00019] in <135e7c260ae04ab1a5538976c2d8cf31>:0 --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout) [0x00000] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at MySql.Data.Common.StreamCreator.GetTcpStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0001f] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.Common.StreamCreator.GetStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00021] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.NativeDriver.Open () [0x00007] in <0d0f434e354d4e149020fa87ae5d8904>:0 ---> (Inner Exception #0) System.Net.Sockets.SocketException (0x80004005): An address incompatible with the requested protocol was used at System.Net.Sockets.SocketAsyncResult.CheckIfThrowDelayedException () [0x00014] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.Socket.EndConnect (System.IAsyncResult asyncResult) [0x0002c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.TcpClient.EndConnect (System.IAsyncResult asyncResult) [0x0000c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) [0x00019] in <135e7c260ae04ab1a5538976c2d8cf31>:0 <---
at MySql.Data.MySqlClient.NativeDriver.Open () [0x00041] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004e] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00006] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x0008a] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x0003f] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.GetConnection () [0x0001c] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlConnection.Open () [0x0016d] in <0d0f434e354d4e149020fa87ae5d8904>:0 at telegrambotgroupagree.DBHandler.GetPolls (System.Nullable`1[T] chatId, System.Nullable`1[T] pollId, System.String searchFor, System.Boolean reverse, System.Int32 limit) [0x00001] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.PollContainer..ctor (telegrambotgroupagree.DBHandler dBHandler, telegrambotgroupagree.Strings strings) [0x00016] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.GroupAgreeBot..ctor (System.String apikey) [0x000a9] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.MainBotFrame.Main (System.String[] args) [0x00001] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 [ERROR] FATAL UNHANDLED EXCEPTION: MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. ---> System.AggregateException: One or more errors occurred. ---> System.Net.Sockets.SocketException: An address incompatible with the requested protocol was used at System.Net.Sockets.SocketAsyncResult.CheckIfThrowDelayedException () [0x00014] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.Socket.EndConnect (System.IAsyncResult asyncResult) [0x0002c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.TcpClient.EndConnect (System.IAsyncResult asyncResult) [0x0000c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) [0x00019] in <135e7c260ae04ab1a5538976c2d8cf31>:0 --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout) [0x00000] in <135e7c260ae04ab1a5538976c2d8cf31>:0 at MySql.Data.Common.StreamCreator.GetTcpStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0001f] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.Common.StreamCreator.GetStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00021] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.NativeDriver.Open () [0x00007] in <0d0f434e354d4e149020fa87ae5d8904>:0 ---> (Inner Exception #0) System.Net.Sockets.SocketException (0x80004005): An address incompatible with the requested protocol was used at System.Net.Sockets.SocketAsyncResult.CheckIfThrowDelayedException () [0x00014] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.Socket.EndConnect (System.IAsyncResult asyncResult) [0x0002c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Net.Sockets.TcpClient.EndConnect (System.IAsyncResult asyncResult) [0x0000c] in <93075ab5c03242e39aa9261622b472b8>:0 at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) [0x00019] in <135e7c260ae04ab1a5538976c2d8cf31>:0 <---
at MySql.Data.MySqlClient.NativeDriver.Open () [0x00041] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004e] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00006] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x0008a] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x0003f] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlPool.GetConnection () [0x0001c] in <0d0f434e354d4e149020fa87ae5d8904>:0 at MySql.Data.MySqlClient.MySqlConnection.Open () [0x0016d] in <0d0f434e354d4e149020fa87ae5d8904>:0 at telegrambotgroupagree.DBHandler.GetPolls (System.Nullable`1[T] chatId, System.Nullable`1[T] pollId, System.String searchFor, System.Boolean reverse, System.Int32 limit) [0x00001] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.PollContainer..ctor (telegrambotgroupagree.DBHandler dBHandler, telegrambotgroupagree.Strings strings) [0x00016] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.GroupAgreeBot..ctor (System.String apikey) [0x000a9] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0 at telegrambotgroupagree.MainBotFrame.Main (System.String[] args) [0x00001] in <80a06f6a4bcc4531a303c6d6bf1d7565>:0
Запускаю под mono на CentOS 7. Читал, приложение может лезть в базу по адресу ::1 вместо 127.0.0.1, но включение (и проверка, что включилось) IPv6 для MySQL-сервера проблему не решило.
Продолжаю ковырять это говно, застрял на ошибке 404 из-за хуй пойми чего. Запрос с теми же параметрами на тот же адрес через curl проходит успешно, а из этой параши мучениями приходится доставать заголовки.
``` WebHeaderCollection headers = client.Headers; for(int i = 0; i < headers.Count; ++i) { string header = headers.GetKey(i); foreach(string value in headers.GetValues(i)) { Console.WriteLine("{0}: {1}", header, value); } } ``` — и оно мне выдало Host: api.telegram.org. Ну охуеть теперь, вот уж я не знал, куда запрос отправляю. Как эту блядь заставить нормально отправлять запросы?
Сап, аноны. Нужно реализовать криптосистему Нидеррайтера (или Мак-Элиса), а сам я в это не могу. В интернетах найти хоть что-то невозможно, поэтому прошу помощи у вас, естсно не за бесплатно.
Нужна простая реализация зашифрования и расшифрования, нахуй интерфейс, сам ебану, главное - АЛГОРИТМ. Есть какие-то куски кода приложения клиент-сервер, но там вроде подпись реализуется. Короче кто сможет в это дерьмо - оставляйте свои почтовые ящики. По деньгам договоримся
>>1175375 Гугли сериализацию и десериализацию Json в шарпе, объяснять лень и ваще иди нахуй Короче из этого json можешь собрать объект а с ним уже можешь работать. Как это сделать есть в гугле.
Аноны, появилась необходимость накодить свой сайт, что-то типа совсем небольшого корп.портала. Лет 5 назад писал на шарпе, поэтому решил на нем же реализовать свою задачу. Что сейчас актуально? ASP.NET, MVC или какие-то новые фреймворки?
Пачаны, за ночь надо найти веб-приложение - достаточно казуальный форум, можно борду, чтобы скрутилось в вижле 2017, заюзать хочу в качестве курсача, восприятие асп.нет какое-то есть, но по времени пилить уже не получится. С меня нихуяуважение и почет
Автоматизировал установку сторонней программы посредством UI Automation. После установки программа запускается и имеет ListView, с произвольным количеством строк. Если кликнуть по строке двойным щелчком, откроется окно, в котором нужно нажать на пару кнопок. Вопрос: как мне посредством UI Automation получить количество строк, отталкиваясь от количества, открывать каждую? (Как кнопки нажимать в появившемся окне, знаю, застрял на ListView). Я очень надеюсь на вашу помощь, много дней ломаю голову, может подскажете. Заранее спасибо.
Господа, почему при делении int/int в моем примере все нормально, а при делении float/int я получаю ноль? inb4: "убери тернарники вонючие" - не хочу http://rextester.com/YNNTH61330
>>1162983 (OP) Что за магия? Почему так? Есть 3 кнопки и класс матрица. В классе Формы создается объект класса - рисунок один. Далее если жать кнопку Заполнить случайными, то матрица заполняется случайными. Тут все работает. Если жмем создать пустую, чтобы заполнить руками матрицу и потом нажать Записать, то почему-то матрица записывается инверсированной. Как так может быть?
>>1192241 Покажи как ты реализуешь ввод с клавы, в традиционной математике i - номер строки j - номер столбца А матрицы реализуются как массив строк массив массивов. И ты заполняешь его наоборот.
>>1192350 Кнопка создать пустой массив создает датагридвью указанной размерности. Там в ячейки ввожу руками числа. Потом жму кнопку записать, которая из датагридвью значения записывает в массив класса. Код для этих двух кнопок тут>>1192241 на второй картинке
Как в WPF в UniformGrid ужать элементы до размера содержимого? Если там две строки, то высоту элемента распидорашивает до середины, а если много строк, то он как надо впритык к содержимому делает. Как это работает?
>>1192404 Нихуя себе ловушка. Ну ладно. Буду знать. А можешь еще подсказать, как правильнее делать? Объект класса создавать в классе Form, а потом в кнопках уже инициализировать его? По-другому никак? Или как вообще правильно делают такие вещи?
>>1189498 Не пользуюсь IDE, компилял встроенным в mono xbuild'ом. Связался с разрабом этого бота, проблема решилась, там ещё в одном месте надо было параметры захардкодить т.к. по задумке бот пишет трейсы в телеграм-канал.
Sup /pr/. Нужен совет. Устроился я короче на новую РАБОту, cижу уже второй месяц, дрочу крупный легаси проект.
Сегодня мне внезапно приходит ПЕРВОЕ за два месяца замечание с содержанием примерно таким :
Слыш пидор хуесос ебаный, ты чего все не пишешь через Task<T> асинхронно??? бля ебанный пидор! ты че бля эээ? Мы здесь бля все асинхронно пишем!
Это мне замечание из за метода который дергал из базы одно целое число и выполнялся максимум 0.5 миллесекунд нахуй!
Мой аргумент был таков. Нахуя потоку из пула (тому что обрабатывает запрос в контроллер) менять контекст на 0.003 наносекунды и переключать контекст ОБРАТНО НАХУЙ из за твоего ссаного асинхронного метода в контроллере, который 0.05 наносекунд выполняется? Какой нахуй от этого выигришь? ХУли ты ПИДАРАС ЕБУЧИЙ не думаешь о том что выделяешь динамическую память на обьект Task + ждешь времени на CONTEXT SWITCH, без ебучего выигрыша, ежели так паришься за ПРОИЗВОДИТЕЛЬНОСТЬ?
Ответ был что фреймворк сам оптимизирует все это и мелкософт рекомендует все писать через таски.
Что думаете, я был прав или тимлид пытавшийся обоссать меня?
стоит ли бояться что меня прогонят нахуй из за того что я нагрубил тимлиду ? (испытательный срок по контракту 3 месяца)
>>1192484 Сайты грузятся по пару секунд когда вместо того чтобы из базы выбрать резиновые хуи, которые есть в твоём городе, из неё выбирают всё, а потом это всё фильтруется уже "оптимизирующим" фреймворком.
Шарпаны, нубский вопрос про многопоток. Подскажите какая модель тут применена, как в го (т.е. поток отрабатывает полностью, только если не блочится, а остальные ждут) или как в эрланге(когда есть максимальное время работы потока и он может насильно заснуть чтобы отработал другой)?
Реально ли вкатиться в профессию C#-макакой? Какие перспективы? Особого бэкграунда нет - только диплом в вузике и свой домашний проект WinForms+MSSQL, который пилю и перепиливаю уже 2 года. Ради интереса начал смотреть ITVDN и охуел с базовых понятий типа абстрактных классов, полиморфизмов и прочего. В целом понятно что, но непонятно зачем. Это правда используется в любом промышленном проекте?
>>1192476 >Нахуя потоку из пула (тому что обрабатывает запрос в контроллер) менять контекст а ты уверен что контекст будет меняться во первых он в том же потоке может выполниться он может выполниться синхронно так что тестить надо
>>1192990 Я вот попал, был наверное хуже чем у тебя уровень. Работал за еду первый год, потом начали платить неплохо для моего города. Ищи вакансии C# junior. Ну и если ты не знаешь что такое абстрактный класс после обучения в вузе... земля тебе говном братан.
Я учился на заочке только ради диплома. Не помню даже, была ли у нас такая теория. Но даже если и была, я все пропустил мимо ушей, т.к. не думал, что захочу кодить в будущем.
За еду работать вообще не вариант, т.к. снимаю хату и вообще семейный человек. На текущей работе (админ в энтерпрайзе) имею около 80к. Для джуна в ДС это большая сумма? Или может сперва попробовать перекатиться в девопс, чтобы быть поближе к реальному коду и хотя бы понять зачем этот абстрактный класс вообще нужен в жизни?
подскажите пожалст про синхронизацию многопоточности. я что-то не смог найти как сделать то что хочу без выстрела в ногу. у меня есть Тред1, в этом треде запускается Тред2. в Тред2 while(true) луп. в лупе ManualResetEvent.WaitOne(). я хочу чтобы из Тред1 я мог сказать "эй Тред2, ManualResetEvent.Set()" и он начинал делать свой луп. А Тред2 в конце выполнения лупа проверял не подкинули ли ему ещё работы. если нет то он бы делал ManualResetEvent.Reset() и сидел бы себе пока Тред1 не сделает Set. а если работа есть то повторял бы луп. но как синхроизировать ManualResetEvent то? я же не могу написать в лупе lock(хуйня) WaitOne() насколько я понимаю, так как этот лок не спадет
>>1193793 не выспался что-ли? я чужие ребусы разгадываю, а мои значит не хотят разгадывать? че ещё, картинку нарисовать может? вопрос по другому задать? на тебе картинку и заданный по другому вопрос: как сделать тред с бесконечным цыклом который мог бы себя останавливать если ничего не делает, но запускался после пинка из другого треда?
Ананасы, а вообще где-нибудь фраза "С#" без приставки "asp.net" воспринимается? Ну, если не брать во внимание долбоебов, которые не могут осилить простейшие лабы в вузиках.
>>1193772 Мог алгоритмы сортировки написать на C++/C#, простейший интерфейс на winform сделать, мизерные понятия о чистоте кода в общем все основы знал, не больше. получал за это 15к в месяц, за 2 года плавно перешел на оклад 70к. При этом сильно много скилзов и не приобрёл. Просто шлепаю формочки (уже на WPF) и побыстрее стал работать.
Почему в C# структуры и классы это две принципиально разные вещи, в то время, как например в плюсах это одно и то же, разница только в модификаторах доступа?
>>1194691 еще, как понять, все элементы платформы являются классами, в том числе и встроенные типы, но встроенные типы это value type, а классы это reference type...
>>1192476 >дергал из базы одно целое число Тут бы можно было поговорить, что надо бы померить, что дешевле, запрос или переключение контекста, но >через Task<T> асинхронно Непонятно, что тут имеется ввиду. Запрос к бд - I/O-bound, и никаких тредов не требует на обработку. Если они тебе предлагают заспавнить таску через Task<T>.Run,вместо ExecuteScalarAsync - беги нахуй от них, иначе - меряй (Если вообще влияет на производительность - закон Амдалла).
как поменять местами две записи в таблице, которые находятся одна под другой? //То есть я типо нажимаю на кнопку рядом с записью и она должна сдвинуться вверх, а верхняя встать на ее место.
При перезапуске проекта при добавлении новых записей айди увеличивается на тысячу, а потом как и должно быть +1 ТО есть, было Айди 1 2 3 Тут перезапуск 1003 1004 1005 Перезапуск 2005 2006 2007
Почему в самой бд, которая в обозревателе серверов нельзя исправлять значения? Я хотел вручную подправить айдишники, но мне он не дал этого сделать
Ответы на все вопросы там -> https://www.google.ru
Прошлый тред утонул