24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Ну раз такое дело то вброшу тему для обсуждения. Так вот, в чем смысл кортежей? В примере с typle все высосано из пальца. Ни разу не приходилось их использовать.
>>1013894 Я использовал как ключ для ассоциативного массива. Правда потом всё таки пришлось заменить на вручную написанный класс, потому что GetHashCode во встроенном типе выдавал слишком много одинаковых хэш-кодов для разных данных.
>>1013904 Ну возможно есть в этом смысл. Но взять на пример веб приложение, мне зачастую нужно возвратить некий обьект для сериализации в json и когда лишний класс мне нужен я просто использую анонимный тип.
>>1013919 Так тебе надо текст в файл писать или чтоб быстрее? Тогда сам преобразовывай числа в бинарное представление, а потом и запихивай в BinaryWriter.
>>1013928 А то! >>1013927 Алсо, функция будет падать, если на неё подать int.MaxValue. Либо добавь ветвление, либо запихни проверку в assert на всякий.
>>1013931 Он пишет бинарное представление числа. Т.е. например число 56, он записывает так: 56 00 00 00
Когда ты это открываешь блокнотом, он читает файл как массив текстовых символов, т.е. в данном случае он увидит символ '8' (у которого код 56), и после него три символа с кодом 0.
>>1013936 > Между прочим это задание злоебучего GeekBrain Мда... Вот после таких заданий вы приходите ко мне на собеседование и я обещаю вам перезвонить.
>>1014307 Нельзя. Твой код c TryGet будет выглядить так:
If (dict.TryGet(key).Exists) {
В результате тебе что, опять получать значение? Или присваивать значение переменной перед циклом? Чем это лучше существующего TryGetValue? Вот он >>1014432 правильно говорит, out переменные лучше
Неориентированные графы. Хотя если будет поддержка ориентированных - будет хорошо. Вершин в среднем около 150 планируется, но иногда придется работать и с ~1000. WinForms идеально было бы, но и WPF подойдет.
>>1014434 Я про совсем другой профиль использования. var (isValid, result) = TruGetZalupa() if (!isValid) throw new xui(); return result; идея понятна? Так гораздо понятнее и логичнее код выглядит. У тебя не будет кода "попытайся сделать чето и в случае успеха верни рефом, а не главным результатом". Будет код, который возвращает нормальную модель по типу Validation Result. Реф значения часто говорят о залупе в коде.
>>1014499 ясен хуй, я так и пишу на шестом. Я не знаю как тебе еще идею донести, что этот сахарок очень редко когда нужен - когда нормальную модель мало смысла создавать.
>>1013491 (OP) Чаму ildasm.exe такой убитый? При попытке просмотра метаданных, закрывается. Нашел на стекОверФлоу, гайд по поиску рабочей версии. Перешарил свои Microsoft SDKs, одна из версий таки завелась. Сегодня, запускаю этот же .exe, и что бы вы думали? Крашит при попытке просмотра метаданных. Немного еще поковырявшись, выяснилось, что с .dll он работает нормально, а на .exe крашит.
>>1014731 Какой метод? TryGetValue выполняет свой контракт, а именно не бросает эксепшн если элемента нет. С сахарком из 7.0 и инлайн декларейшном out переменных TryGetValue вполне ок и выглядит, и работает.
Таплы, с другой стороны, всегда пахли хаком. Ты вводишь implicit DTO объект в свой код потому что тебе лень ввести полноценный тип. Без сахара из 7.0 за такое на нормальном кодревью рвут жопу потому что разбираться что такое этот ваш Item420 никто не хочет.
С сахаром из 7.0 таплы пойдут на роль poor man's DTO. Это и есть их истенное предназначение.
Какая разница между form.Close() и form.Hide()? После form.Show() все изменения на месте в обоих случаях (в общем, то что мне и надо) или после клоза гк можежет подчисить форму и у меня вылезет эксепшн? https://pastebin.com/yVtpZV4U
>>1014943 Слющай да, сядь чаю попей. Зачем спешишь смешишь, да? Попей чаю, может умная мысль придёт. /dev/random /dev/urandom всё уже "записано", да. Читай- нехочу.
>>1014936 > можежет подчисить форму и у меня вылезет эксепшн Ну так добавь strong ref на форму куда-нибудь, тогда и не подчистит. Что за малышня, не умеют даже утечки памяти создавать.
сап, утренний попросили написать код на с#, а я до этого только на с++ писал после нескольких часов получилось вот это - https://pastebin.com/QH7uLdse т.е. в цикле на каждой итерации создаются новые потоки после каждой итерации ждем их завершения но этот код по какой-то причине работает раз в 10 быстрее на 1 потоке 16 секунд на одном потоке ~3 минуты на 4ёх подскажите, пожалуйста, где я ошибаюсь повторюсь, с шарпом почти совсем незнаком
>>1014978 тебе именно с тредами задача была поставлена? В шарпе давно есть обрастракция над ними, которая в большинстве случаев подходит и удобнее - TPL и конкретно тип Task. Запускаешь параллельно таски А почему в 10 раз быстрее на одном потоке - хз. Зависит от того, чем потоки заняты.
>>1014978 Я хз что именно у тебя там потоки делают. Но если у тебя там моссаив объектов и над каждым из них нужно что то сделать, то копай в сторону Parallel.ForEach() или AsParallel() методов.
>>1014978 Треды в сишарпе(да и вообще) очень тяжёлые, на них нужно выделять контекст, запускать, выделять под них время, да ещё и при малом количестве вычислений контекст свапинг(сохранение и загрузка состояний при разделении времени между тредами) начинает жрать больше, чем вычисления >>1014981 Вот этот анон правильно говорит, таски реализованы в виде пула тредов, где их не надо каждый раз заново создавать, поэтому хотя бы издержек будет меньше.
>>1015027 >при малом количестве вычислений точнее наоборот, при огромном количестве очень простых вычислений, на видеокартах такое норм, потому что там именно что отдельные процессоры работают, а тут несколько ядер, у которых немного не настоящая параллельность вычислений, которая просто скачет по тредам, выполняя каждый по несколько наносекунд перед тем, как перейти к следующему.
>>1015092 Скорее всего, тяжело воспринимать смесь ключевых слов языка и названий функций/типов из системных библиотек на ангельском и переменных и пользовательских типов на русском. К тому же ты непоследователен >while(chislo != 0) { > for(uint i = 0; i < 10000; i++) { Т/е даже на таком простом уровне - код говно.
1) В коде есть локи и каждый поток входит в этот лок и этим самым убивает всю многопоточность 2) результаты от каждого потока ты кладешь в один и тот же массив, тем самым триггеришь false sharing
Вообще, идея про таски самая годная. Если таски не подходят - смотри на локи или false sharing.
>>1015092 Для таких как ты - шарп поддерживает юникод в названиях переменных и классов. Не надо ебать чужие глаза транслитом, пиши на русском если не "руссофоб".
>>1015233 >2) результаты от каждого потока ты кладешь в один и тот же массив, тем самым триггеришь false sharing переписал на таски результат кажется стал быстрее но энивей проблема осталась, видимо действительно из-за одного и того же массива в потоках, спасибо попробую его разделить и помещать в каждый поток отдельный массив
Такой вопрос: если я запущу тысячи Task'ов одновременно, которые ждут на семафоре, у меня систему не распидорасит? Как это вообще будет? Они достигнут лимит threadpool и потом настакаются и займут его навсегда? Или как
>>1015263 Зачем нужен семафор? Хороший способ получения линейной скалируемости - спиздить map reduce из функционального программирования. Каждый тред получает свой кусок начальной даты, каждый тред высирает свой кусок конечной даты. После завершения работы всех тредов результаты каким-то образом объединяются. Во время работы никто не пишет в общую для тредов память (читать можно)
Тред пул, как и любой ресурс пул, имеет ограниченное кол-во тредов в своем распоряжении. Остальные будут весеть в планировщике со статусом "Таска Запланирована", её код не будет выполняться до тех пор пока другая таска не закончится и не освободит тред. Если таска должна работать долго стоит при старте дать планировщику хинт, что таска является LongRunning. В этом случае под неё выделится отдельный тред.
С тысячей LongRunning тасок процессор будет тратить дохера времени на переключение контекстов и производительность будет страдать.
>>1015259 Это не избавит тебя от false sharing, о котором кукарекал тот анон. Суть той проблемы в вымывании cache line и размещение по отдельным массивам ничего не решит. Но что важнее, к твоей просадке относится едва ли.
>>1015263 Так, я разобрался. SemaphoreSlim WaitAsync() не создает тредов, а просто работают по принципу callback'а (т.е. когда вызывается Release(), то завершается один из ожидающих task'ов и соотв. продолжается выполнение async метода).
>>1015283 Ну вообще мне надо что-то загрузчика. Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов. Как это лучше сделать? Семафором или хранить список задач
Аноны, сильно ли меня будут пиздить коллеги, если я буду использовать тернарный условный оператор? Не постоянно, а в совсем очевидных и простых вещах уровня Bla c = a.num > b.num ? a : b;
>>1015538 Я постоянно использую. Длинные выражения нужно просто разбивать на строки: var result = Foo.Yoba.Batya.Childs.Include(Buzz.Peka.Age) ? "Yoba and Peka are brothers" : "Peka isn't brother of Yoba";
>>1015752 Профит в том, что если тебе их придётся поменять/перевести/удалить, тебе не придётся с вилкой по коду чистить. Но это не относится к тому примеру.
>>1015752 > нахуя на сервере? Для упрощения локализации если она понадобится? Я не говорю про строковые константы в ассертах и подобном, которые кроме самих разработчиков никто не увидит.
Как можно синхронизировать текстовый и видеочат таким образом, чтобы сообщения у зрителей трансляции появлялись тогда же, когда они появляются у автора видеотрансляции
>>1015763 не придется переводить. Если захочу удалить - удалю. Захочу поменять - поменяю. В чем проблема? Еще и тестирование усложняет лишними зависимостями.
>>1015787 Я же пояснил ещё 2 профита, проблема в том, что никому, даже тебе, через пару месяцев не будет интересно перелопачивать код ради нахождения всего этого хардкода хуй знает где, как ты его вообще будешь искать, если забудешь где он? По кавычкам? А их у тебя там миллиард, т.к. у тебя везде хардкод стринги. Если проект из двух файлов, то профита нет(тут я и не спорю), дальше уже начинается путаница и проблемы.
>>1015791 5-летний проект со 100+ csproj, каждый из которых немаленький. Вообще не пользуюсь ресурсами. Где путаница и проблемы-то? Ну надо мне ее поменять и не знаю, где она находится - найду полнотекстовым поиском и всё. Где проблема? На преждевременную оптимизацию больше похоже
>>1015796 Ну а ещё это раздувает бинарник, что тупо, никто не хранит 3д модели и музыку хардкодом в екзениках. Короче, нравится тебе хардкодить - хардкодь, я очень рад, что твоя мина ещё не рванула, надеюсь, другие программисты её не увидят никогда.
>>1015805 20+ разработчиков пишут со мной так же, бинари вроде не жирные, да и похер вообще, когда у тебя десятки сервисов в несколько реплик. Что рвануть-то может?)
>>1015809 Меня твои истории не интересуют, я таких тебе сто штук могу рассказать только с обратной стороны, если у вас какой-то говнокод и ничего не разваливается, это не проблема использования или не использования ресурсов и к теме вообще не относится.
>>1015814 Дак не говнокод там. Говнокод это как раз использовать хуйню, которая добавляет сложности разработки и тестирования, которая никогда не пригодится.
>>1015406 >Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов. TPL Dataflow гугли. Годный actor-based фреймворк над стандартным TPL. Можно, конечно, самому TaskScheduler пердолить, но нахуя писать бойлерплейт (который уже написан), когда можно писать код?
>>1015406 >Ну вообще мне надо что-то загрузчика. Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов. >Как это лучше сделать? Семафором или хранить список задач
Гайз, мне нужен массив (преобразованный из строки) длинной 21 символ (по факту байт, но не суть), не зависимо от того был он больше или меньше до преобразования. Я конечно могу сделать ветвление типа if-else и в зависимости от больше-меньше обрезать или наращивать "\0" символами, но может есть способ ЭЛЕГАНТНЕЕ?
Коль уж я в ударе Есть некий файл таблицы где данные идут (условно) номер (short - 4 байта), Единица измерения - (11 char символов по байту в блядской кодировке 866), коэфицент (float), имя - (21 char) Считывая этот файл я загоняю его в "List<ListArray> resultTable" с помощью ByteArrayConvert(new BinaryReader(new FileStream(path, FileMode.Open, FileAccess.Read), System.Text.Encoding.GetEncoding(866))) ну или вместо FileStram простой Stream и очевидно цикла методов: > this.tempList.Add(arr.ReadInt16()); > string unit = new string(arr.ReadChars(11)); > this.tempList.Add(unit.Remove(unit.IndexOf("\0"))); > this.tempList.Add(arr.ReadSingle()); > string name = new string(arr.ReadChars(21)); > this.tempList.Add(name.Remove(name.IndexOf("\0"))); > this.resultTable.Add(new ArrayList(tempList)); > this.tempList.Clear();
т.е. я гарантированно знаю что какой тип у меня находится по адресу массив[x][y] Когда же мне нужно записать в файл для преобразования элемента массив[x][y] в массив байтов приходится применять подобную конструкцию: byteArray.AddRange(BitConverter.GetBytes(Convert.ToSingle(arrayOfData[k].ToString()))); Но необходимость перегона (допустим) float в строку, а потом во float кажется мне неразумной (а т.к. еще не проверял, то и не факт что рабочей), как сделать правильнее?
>>1016206 Пишу с поля боя, проблема в кодировке при сохранении, если в изначальной (cp866) допустим буква "к" это 33, то при сохранении получается буква "к" это уже 3a 04, и гугля ничего не выдает. Либо это не кодировка, а в механизме
>>1016253 нахер тебе публичные поля, если они используются только внутри класса? Ты им сеттеры еще публичные сделай, поешь говна, а потом иди учи solid
>>1016252 В общем чтобы было нормально, сделал так byteArray.AddRange(Encoding.GetEncoding(866).GetBytes(arrayOfData[k].ToString().Substring(0, 11).ToCharArray()));
>>1016588 Goviaji правильно пишется, так не найдешь ничего. В даркнете есть литература. Корпорации стараются скрывать информацию, чтобы толпы безработных кодеров не начали бунтовать и все ломать вокруг.
>>1016206 Как всё исправить: 1) Сожги свою работу/шарагу нахуй, чтоб ничего не осталось 2) Прочитай про маршаллинг в решетках, в частности про StructLayoutAttribute (Kind = Explicit)
Двач, помогите. Допустим есть класс с приватными полями и публичными автоматическими свойствами. Если мне в методе этого класса понадобилось значение которое, можно получить, офк, и через свойство и через поле, а также могу его назначить, опять же через что лучше?
>>1016830 Обычно свойства в таком случае делают с каким-то дополнительным кодом: например верификацией данных или созданием события, что свойство изменилось.
>>1016873 Алсо, иногда так реализуют ленивые вычисление. При первом доступе свойство вычисляется и сохраняется в поле, а во втором и последующих выдаётся из поля.
дано: json.net, json вида { huy : 30, pizda : 20 }, 3 класса: class Huy { public int huy } class Pizda { public int pizda } class HuyPizda { public Huy huy; public Pizda pizda; }
надо: десесериализовать этот json в класс HuyPizda
>>1017180 Потому что не хочу. У меня в этих объектах методы, которые работают с этими данными. Я хочу сразу возвращать эти 2 объекта. Дурное API возвращает данные из двух объектов вставленные в один json. В общем я придумал алгоритм для конвертера. Но это придется все самому десериализовывать через рефлексию
>>1017183 >Потому что не хочу Так себе причина. >>1017183 >У меня в этих объектах методы, которые работают с этими данными Было бы проще, если бы показал пример реального ответа. Потому что исходя из твоего примера - ты занимаешься херней. >>1017183 >Но это придется все самому десериализовывать через рефлексию Ну ели так хочется... Хотя прогрессивное человечество использует Json.Net.
Двач, помогите. Допустим есть класс с приватными полями и публичными автоматическими свойствами. Если мне в методе этого класса понадобилось значение которое, можно получить или изменить/назначить, офк, я могу сделать это и через свойство, и через поле. Через что лучше делать по правилам хорошего тона?
Чет я заебался. При каких ошибках WebRequest'ов нужно пытаться повторить запрос. Ведь такие временные ошибки могут быть на уровне соединения, так и на уровне протокола. Где об этом можно почитать
Сап, програмач. Мне нужно сделать укоротитель ссылок. Пишу на сишарпе. Сделал вебприложение на .нет коре. На первом пике я ввожу ссылку - нажимаю кнопку шорт и она заносится в бд(пик 2), где ей в соответствие ставится новая ссылка(каждый раз она просто инкремируется на единицу пока) Как мне сделать так, чтобы теперь при нажатии новой ссылки - у меня происходил переход на соответсвующую ей исходную ссылку?..
>>1018160 Чего ты блять не понимаешь? У тебя две ссылки, первую тебе дали, вторую ты сгенерил. Запомни обе в базе данных. Когда тебе дадут обратно короткую, просто достань по ней длинную.
>>1018468 Я так и делаю, а оно все равно не работает. При нажатии на сокращенную ссылку он откывает локалхост../1070. Где 1070 - это последняя сделанная запись, хотя должен был быть редирект на иссходную.
namespace shorturlec.Controllers { public class HomeController : Controller { Class1 i = new Class1(); urlContext db;
public HomeController(urlContext context) {
db = context; } public IActionResult Index(int number = 0) { ViewBag.num = number; return View(db.urls.ToList()); }
public IActionResult About() { ViewData["Message"] = "Your application description page.";
return View(); }
public IActionResult Contact() { ViewData["Message"] = "Your contact page.";
return View(); } public string Hello() { return "Hello ASP.NET"; } public IActionResult Error() { return View(); }
public IActionResult sum(int number) { ViewBag.num = number; return RedirectToAction("index"); } [HttpPost] public IActionResult adding(url website) { url prevWebsite = db.urls.LastOrDefault(); int i = prevWebsite.id + 1; website.konecnoe = "/" + i; db.urls.Add(website);
// сохраняем в бд все изменения db.SaveChanges(); return Redirect(@"index?number=1"); } public IActionResult LocalRed(url konecnoe) { url a = db.urls.LastOrDefault(); return LocalRedirect(a.konecnoe); } } }
Анон, я пхп-макака, уже год работаю. Времени мало, заебываюсь жутко. У меня такой вопрос: хочу перекатываться за бугор через 3-4 года (когда вуз закончу). Живу в мухосрани и у нас нет ни одной вакансии на шарпе. Стоит ли учить шарп? Бывает ли такое, что джунам высылают офферы крупные компании или джун сам шлет предложение, его рассматривают и берут работать?
>>1018902 ADO.NET же. На нем и построена EF. Для маппинга своих моделей можешь использовать dapper или свое накостыляй(у меня в одном старом проект это один экстеншон метод для ридера.
>>1018924 >ADO.NET Оно еще не сдохло? У .NET беда с документацией. Язык отдельно, другие технологии отдельно, версии языка темный лес. Документация разбросана по разным сайтам.
>>1018938 В смысле сдохла? Это основная технология для работы с базами. Все доки есть у мягких, просто гугли. Для ado.net нужен драйвер для твоей бд, все есть в nuget, доки к драйверу соответственно на сайте разработчиков. Хотя они там все реализуют одинаково, с небольшими особенностями под бд. Ну типа просто гугли, доков навалом. SO завалено ответами на любой твой вопрос. С net core все ок, в текущем netstandart оно реализовано.
>>1018954 Так что получается, кроме ADO.NET еще драйвер нужен? Я думал это и есть драйвер. Зачем тогда нужен ADO.NET? Можно ли одним драйвером обойтись?
>>1018955 Ты не понял. ado.net это просто набор классов и интерфейсов, которые реализуют провайдеры(драйверы). Ты бы хоть литературу из шапки почитал, там все это должно быть расжевано.
>>1018958 Спасибо и на этом. Просто хочу понять как работают с базами с нуля, без всяких библиотек. Тем более классы всякие меня раздражают, оверинжинирг какой то. Можно и функциями обойтись. Я только учусь, мне как бы неохота тащить на себе весь зоопарк.
>>1018969 Лол, сярп это ООП-язык. Тут ты от этого никуда не денешься. К тому же ado net это часть стандартной библиотеки, разве что драйверы для других баз, окромя скульсервера, поставляются другими разработчиками. Я понимаю что новичку проще понять процедурное программирование, но типа миром правит ООП. Оно и вполне заслуженно. Тебе для начала лучше с ооп познакомиться, а то ты явно будешь писать процедурщину на классах. С каким яп ты знаком?
>>1018978 C# мультипарадигменный язык. Прибивать гвоздями данные к функциям считаю дурной идеологией.
И самое главное. Какое отношение классы имеют к моему вопросу? Когда пишут драйвер для БД, используют же какое то api, значит можно работать с базой без библиотек.
>>1019007 Вся мультипарадигменность это пара прикалюх с фп. Чувак, это не похапе где в стандартной библиотеке есть функции и классы для работы с конкретной базой(расширения на сишечке), которые и используют в своих поделках и ОРМ. Здесь драйверы низкоуровневые и они работают напрямую с сокетами.
Жду вменяемых ответов. Беру пример JSON ответа с опенвезера, бью по классам. В них прописываю JSON атрибуты. В эти же классы буду десериализовать сам запрос. На этом шаге туплю. Энтити фреймворд сущности можно создавать на основе JSON классов, или пилить еще классы-прокладки, которые и буду записывать в БД? БДшить всеь джсон? Так, как у нас webapi, для клиента будут еще ДТО. Не много ли "одинаковых" классов и лишнего кода. Не могу въехать. Грамотный анон помоги.
>>1019053 Не совсем понимаю что ты хочешь. Можешь десереализовать ответ от стороннего апи сразу на свои ef сущности, сохранить их в бд, и затем отдать через свое апи. Если я конечно правильно тебя понял.
>>1019053 >Не много ли "одинаковых" классов и лишнего кода. Не могу въехать. Грамотный анон помоги. Ну вообще много. Но по идее надо отделять EF-сущности от сущности запросов к стороннему сервису. К тому же обычно эти ответы нужно немного форматить под свою задачу, не знаю, как у тебя там. Automapper позволяет быстро перегонять из одного класса в другой. Такие дела.
Вопрос по студии, почему когда загружаешь решение из тфс через сурс контрол, он сдергивает вообще все проекты на уровне решения и ниже. Может есть настройка что бы он загружал локально только те файлы, которые входят в решение?
Do use a singular name for an enumeration, unless its values are bit fields. Do use a plural name for enumerations with bit fields as values, also called flags enumerations.
Компадрес, так вышло, что мне на работе достался asp.net сайт, который, внезапно, весь на http handler'ах .ashx за исключением главной страницы. Вероятно, это сделано, потому что на сайте есть статичный сайдбар, и через .ashx меняется контент центральной части страницы. Никаким MVC там и не пахнет, разметка выводится через статические расширения для string'ов - .Echo();. Для этого аж сделан отдельный проект . Я вообще то не веб девелопер (не считая нескольких месяцев на php) и в особенностях ASP не особо силен. Собственно, мой вопрос - реально ли малой кровью переделать этот сайт с текущей архитектуры на MVC? Я это к тому, достаточно ли будет мне просто выдернуть логику с OnProcessRequest от .ashx и вставить его в контроллер страницы .aspx, а разметку закинуть в ассоциированный view, или при создании asp.net mvc проекта там создается много предварительно сгенерированных файлов и настроек, которые самому делать очень муторно?
Мне хочется подключиться к БД оракл из C#. Сама БД и клиент у меня установлены, в самой вижуал студио у меня получается подрубиться к БД в качестве источника данных, см. пикрелейтед.
В C# я пишу >using System.Data.OracleClient;
однако получаю ошибку >The type or namespace name 'OracleClient' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)
Пробовал менять версию .NET, ничего не выходит. Как сделать так, чтобы C# видел, что у меня на компе присутствует System.Data.OracleClient.dll?
>>1019633 Я вот тоже по первой ссылке из гугла это понял, но ты решил насрать сюда вместо забивания ошибки в гугл. Хотя я - питонист, случайно завалился. На самом деле жду пассива - шарп разработчика, который даст мне денег, чтобы я приехал к нему в Штаты и бомбил его в попку.
>>1019575 >aspx Это же для Webforms. Оно вообще по другому работает. Так что малой кровью очень вряд ли.
>или при создании asp.net mvc проекта там создается много предварительно сгенерированных файлов и настроек, которые самому делать очень муторно? Нет, там всё достаточно просто же.
>>1019680 Лол, а ты чего хотел то. Довольно вялый тред. Можешь на реддите темки создавать или стэк читать. Там народ шустрый.
Н SO стыдно писать, я как-то запилил глупый вопрос на ломаном английском, так там сам Джон Скин на него полез отвечать, так стыдно было перед ним. Тут хоть анонимно всё делается.
Ребятки-ребятушечки, хелпаните плес. В общем, пытаюсь разобраться в сраном wpf, а именно в mediaelement. Как на кнопку запрогать паузу в воспроизведении видео? private void Button_Click(object sender, RoutedEventArgs e) { MediaElement t = new MediaElement(); t.Pause(); } Пусть так будет, лень в пастбин лить
>>1019848 Ну я понимаю, я вообще хочу в игры или хотя бы крудошлепить за деньги. Фишка курса на курсере в том, что там учат игоры делать (типа база шарпа + введение в игрострой), но на xna, а он сдох.
>>1019784 С алгоритмов и структур данных, срсли, намного легче будет воспринимать всякое говно, которое часто используют в геймдеве, пасфиндинги, очереди, обджект пулы, спашиал хэшинг и прочие прелести жизни геймдевера.
>>1019859 Нуууу, у шарпа типа больше применений (я так пощупал, но чтобы учить и писать серьезно - нет). Можно накидать быстрокод для каких-то прикладных задач (фотки от дублей почистить, например), тот же сайт наговнякать. Я просто хочу работать в нормальной среде с нормальной поддержкой, со статической типизацией, с решениями, которые собираются в exe-шник, а не "слушай, тут надо прописать composer update/pip install, потом короче этот пакет не заработает, ты из гита пульни, ага, так, теперь надо исправить, закинь сюда шаблон с жсоном, чтобы исключение не кидал, так падажжи". Короче, скриптопараша - заебала, хочу в язык с хорошей поддержкой от майков и экосистемой. Скажи, пожалуйста, с чего начать.
>>1019958 Я не уверен что @ позволяет выполнять то, что ты там написал, он тупо работает со строкой вида, что ты указал после @ в кавычках. Но я могу ошибаться.
Мужики, поясните в паре слов за актуальность ASP. Net. Пишу на шарпе около 2-3 лет, winforms/wpf/EF/DevExpress, вот это всё короче юзал и юзаю. Да, я в курсе, что вэб перспективнее дэсктопа. Да, я в курсе, что требуются пачками вэб макаки. Собственно, как переехать в вэб, ASP востребован? Есть те, кто работают на дядю в ASP? Дайте пару советов, 1) как сделать мой перекат менее болезненным к моей жопе, испытывающей отвращение к JS. 2) если уж усаживаться на стул с вэбом, то на какой усаживаться? asp/node.js/php/python?
>>1020338 Мимо другой анон. Вот сейчас как раз до второй главы по адо.нет дошел. Потом Entity будет. Хотел изучить всю книгу. Но мб ты что-то другое взять посоветуешь? В планах было дочитать эту, начать почитывать Рихтера и кодить какой проект для вката за еду, на asp.net и Entity.
>>1020507 Пилю стартап-проект на ASP.NET MVC, зависимость есть. На самом деле, вкатиться легко, если есть опыт в C#, ну и HTML + CSS знать желательно. Учился по книге Pro ASP.NET MVC 5 (Adam Freeman).
>>1020543 >HTML + CSS знать желательно вот на этом моменте поподробнее, пожалуйста. я читал про хтмл/цсс около года назад. я обкурился, или мне показалось, что в асп можно мышкой, как в винформсах делать страницу, причем там будет асп устанавливать "привязку" событий на клиенте с автоматическим отправлением ко мне на сервак? или же придется все равно стать версталой? >Pro ASP.NET MVC 5 (Adam Freeman) за книгу спасибо, сегодня вечером скачаю.
>>1020533 По классическому ASP.NET - хз. Я сейчас коровский по официальной документации наяирваю. https://docs.microsoft.com/en-us/aspnet/core/ Для меня годно, а также по нему можешь навернуть и Entity Framework Core. https://docs.microsoft.com/en-us/ef/core/ Я почему не советую читать Троелсена дальше рефлекшена (или когда заканчивает о языке), потому что в основном дальше идут лишь введения, хотя WPF более чем полностью рассказан.
>>1020552 Спасибо, буду думать, в качестве обзора всех технологий можно пока и эту дочитать. Потом углубить тот же asp.net mvc, или что там в моде сейчас. >>1020549 Мышкой то ты тыкаешь, но чтоб это нормально выглядело, всеравно css нужен, хотя бы чужой.
>>1018969 >классы меня раздражают Тогда пиздуй нахуй. Учи там свою хаскелле парашу, и сиди без денег. Зато без классов, и швятым функциональным программированием!!!
Почему когда загружаешь первый раз решение из TFS через окно source control студия подтягивает (точно не знаю, но скорее всего) все каталоги с уровня решения и глубже, хотя в проекте используется малая их часть? При этом не загружаются многие файлы из других проектов, приходится передргивать решение рекурсивно?
Шарпаны, какие примерно требования к джуну у вас? Троелсена прочитал, что ещё? Просто понятно что для джавы достаточно знать Core и более-менее понимать как JVM работает, для шарпов не нашел внятных гайдов
Entity framework создавая сущностный класс (При использованиии мастера в вижаке) расширяет dbcontext вместо objectcontext. Хотя если верить книге расширяться как раз таки должен objectcontext. Что то поменяли в более новых версиях вижака? Или я слепой мудак галку какую пропустил? Я, конечно, и так сделал задание, но синтаксис существенно отличается, думаю ,что ушел не туда.
>>1020507 только если живешь в нерезиновой или бушь работать на буржуев, в мухосрани более менее адекватную зп дают за то что ты написал (да и то не всегда), сам сейчас в ленивом поиске работы с проектом на asp net mvc, но как то негусто , звали в сбер у них там неплохая зп но работа ебаный пиздец, писать парсеры и кодить в формах , геморой тот еще
>>1022001 Сам грезил десткопом и презирал веб. Но за пол года, вакансий вообще не видел (мб пару сеньоров 100500лет опыта требовалось).С ляцом лягухи смотрю на asp.net.
>>1022113 Ты видать кроме вордпреса и хоум пейджей ничего не видел. Сейчас бекенды огромные, никакой десктоп не сравнится по размеру кодовой базы. Фронтенд отдельная тема, интерфейсы все сложнее, нужно держать множество долгих соединений, не все технологии способны на это, управлять состоянием становится очень сложно.
Каждый день кто то кукарекает за вебмакак. Вот честно, почему вы такие тупые? Начните думать, хватит срать ртом.
Несколько месяцев с перерывами учу шарп, первый язык. Учу по нескольким руководствам и учебникам, они годные, синтаксис освоил, код в примерах понимаю. Параллельно курю "Объектно-ориентированное мышление". Но.
Учу, но понимаю, что при этом нихрена сам кодить не могу, и не учусь - в этих руководствах тупо дается материал, после глав нет никаких вопросов для закрепления, ни задачек и.т.п. Да и в голове "паззл не складывается" пока..
Вот и просьба - подсказать учебник с заданиями, либо сами задания отдельно, по возрастающей, от азов. Крайне желательно, чтобы еще были к ним потом варианты решений, с комментариями.
>>1023887 Язык инструмент для решения задача, но не язык не сама задача. Зачем учить язык, если все равно не будешь знать как его использовать? Задания в СИКП можно перенести на любой язык, главное понять суть. СИКП очень мощный курс, его преподавали в MIT, не где нибудь. Другого такого курса сейчас не существует, если и есть, то они построены на СИКП.
Суп, скачал приложение на формах из инета, в нем есть таблица с данными. Мне нужно считать эти данные в мое приложение. Как мне это сделать? Ну я нашел окно этого приложения, потом дитё, в котором эта таблица, а дальше как считать данные по строчкам? Помогите ламососу!
>>1024169 У таблицы есть источник данных. Скорей всего какой нибудь датаТейбл. Добавь строчку, которая будет этот источник в файл сохранять. Или скопируй метод который этот датаТейбл заполняет, и заполняй сразу в своем коде. Про сериализацию говорить не буду, ты в нее не смогешь.
>>1019053 В чем сложность записать в БД классы к которые парсишь json? Так же ебашишь атрибуты для EF, если сущности простые и ты создаешь базу на основе этих классов, то они могут и не понадобиться.
>>1023897 Лол, посмотри как порвало этого обиженку. Всегда проигрываю с таких даунов. Ты считаешь, что кого-то оскорбит твоя охуенная оригинальная пиздаболия про мамаш? Да подрыв твоей жопы за километр было слышно.
Есть желание написать свой контрол для WinForms. Конкретно хочу усовершенствовать GroupBox добавив в него несколько полей. Реально ли это вообще сделать? Не просто унаследоваться и писать все ручками, а что бы у него появился визуальный редактор укак у формы? Или студия такого неумеет?
>>1024489 Лол, забыл написать, что ты сто пудов ответишь на этот пост оскорблением и скорее всего с мамкой. Я вообще не тот анон, которому ты эту хуету написал, чмоня. Жалко, что подобные тебе опущенцы пытаются влиться в профессию. Увижу, что пытаешься пройти собес, узнаю по затравленному взгляду и набью ебало, хуесос.
Ты паиздливое хуйло. Каким же на надо быть ебанатом (хотя ты ведь вебмакака, чему тут удивляться, лол), что бы пытаться поменять аватар на анонимном форуме как будто это тебе поможет отмыть твою мамку - грязную шлюху. Сказочный долбоёб.
>>1022160 Лол, ты понимаешь, что сейчас выставил себя самой что ни на есть типичной веб макакой? Бэк+фронт у него сложные, соединения, ужас какой. Про размер кодовой базы вообще в голос, ты энтерпрайз на миллионы строк не видел что ли? не видел, конечно
> Если тебе это необходимо, то ты делаешь что-то не так.
Ну например нам надо что бы юзер в таблице выбирал данные для экспорта, при этом обязательно что-бы хотя бы одна строка была выбрана иначе валидация выдает ошибку и сигнализирует на форме об этом. После выгрузки естестевенно весь выбор обнуляется и нужно гасить ошибку валидаци. При этом если потом юзер хотя бы раз что нибудь выберет, валидация опять должна включиться и следить за выбором. Как по-твоему правильно это делать кроме как отслеживать источник обновления (дело еще усложняется тем, что содержимое таблицы может в фоне обновляться и дополняться программно самой воюмоделью по мере поступления данных)???
> А вообще можной переопределить обработчк события PropertyChanged и проверять тип аргумента sender.
Это как? Он всегда же будет одним и тем же, т.е. изменение коллекции во вьюмодели так как движок байндинга прозрачно для вьюмодели подгоняет данные. Если как-то хакать байндинг, это действительно жесть будет.
>>1025398 >>1025398 Я бы сделал сделал следующим образом: 1. Список выбранных данных забинжен на ObservableCollection во вьюмодел и занимается только отражением данных из модели. 2. SelectedItems (выбранные данные для экспорта) забинжен на отдельную коллекцию во вьюмодел. 3. Доступность экспорта и видимость сообщения об ошибке привязано к SelectedItems.Any(). Например, через конвертер.
Кода под рукой нет к сожалению. Припоминаю наличие проблемы с биндингом SelectedItems. Решается использованием триггеров.
SelectedItems все равно же привязаны к объектам модели, как она поможет? Там нет информации о том, это юзер накликал строк или я программно из вьюмодели.
Сап, шарпач. Помоги разработать архитектуру REST сервиса и клиента. Как его правильно реализовывать? Стоит ли разбить сервис на сборки типа service.core и service.host?
Так отвяжи их. Сделай класс обертку над объектом модели.
class ItemView : INotifyPropertyChanged { public Item Item {get; set;} public bool IsSelected {get; set;} } реализацию интерфейса опустил
И биндься к ObservableCollection этих объектов. А в wpf добавь в ListView чекбоксы и забиндь их на IsSelected.
Соответствено в обратную сторону из ViewModel ты можешь их развыбрать. Перед выполнением экспорта пробежаться и выбрать только те объекты, где IsSelected = true. Ну и все такое прочее
Суп, анон. Обоссы оцени мой прожект, если есть нечего делать, ну а если нет, то тогда иди на ну и ладно. Делал для обучения. До этого ничего подобного не делал всмысле веб и упор на таски. По времени почти 2 недели. Хочется какого-то фидбека по качеству кода. Из библиотек Json.net и log4net для логов. API частично спиздил с другого проекта на гитхабе, частично брал сам из браузера. Я уже синьор или еще джуниор?
>>1025542 Рандомно потыкал пару файлов - ты пока ещё джун. Вот почему: 1) initial commit и всё. 2) CommandDeserializer логика в экстеншен методе, они предназначены для упрощения взаимодействия с интерфейсами (например - предопределенные вызовы фабрик) 3) CommandDeserializer - пиздец как дохуя вложенности 4) коллбеки 5) неконсистентное наименование папок
В том сообщении я имел ввиду вьюмодели, а не модели, просто у меня это одно и те же.
Я все равно не въехал в твою схему. Вот у нас есть грид G у которого источник данных это коллекция C во вьюмодели. Мы добавляем еще одну коллекцию S на которую биндятся только выбранные строки. Но в обоих случая привязка двусторонняя, поэтому что ты программно поменяешь S, что юзер будет тыкать - все это будет синхронно отображаться на экране и в коллекции S. Как я глядя из вьюмодели буду различать эти ситуации?
Анон, помоги разобратсья с geoJson, как его вернуть из мвц? По гуглу - выдает всякие фреймворки для работы с картами, а мне нужно вернуть чистый геоджейсон и распарсить его джсом на морде.
Как понимаю метод Code First используется повсеместно, а не только в АСП.НЕТ? А то я в своем техникуме сначала делал базу в СУБД и только потом ставил на нее приложение на делфи. Как удобно. Описал классами базу, а она уже есть.
>>1025957 Часто, но не повсеместно. В Entity framework надо смотреть код миграций, потому что есть нюансы маппинга типов данных языка в типы СУБД, [DefaultValue(null)] на свойстве класса, вроде, не работает, надо руками прописывать. Ну и когда у тебя составные ключи, хранимые процедуры, функции, надо уже SQL писать, от этого при работе с базой не уйти.
>>1025957 Реально это никто не использует в более-менее крупных проектах. Специально обученные sql-макаки гораздо лучше мейнтейнят и структурируют базу чем .net-генератор.
>>1025990 Поэтому даже при всех охуенности Entity и Code First'а на больших энтерпрайз-проектах со сложной структурой БД используют обыкновенные чейндж-скрипты на голом SQL'е.
>>1025580 Что ты имеешь ввиду под тыкать? Какое-то создание записей? И добавление в коллекцию для последующей записи в модели? И тебе надо отследить какие записи новые? Эта задача опять же решается через флаг.
Если ты не это имеешь вииду, то я вообще хуй знает. Зачем тебе волноваться о том, кто натыкал коллекцию S? Зачем тебе программно ее менять? Гарантируй на уровне логики, что в этой коллекции будут только данные, выбранные пользователем.
Или тебя волнует изменение данных в модели, пока пользователь работает с ней во View?
Короче, тут ключевое это поведение UI от которого все пляшет. Основной сценарий использования будет такой: сначала форма (точнее ее вьюмодель) подрубается к некоторому тонкому клиенту и считывает с него данные которые заносятся в таблицу формы которая (для простоты) хостится на сервере. В этой же таблице она добавит все возможные записи которые есть в БД сервера. Дальше юзер выбирает как угодно строки таблицы которые он хочет записать обратно на тонкий клиент. И что бы он не выгрузил пустой набор на форме работает валидация которая ругается если не выбрано ни одной строки. До этого этапа все ок, но после выгрузки визуально надо снимать выделения со всех строк, что бы юзер видел что ничего больше выгружать не надо. И если это сделать в лоб (я снимаю соотвествующее булево свойство в айтеме коллекции из вьюмодели) срабатывает ошибка валидации. Надо что бы валидация не применялась пока юзер не перевыберет что нибудь в таблице.
>>1025575 >ты пока ещё джун Хуево быть джуном Из всех классов ты наткнулся на самый бесполезный лол. CommandDeserializer это просто написанный за 5 минут хелпер чтобы парсить командную строку. Это не extension, а просто один статический метод Я понял что от внешнего вида проекта отдает васянством. Буду работать над этим.
Поясните за неуправляемый код через DllImport. Вот если я выделю кусок памяти с сишном коде, а потом выкину шарпу указатель, то смогу ли потом закинуть в другую сишную функцию этот указатель и получить доступ к этой памяти? Что вообще происходит с данными неуправляемого кода во время выполнения управляемого? Их не похерит? Надо по человечески освобождать память?
Поясните за .net core: на нём я могу написать class library/console проекты которые я смогу запускать/использовать как на винде, так и на линуксе/макоси? И поясните за C# native, что это такое? Вохможность билдить в нативный код оси а не байткод?
>>1027599 И что я могу на нём написать? Про asp.net core я слышал, это mvc/webapi на мультиплатформе. А что ещё? Я правильно понял, что апи такой же будет как и в дотнет фреймворке только мультиплатформа?
>>1026590 >смогу ли потом закинуть в другую сишную функцию этот указатель и получить доступ к этой памяти? Сможешь. В этом как-бы и суть.
>Что вообще происходит с данными неуправляемого кода во время выполнения управляемого? А что с ними должно происходить? Dll подгружаются в процесс net, вс дела.
>Надо по человечески освобождать память? Ну это зависит от библиотки. Вдруг там модные shared_ptr.
>>1027587 >Поясните за .net core Эта хуита а-ля node.js. Суть в том, что нет обычного фреймворка. Там даже исполняемого файла нету. Собственно она и задумана в первую очередь для серверов. Суть в том, что все зависимости идут с самой программой. То есть можно просто копировать и запускать без ебли с установкой фрейморков.
Анон, как пользоваться гитхабом? Нашел чувака, который запилил либу GeoJSON.NET https://github.com/GeoJSON-Net/GeoJSON.Net Как разобраться как она работает? Он пишет смотри тесты для использования, но я вот смотрю и нихуя понять не могу.
>>1027907 Я вроде разобрался, но он выдает невалидный геоджейсон. Решил наклепать сам, по классам но тут тоже хуйня: https://pastebin.com/DRBT22mU Вот в этом кусе ругается "Object reference not set to an instance of an object."
Анон, спасай. Для Visual Studio 2017 нужен плагин подсветки SASS. Web Compiler подсвечивает SCSS, а вот за sass очень обидно. В гугле нашел только протухший SassyStudio.
Сап Только начал разбираться с wcf и столкнулся с проблемой. Передаю в сервис message contract, в котором находится поток. Считываю этот поток в MemoryStream (создаю Таск) и передаю в метод для сохранения в бд. В создаю сущности DbSet'а и передаю их в AddRange. Отправляется insert запрос к базе, но ничего не записывает. Пробовал оборачивать код сохранения в TransactionScope, в using(db= new DbContext()) результат не изменился. Подскажите в чем я ошибся или что упустил? https://pastebin.com/KM0ziZfC
Короче вопрос. У меня есть класс BaseClass. Есть его наследник ChildClass. У BaseClass есть список List<mytype1> У ChildClass есть список List<type_YOBA>, где type_YOBA наследник mytype1 Есть функция do_shit(BaseClass bc), которая делает что-то с элементами списка у класса. Можно ли как-то заставить эту функцию жрать наследника с его списком? Если делать перегрузом, то надо будет дублировать кучу кода, а это как-то не очень, или по-другому никак?
Что представляет из себя переменная типа класс? Это тот же объект что мы можем создать с помощью конструктора только являющийся частью другого класса или как? Просто уже прохожу полиморфизм а такого ни в книге Троелсена, ни на лекциях ITVDN не видел. Нашел только в готовом решении одной из практический задач.
В чем отличия вызовов делегата через: -метод его объекта Invoke() -определение специального делегата, соответствующего сигнатуре метода, на который он указывает -создание экземпляра специального делегата с передачей имени метода в качестве аргумента конструктора. Или отличий нет?)
>>1028674 Да я просто представить не могу в чем суть Title title. Это переменная? Это объект? Это вообще что? Про глобальные переменные я и не говорил. Кстати, а что с Троелсеном не так?
>>1028668 делегат компилируется в объект класса MulticastDelegate. При его вызове выполняется метод Invoke. По идее в любой форме все будет сводиться к такому сценарию выполнения.
Троллсен просто плохо пишет. Кроме того он предполагает что ты знаком с с++ (а это проблема почти всех книг по си шарпу, я вообще не видел ни одной которая бы была написана с нуля), а ты судя по вопросу вообще не знаком ни с одним алгоритмическим языком.
А кстати, все приемущества связаны так или иначе с возможностью внести изменения не ломая кода. Но ведь если до этого было поле, то клиентский код все равно не сломается, разве нет?
>>1028807 Смысл не в том, чтобы не упростить модификацию кода. Это просто возможность прикрутить логику к процессу установки и выдачи значения переменной. Работает как обработчик события записи или установки значения в это поле. При модификации тоже очень удобно, если бы не было автосвойств и захотелось бы как-то обработать доступ к переменной, то пришлось бы как-то менять все обращения к этому полю или в самом классе, или в классах использующих его.
Так если у тебя раньше было поле, ты просто меняешь на свойство с навороченными сеттерами и все. Что тебе даст если до изменений было авто свойство а не поле???
>>1028849 Ну в твоем случае разницы нет. Но если кто-то будет использовать твою либу, то после апдейта, где ты поменял поля на свойства, то у него все наебнется, придется все пересобирать. Это в студии они отличаются только пиктограммой при подсказки IntelliSense, а по факту свойства разворачиваются в закрытое поле и 2 метода get_X и set_X Почувствуй разницу (разметка слетит и ты наврядли что поймешь конечно): Поле .class public auto ansi beforefieldinit ClassLibrary1.B extends [mscorlib]System.Object { // Fields .field public int32 Pizda
Нормально ли передавать объект класса, в котором порождаются другие классы, в них же? Есть класс представляющий собой нечто вроде сервера, которым можно управлять, вызывая команды. Команда - класс, наследующий интерфейс IRoute, в котором есть метод для её исполнения. Как лучше реализовать взаимодействие команды и сервера? Передавать объект сервера в неё / сделать сервер статическим (или синглтоном) / какой-то другой вариант?
>>1013491 (OP) Господа, у меня возникла проблема с ASP.NET MVC проджектом и возникла она еще на самом начале т.кк в эту хуиту я ток начал вкатываться. Заключается она в том что в браузер у меня не выводятся нужные мне данные а почему я не пойму. Пихать сюда весть код думаю нет смысла поэтому мне просто нужно понять каким образом отлаживать веб проекты Ф11 не работает ведь ? Как пробежаться по программе что бы узнать на каком месте фейл ?
>>1029215 и еще вдогонку вопрос почему я не могу создать представления с такой моделью (на пике) и будет ли представление работать с такой моделью если я ее непосредственно в коде укажу (1 пик)
Антуаны, вопрос к работающим. Есть год опыта разработки на .net в энтерпрайз конторе бэкенда - стажировка + младший разработчик. Хочу поменять работу или идти на повышение, куда метить вообще и какую зарплату просить?(по уровню думаю на нижнюю границу мидла тяну) ДС 2
При сравнении двух вещественных чисел результат должен быть одинаков, а получается расхождение. Как победить "это"? У меня из-за этого юнит тесты не проходят.
Такая хрень: пусть будет enum xyuTa { xyz='dick', nu3ga='cunt', 3aJIyna='doucebag'}.
Так вот. Такой энам сделать можно? Можно. Но... Как по названию получить велью? Не xyuTa.3aJIyna, a xxx = '3aJIyna', и SomeMethod(xxx) чтобы выдал это велью? Выражение нужно, которое так может. Неужели в ебучем шарпе нельзя так? Все перегуглил уже. Ну просто столкнулся, и охуел, что не могу такую простую штуку сделать.
И еще вопрос: пусть нам нужна какая-то штука, которая будет хранить в себе костанты. Раз с энамом не получается. Чтобы по велью или по ключу получать ключ или велью, соответственно? Мапа приходит на ум. Но... Как ее инициализировать? Это ж уебанство будет, если в мапу добавлять что-то. И как добавлять? Некрасиво. В общем, нужна структура.
>>1029215 > Пихать сюда весть код думаю нет смысла поэтому мне просто нужно понять каким образом отлаживать веб проекты Ф11 не работает ведь ? Весь твой проект состоит из серверного кода и клиенсткого. Серверный отлично отлажывается как и любая программа. Браузерный уже надо в браузере отлаживать. F12 тебе в помощь.
Сап, програмач. У меня есть проблема - изучив основы языка с#, написав ради интереса пару быдлокодских приложений, не знаю в какую сторону двигаться дальше, что изучать. Постоянно мечусь от одного к другому ничего не понимая, все стало слишком сложно. Посоветуйте пути движения и хорошую литературу, и что нынче востребовано на рынке труда.
>>1029488 Для начала определись веб или десктоп. Если веб то учишь асп.нет, если десктоп то впф или формы. Книжки есть в шапке. Также очень желательно почитать что-нибудь по SQL и EF.
>>1029585 SQL я изучал - запросики, реляционные базы данных в среде SQL server, но с EF дела не имел. На самом деле даже писал многослойное приложение с автосозданием в Azure(с сервером и бд), но проблема в том что там лютый говнокод и грубые нарушения целостности, хотелось бы про это еще почитать.
Пишу проект на формах из двух классов: Program.cs и MainForm.cs. В Program объявлено поле public static List<>. В MainForm описано событие: по нажатию кнопки вызывается функция из Program. Она меняет список List. Но после того, как там же в формах я считываю List, на самом деле он не изменился.
>>1028824 >Работает как обработчик события записи или установки значения в это поле. Работает как мокрописечная хуита, делающая семантику функций для переменных. Даже не обязательно вообще в гетере и сетере куда-то записывать значения, тащемта. По сути это просто ебанутый вызов функции, где первый параметр как результат присваивания
Когда я вижу переменную, я понимаю что тут просто чтение данных, когда я вижу функцию, я понимаю что тут какой-то код. Когда я вижу property, я понимаю что автор кода мудак, потому что там скрыто в этой property нихуя не очевидно. Может там, блеаять, каждый раз обращение к БД или еще что-нибудь покруче.
>>1029849 >Есть одна игра написанная на c sharp. И мне нужно модифицировать один класс в ней. Как декомпилировать и деобфусцировать код я разобрался, но не знаю как скомпилировать этот класс обратно и заменить его в бинарниках. Может кто-нибудь уже это делал и может рассказать как это сделать?
>>1029888 >Что-то сомневаюсь, что ты сконпелируешь декомпилированный проект без ошибок. Если бы это было так я бы не спрашивал. >Можно например IL-код через Mono.Cecil редактировать. Попробую так.
Привет, анон. Хочу возобновить изучение, но не знаю с какой стороны следовало бы зайти. Раньше писал игру на Unity, все возникающие вопросы решил по ходу дела, сначала шли простые скрипты, потом ООП, коснулся немного linq и рефлексии, но тут уже начал рваться и понимать что слишком много пробелов. На кодакадеми обобрался с первых заданий, как стейт машину /спеллы/итемы делать ясно, а нарезать текст нет. Поэтому хотелось бы пройтись с самых основ, чтоб от зубов отскакивало. Вообще, порой складывается впечатление, если попытаться объять все, то жизни не хватит, или это ложное ощущение из-за незнания? И вот еще что, скажи, это нормальная программа? Если мыль либо пойти на обучение, либо просто изучать материал последовательно по программе самому. https://itcloud.academy/course/c-sharp/
Анон, доброго времени суток. В универе дико угорал по c#, но устроиться не смог, в итоге джва года занимаюсь не тем битриксом. Есть ли шанс перекатиться в любимый язык? Как вообще подойти к этому вопросу? Синтаксис языка знаю (если что забыл/упустил, то могу быстро наверстать), диплом писал на шарпе, но реального опыта разработки нет. 26lvl-кун, from Мухосранск.
Шарпаны, начал читать Рихтера, дошел до приведения типов к другим типам. И что-то не пойму:
1. Вот есть класс Animal, от него наследуется класс Cat. Что происходит в этой команде?: Animal a = new Cat("Barsik"); Создается объект "a" класса Animal, для создания которого используется конструктор класса Кэт? Но для чего такие ухищрения? Для чего нам понадобиться создавать объект родительского класса, и при этом использовать конструктор дочернего класса? А если в конструкторе дочернего класса инициализируются переменные, которых нет в базовом классе, то тогда что - они игнорируются?
Теперь если мы хотим при создании нового объекта установить его свойства такие же как свойства дочернего класса(не только дочернего, а вообще - любого класса)? Мы ведь можем использовать такую команду?: Animal a =(Cat)c; // с - объект дочернего класса Cat. Что тут произойдет? Объектные переменные "а" и "с" будут указывать на один объект или это будут два разных объекта с идентичными значениями в свойствах?
2. Теперь наоборот: Cat c = (Cat)a; //a - объект базового класса Animal Тут создается объект класса Сat, у которого свойства будут такими же по значению как и у класса а? А как же значения свойств, которых в базовом классе "а" нет? Они так и останутся нуллами? Или опять же - объекты a и с будут лишь ссылаться на первоначальный объект а.
А тут, если я правильно понимаю будет ошибка, так ведь?: Cat c = new Animal("Кот"); Но я не понимаю, почему мы не можем создать объект дочернего класса, используя конструктор базового класса? Да, часть свойств(которых нет в базовом классе) дочернего класса останутся нуллами, но что в этом плохого?
Быть может если у меня уже в самом начале Рихтера полное непонимание, то может уже нужно подумать о смене профессии программиста?
>>1030353 Животное - базовый класс, самое "общее" понятие. Ты можешь погладить любое животное с помощью метода .Pogladit()
Кот - более конкретная сущность, которая обладает всеми свойствами животного (ты можешь погладить кода просто зная что он животное) и некоторыми новыми свойствами (ты можешь бросить коту клубок ниток методом .BrositKlubokNitok()).
Кот (как объект) не перестает быть котом, как бы ты к нему не обращался. Если ты трактуешь кота как животное (Animal a = new Cat("Barsik");) то тебе доступны только те методы кота которые есть у всех животных.
Когда ты снова начинаешь работать с котом как с котом (Cat c = (Cat)a;) тебе открываются все методы класса "кот", и теперь ты можешь ему .BrositKlubokNitok()
Но ты не можешь привести с фермы рандомное животное и начать обращаться с ним как с котом (Cat c = new Animal("Кот");) потому что если ты попытаешься бросить клубок лошади то она тебя просто нахуй пошлет.
>Но я не понимаю, почему мы не можем создать объект дочернего класса, используя конструктор базового класса? У всех классов свои собственные конструкторы (даже если они определены неявно), ты не можешь создать кота методом который делает животное. Зато можешь создать кота и обращаться с ним как с животным используя ограниченное подмножество его свойств/методов которые есть у всех животных.
Ты путаешься не в конструкторах и создании инстансов а в приведении типов.
У меня есть 3 недели времени, прорешанный Andrew Troelsen. Остаточные знания структур данных и прочих алгоритмов, околотематическая вышка. Нужно найти работу, чтоб не сдохнуть с голоду и не остаться на улице. В процессе поиска буду доучивать асп.нет и sql, но это время надо как то жить и где-то работать. Как не сдохнуть? Сам подумывал о около it хуипинательной работе за 3.5копейки, в процессе доучивания и поиска ваканасии.
>>1030385 >Сам подумывал о около it хуипинательной работе за 3.5копейки, в процессе доучивания и поиска ваканасии. Не надо. Либо у тебя титаническая сила воли, либо эта "временная" работка сожрет всё твоё время и силы и станет постоянной.
>>1030409 Хуёвый пример. Вот я тоже 3 года сисадминил, нихуя не делая, и попутно учил интересные мне ЯП, надеясь переползти на позицию джуна. Угадай, кем я сейчас работаю? Начальником технического отдела той же компании. А в программисты пойти не вышло, увы. У нас в миллионнике вакансий на тот же C# просто нет.
>>1030357 Спасибо за такое хорошее пояснение. Ещё не до конца понятна разница между созданием нового объекта, и созданием ссылки на уже существующий объект. Вот например: Cat c = (Cat)a; - тут мы создаем абсолютно новый объект, со своими атрибутами. А если мы хотим создать новый объект, который будет лишь ссылаться на другой? Можно ведь сделать так? Cat c = a; - при условии что а тоже относиться к типу Сat.
В твоём случае это не особо отличается. Семантика такой записи в том что мы берем правую часть и начинаем обозначаем её именем и типом записанным слева. Создается ли правая часть на месте (new Cat("Pushisti pidor")) или берется уже существующая (а) - не важно.
>>1030444 а как тогда создать объект-копию другого объекта? Чтобы не ссылался на существующий, а чтобы имел свой комплект атрибутов, точь в точь списанный с другого объекта?
>>1030480 Запилить в своём классе конструктор принимающий экземпляр такого же класса, и тупо копирующий его данные. На основе такого конструктора можно потом сделать то что говорит >>1030483 будет что-то типа public Cat(Cat other) { this.AnusDepth = other.AnusDepth; this.Weight = other.Weight; ... }
Создавать копии котов тогда будешь так Cat vtorojKot = new Cat(pervijKot);
Для структур это реализовано по умолчанию, но в это тебе вникать рано.
Я в начале нулевых был тупым ребёнком с тех пор не сильно что изменилось и потому не знаю, как вкатывались тогда (как вкатываются теперь, тоже не знаю). В том, собственно, и состоит мой вопрос.
А про "дала начальнику" запостил не я. 1030127-кун
>>1030398 Вот с волей косяк. Троелсена под конец и то через адское нехочу дотягивал (но все же книга за 1.5 месяца). Может аналитиком каким? Даже если кодером не выгорит, не самая плохая работа у парней.
Откуда можно скачать шкурки для контролов Winforms и WPF? Я не поверю, что кроме Telerik/DevExpress нет свободных открытых скинов для графических элементов. Фиг с функционалом, но есть ведь красивые няшненькие кнопочки, окошечки, менюшечки, чтоб как в Эполе выглядело все?
>>1013491 (OP) Гайс. Читаю Герберта Шилдта. Читается очень медленно. Всё важно конспектирую в тетрать. Можете рассказать как вы учили/учите? Мне кажется конспект занимает дохуищу времени, но так легче запоминать. Может у вас свои методики какие-то?
Сап, пытаюсь вкатиться, смотрю курсы от itvdn, просмотрел 8 уроков по ~90 мин каждый, параллельно делаю примерчики из уроков, пока что все понятно. Все ли делаю правильно? Или все же стоит читать литературу по теме? Посоветуйте чего-нибудь.
>>1030788 Я пишу код, сразу практикуюсь, использую каждый новый метод, и чекаю правила в студии. Хотел конкретно про конспекты узнать и про усваивания инфы. Может кто-то записывает их в ван нот, хотя по сути это будет копипаста, и так же можно будет в учебнике поиск устраивать. ХММ...
>>1030773 Кодить надо. Примеры чужие перебивать. Свои хуярить.
А видосы- от них мало толку. И меньше, чем от книжек. В разы.
Мне они полезны были, если что-то такое делают, walk through какой-нибудь, делаем там приложение такое-то, например. Смотришь и кодишь тоже.
Или если уже книжки почитал, примеры накодил, и смотришь видос, повторяется, закрепляется, что-то новое добавляется. И уверенность появляется, что ты выучил тему.
>>1030353 Тебе ответили на вопросы кастов, но не сказали что у тебя неправильное понимание о создании обектов. 1. В данном случае в начале объявляется переменная класса Animal, затем создается объект типа Cat и ссылка на этот объект присваивается переменной a. Что здесь нужно понимать? Первое: объявление переменной и присвоение этой переменной значения - это две разные операции. Т.е. мы можем написать так: Animal a; a = new Cat("Barsik"); Второе: Ты в любом случае создаешь здесь объект класса Cat, однако в данном случае происходит неявный апкаст(upcast, т.е. приведение вверх по иерархии) объекта new Cat("Barsik") к классу Animal.
Animal a =(Cat)c; - данное выражение лишено смысла, объект и так является экземпляром класса Cat, а ты его еще раз приводишь к этому типу и опять же здесь происходит апкаст к типу Animal. В переменной a будет лежать все та же ссылка что и у объекта c, однако здесь мы лишь меняем свою точку зрения - смотрим на объект Cat как на объект Animal, с его свойствами, методами и т.д. 2. Cat c = (Cat)a - здесь не будет ошибки компиляции, потому что компилятор не может знать какого типа был объект лежащий по ссылке a изначально. Однако этот код выкинет ошибку во время исполнения, потому что объект a не может быть объектом типа Cat, так как он лежит выше по иерархии.
>>1030353 >Шарпаны, начал читать Рихтера, дошел до приведения типов к другим типам. И что-то не пойму: Ну короче, у каждого класса есть интерфейс к нему: это все поля и методы, которые ты видешь в intellisense, когда ставишь точку после имени переменной. Это понятно? Что касается приведения типов, то тут очень просто: ты можешь присвоить переменную Б в переменную А, если переменная Б включает в себя интерфейс А. То есть, если у тебя в А есть метод Method1() и в Б есть такой метод, то ты можешь присвоить. Если ты наследовал Б от А, то очевидно, что в Б по дефолту есть весь публичный интерфейс А
Есть json такого вида: https://pastebin.com/jdxtyWFr Массив в массиве. Объект array имеет всегда только один элемент и по сути является контейнером. Из-за такой структуры работа с внутренним массивом values становится неудобной.
Можно ли как-то избавиться от этого контейнера, для облегчения работы с внутренним массивом? https://pastebin.com/5wwJREGb
Шарпач, есть тут кто-нибудь, кто может помочь разобраться немного с EF и БД. Просто есть буквально пара вопросов о том 1) как разворачивается БД на сервере(не на моей мащине, а где-то там, далеко-далеко на хостинге). И как при этом применять изменения в БД. 2) как сервер обрабатывает запросы, для каждого клиента создается поток или что-то другое? как это дело проконтроллировать.
В общем, при личном общении объясню, что именно я хочу понять. Денег у меня не много, я думаю не больше пары часов это займет в скайпе. Могу заплатить касарь, честно не спизженный у мамки из кошелька. На этих выходных в скайпе провести такое своего рода репетиторское занятие.
Как правильно юзать cancellation token'ы? Кто их должен создавать и когда? В простых примерах все понятно, но в реальном приложении где на форме могут быть десятки кнопок и разных фоновых операций как все это правильно организовать? Эти токены еще и одноразовые...
Анон, помоги, уже все мозги выел. MVC 5 Есть вьюмодель, в которой есть список объектов (модель точки с координатами), мне нужно во вьюхе на основании того что выберет пользователь (точки или линия) создать этот список. Я так думаю генерировать скрытые инпуты и туда вставлять, но не понимаю как создать именно список объектов во вьюхе, чтобы оно адекватно байндилось в контролере.
>>1030807 Бля, не старей. Развивай память как-то Я стараюсь запоминать любую инфу нужную почаще Там все данные документов, номер, дату, и код на дебетовой карте. Количество каллорий во всякой хавке, которую ем. Примеры ещё решать на скорость нормас тема
У меня многопоточная (через таски) форма внезапно повисает где-то в локах внутри мввм фреймворка. Т.е. ничего не происходит, форма ни на что не реагирует, когда нажимаю паузу под отладкой вижу два тредя на инструкциях lock(...){} в разных местах, и вроде даже аргументы в ... разные. Как такое может быть? Локи же наоборот должны упорядочивать доступ и вообще если аргументы разные, то они не должны никак друг на друга влиять.
Ребят, как я могу скопировать файл бэкапа БД с локального пека на удаленный и развернуть там БД? У меня есть файл newDB.bak, мне нужно отредактировать его, пересохранить и развернуть новый бэкап на удаленном сервере SQL Server.
Всё что я нагуглил, это то что я должен как итог сперва скопировать его туда, а потом там средствами sql managment studio разворачивать.
Привет, /pr. Есть один класс, объекты которого необходимо сохранять в отдельные файлики, чтобы в дальнейшем иметь возможность их прочитать. Используются для этого сериализация и десериализация соответственно. Все бы ничего, но проект обфусцируется, а обфускатор, конечно же, переименовывает классы, и в конечном итоге получается так, что после каждой обфускации невозможно прочитать файлы, созданные ранее. Как решить проблему, если есть строгая необходимость в обфускации? Может быть, есть какой-то другой способ сохранить объект класса во внешний файл? Пикрандом.
Анон, необходимо написать программу, работающую с БД. Нужно начинать со скачивания https://dev.mysql.com/downloads/file/?id=471661 и установки всего, или можно обойтись без MySQL сервера? Просто, как я полагаю, для работы программы нужно будет сначала установить мусклес, а потом каждый раз его поднимать, а программу ведь нужно будет запускать на других компьютерах. хочу использовать mysql без mysql сервера
>>1033350 >Может быть, есть какой-то другой способ сохранить объект класса во внешний файл? Пикрандом Ну ебанный в рот. А просто взять и сохранить данные не пробовал?
С одной стороны, C# вроде вин, но вот из за подобного говна, вроде сериализации, этот вин никогда не уйдет за пределы тухлого офиса с вонючими турпрайз макаками.
>>1033714 Нихуя не понял че ты хочешь. Если тебе нужна на каждом компе доступ к общей бд, то должна общая сеть с серваком, на котором установлена бд. Если на каждом пк своя собственная локальная бд, то ставь SQLite.
>>1033743 Чтобы отдельно сохранять данные из объектов, то для этого нужно писать дополнительный код, который и будет этим заниматься, дёргая всё из полей / свойств. Сериализация же позволяет сразу на стадии компиляции пояснить компилятору за поля и свойства, которые нужно будет хранить. Шарп поддерживает XML, Binary и Json (очень удобно использовать для хранения в MongoDB) виды сериализации.
Проблема частично решена: оказывается, нормальные обфускаторы сами понимают, что сериализуемые классы не нужно переименовывать, то есть имена классов и полей остаются прежними, а методы и их тело шифруются. Хотелось бы, конечно, зашифровать и имена классов с полями, так как это все-таки дает стороннему наблюдателю некоторое представление о структуре программы, но из вариантов с полным отсутствием защиты и с открытыми именами некоторых классов и полей, я все-таки выберу второй.
SQLite унижает меня на собственном пека, не желая подключаться к студии. Ошибка - не может найти данный .net, но у меня все стоит. В гугле предлагают переустановить шиндошс студию, но это не помогло
На каком уровне надо знать жабаскрипт что бы быть асп.нет фуллстак макакой? И стоит ли стремиться в фуллстак, или бекенда асп.нет мвс5 хватает что бы найти непыльную работу?
>>1034472 Ну если есть на копьюхтере свободные 50 гигов жесткого диска , терпения пока это все будет устанавливаться 1 час, и осознание , что в в вижуал студио присутствует нано телеметрия, которая отправляет всю информацию о твоей разработки на сервера Microsoft
Привет, посоветуйте книжку по 6 шарпу. Из шапки для себя подчеркнул >C# 6.0 Pocket Reference Но пока еще не качал. На шарпе пишу уже несколько месяцев, но из-за того сил перешел на него с java, то у меня соответствующие проблемы. Пока всем было плевать лишь бы работало, писал как на яве, только конструкции типа var x= new X(), linq и ?/?? Выучил. Сейчас появилось время посидеть и привести свой код в норму. Будет ли карманного справочника достаточно для этих целей?
>>1034476 Какие 50 гигов, ебанутый? Даже если в инсталляторе все установить, хотя тебе столько не нужно, выйдет не более 10 гигов. А все для шарпа вообще гигов 5 занимает, учитывая тонну хуйни типа эмулятора ведра и тд и тп, которые можно не качать
Сап, котаны. Хочу вкатиться в этот ваш asp.net mvc. Внимание, вопрос: чтобы взяли джуном на галеру обязательно учить javascript и Entity на хорошем уровне или дадут время подтянуть?
Задался на днях вопросом, правильно ли я пользуюсь трайкетчем. Допустим есть несколько строк кода, одна из них может вызвать исключение. Я обычно оборачивал все три строки в трай. Будет ли профит, если я оберну только ту строку, которая и вызывает исключение. Или похуй?
>>1013491 (OP) Всем привет, сишарперы. У меня 2 вопроса к вам. 1. Вот в инете куа гайдов по асп.нет, как там все здорово, но хотелось бы понимать, как все это работает. Есть какая-нибудь инфа о том, как без всяких шаблонов написать вею-сервер, чтобы в итоге получился тот же асп, но самписный? В гугле я такого не нашёл. 2. asp.net core - новая шняжка от мелкомягких. Все здорово, но я вот не любитель ентити фрейморка, я задрот sql, мне хочется напрямую с БД взаимодействовать. В asp.net 5 я мог юзать такую охуительную вещь, как DataTable, и пихать в нее результат хранимки, возвращающей Select. А в Core я что-то вообще не наблюдаю, как мне результат select-а куда-то прочитать. Мб есть что-то, чтоб я мог в List<T> его запихнуть, например?
Так, сразу предупреждаю, что я работаю разрабом бд, а шарпич пока что по фану изучаю, так шо не надо орать, что я днище, я это и так знаю Картинка для привлечения внимания
>>1030852 >>1030839 Спасибо, слез с этих курсов, сейчас читаю metanit параллельно пишу консольные/оконные небольшия приложения, обучение пошло куда быстрее
>>1014628 лол. я, наверное, тут самый поехавший, но я писал на юнете. самый удобный гуи. но опять же, в зависимости от того, что тебе нужно сделать. если поработать с графикой и чтоб было красиво, то юнити.
Я немножко не вдупляю как это реализовать и возможно будете тыкать что это не тот ЯП Короче, есть форма и подключенный по скажем lpt сервопривод с атмегой/stm32, задача-с помощью кнопок на форме управлять частотой вращения привода Я немного не понимаю, что за прослойка нужна между формой и кодом для контроллера
>>1035776 показал бы. там еще и анимация была ахуенная, типо менюшка сверху прилетает, сворачивается и прочее. только я её на прошлом ноуте оставил, а он сгорел вслед за ним и моя жопа.
Захотел изучить C#, но я абсолют бегиннер, т.е. совсем. Взял овер дохуя книг, в том числе и из шапки. Стал читать, параллельно повторять код из примеров пытаясь хоть что-то запомнить и разобраться. Хэлоу ворлд и калькулятор повторил. Но дальше, что делать не понимаю. Вот я придумываю себе задачу и начинаю искать, как это сделать, но блять я нихуя не понимаю. В лучшем случае копирую куски чужого кода и вставляю себе, пытаясь разобраться о чём он. Только дело в сторону я НИХУЯ не понимаю блять. Сука, я уже почти в отчаянии. Для вэба есть codeacademy и htmlacademy, там уроки, и решаешь задачи, всё поясняется, что за что отвечает. Как мне в C# это всё понимать я хуй знает.
Аноны выручайте, не могу найти ответ на свою проблему. Суть такова: Есть 100 элементов (в моем случае это pictureBox), они уже созданы и надо их все загнать в один список (List<pictureBox>). Вручную можно, но этот вариант не рассматриваю. Как? Пытался по имени: string s = "pictureBox" foreach (pictureBox p in picArr) { s+=(picArr.Count+1); picArr.Add(s); } Разумеется не работает, так как он пытается добавить в список строку, а не элемент с указанным именем.
>>1013491 (OP) Сап. Я php-макакен, хочу вкатиться в C# веб разработку, так как понимаю что на моей работе потолок это небольшие проекты на laravel. Что посоветуете почитать/посмотреть? Я так понимаю в шапке литература для полных новичков, где показывают как написать HelloWorld. Стоит ли читать это? Подойдёт ли оф. документация? Пока что выбор пал на Троелсена.
Иванов всегда должен быть перед сидоровым и петровым. Так же петров должен быть после Иванова, но перед Сидоровым. И вот нам приходит две записи, в одной стоят {"Сидоров", "Иванов"}, а в другой {"Сидоров", "Петров"}. Нужно их в цикле обработать, но в правильной последовательности. Как это сделать наиболее красиво и правильно?
>>1037037 Вот по этой книжке легко вкатишься в основы asp.net, она небольшая и пример там неплохой, только технологии немного устаревшие, та же реализация DI от Ninject, но для понимания сути самое оно.
Ребзя , хочу написать на шарпах под винду Гуй для базы данных с возможностью изменять значения полей в базе, делать отчеты. База данных буквально состоит из 6 полей (хотя это особо и не важно). На работе стоят порядка 20 машин на винде (в основном XP, ное сть и 7 и 10). Есть знания SQL и частичные познания в программировании (гуй никогда не писал) Помогите советом, с чего начать в общих чертах ? Выбрал шарпы потмоу что насколько я понял гуй там легко напсиать. Спасибо аноны.
>>1037676 Спсибо анон, давно присматривался к этим курсам, но пока времени маловато >>1037677 Дружище, можешь пояснить в общих чертах за порядок написания ?
- Открываешь ее, жмешь создать, там выбираешь Windows Forms приложение. - Идешь в какую-то из вкладок меню, открываешь управление пакетами nuget - Качаешь EntityFramework - Создаешь папку для моделей - Описываешь классы моделей (это кстати можно автоматически сделать) - Описываешь контекст БД (и это вроде тоже) - Прописываешь строку подключения в app.config - Кидаешь на форму gridView и кнопку - Щелкаешь по кнопке два раза, у тебя создается автоматически обработка события клика - Там пишешь using (var context = new класс_контекста) { dataGridView1.DataSource = context.НазваниеНабораДанных.Top(10).ToList() } - Запускаешь приложение, жмешь на кнопку, данные выводятся в таблицу
Это если совсем по-простому (делов минут 15) чтобы начать(чего ты и просил), дальше настройка как там и что тебе нужно, плюс создание новых форм, проектирование архитектуры приложения и всего такого. Если нужно еще подробнее про стартер этап, спрашивай.
Есть таблица MySQL в который есть поле id с типом UNSIGNED BIGINT В моей моделе оно имеет тип ulong Если делать DbSet.Find(id) то всё работает. А вот когда надо выбрать через IN , тоесть DbSet.Where(x => Ids.Contain(x.key)).ToList()
выкидывается исключение:
MySql.Data.EntityFrameworkCore.Query.Internal.MySQLQueryCompilationContextFactory[1] An exception occurred in the database while iterating the results of a query. Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The call is ambiguous between the following methods or properties: 'Microsoft.EntityFrameworkCore.Storage.RelationalSqlGenerationHelper.GenerateLiteralValue(float)' and 'Microsoft.EntityFrameworkCore.Storage.RelationalSqlGenerationHelper.GenerateLiteralValue(decimal)'
Как в MVVM динамически сопоставлять иконки разным диалогам? В размету их не поместишь, так как одно и то же вью может инициироваться разными вьюмоделями (которая собственно и должна как-показать свою иконку).
Шарпаны, как получать доступ к контролам в MainForm из других классов, если сам объект этого самого MainForm нам по умолчанию не доступен?(вызов главной формы осуществляется без создания объекта, строчкой Application.Run(new MainForm1)) Может быть я с самого начала не туда пошел? Может быть МэйнФорм нужна только для создания и вызова других форм, в которых и должна быть вся логика? Вот смотрите: есть программа, в которой пользователь сперва коннектится с БД(кнопкой), используя имя_БД, логин и пароль из текст_боксов на этой форме, а потом уже начинает манипулировать с самой базой. Сперва я решил всю логику разместить только на одной MainForm, но теперь мне понадобилось получить доступ к контролам этой формы из других классов. Быть может нужно использовать Мэйн Форм только для соединения с БД и в случае успешного соединения -создавать и показывать на экран другие формы, в которых уже будет логика взаимодествия с самой БД? А если мне понадобиться переподключиться к другой бд/или под другим логином? Опять вызывать Мэйн Форму? И как сделать так, чтобы при создании-вызове другой формы, весь фокус программы переключался только на эту другую форму,то есть чтобы MainForm вообще исчезал для пользователя?
>>1038005 Хочется чтоб прям из классов с логикой я мог в форму вставить результат селекта или результат юниксовой команды. Или так делают только обмороженные быдлокодеры и по хорошему надо:
результат_запроса = вызываем метод с параметрами, который возвращает нам результат; текст_бокс.Текст = результат_запроса;
>>1038012 Так и нужно, а еще лучше чтобы вся логика взаимодействия с БД находилась через какую-то абстракцию для меньше связанности картинок и sql запросов. Но если нужно быстро и немного, погугли что есть static.
Алсо, есть ли либы или фреймворки, которые позволяют работать с ms excel/word документами с использованием шаблонизаторов? Типа взял документ, напихал в него yield@section, а потом создаёшь в коде новый и пишешь в секцию что там нужно.
>>1037151 Классический ASP-это вообще хуета не связанная с дотнетом. Скажи точно, что за версия во втором курсе. Хотя в принципе похуй, MVC щас самый передовой и только его и стоит учить.И да, вкатывальщики, вы заебали. Хули вы по видиоурокам учитесь? Вам вообще удобно сидеть час втыкать в экран, вместо того, чтобы ту же информацию прочитать за 10 минут?
>>1035277 Бтв, достаточно ли будет одних уроков metanit? Сейчас на 11 главе. Мб есть, что параллельно почитать? Тяжело даются различные действия с ООП.
Шарпаны, нужна помощь. Есть один массив строк. Нужно устроить ему цикл по себе. Т.е. берем 1 элемент, сравниваем его с собой, потом со вторым , потом с третьим и так дальее. И потом второй лемент с первым, собой, третьим и так до конца. Занимет это дохуя времени. Можно это как то распараллелить?
>>1038055 >Хули вы по видиоурокам учитесь? Вам вообще удобно сидеть час втыкать в экран, вместо того, чтобы ту же информацию прочитать за 10 минут? так проще + акцентируется внимание на важных вещах, которые сам можешь пропустить
for (int i1 = 0; i1 < stroki.count; i1++) { for(int i2 = 0; i2 < stroki.count; i21++) { //Тут идет куча алгоритмов неточного сравнения строк. Хуй и Куй будут считаться одним и тем же словом. } }
И вот эту ебату нужно ускорить разложив на ядра. т.к. ядер много, а времени мало.
>>1039027 >А если взять пример из жизни? Ты што, дурак? Parallel просто запускает кол-во тредов по число процессоров с заданной функцией, куда передает объект или индекс. Что там у тебя падает?
Прошлый
Не забывайте оформлять свой код https://ideone.com/ https://pastebin.com/