Вопрос глупый, но я новичок. Вот я нашёл нужную мне штуку в гитхабе. Кроме кода содержит .sln файл, т. е. это солюшн. Как мне этот солюшн подключить в свой?
>>985832 >ООП-язык и там объекты с состояниями и семафоры и Interlocked >Что же нам почитать о многопоточности-то, йобаннный насрать Джо Армстронга почитай, Erlang-тред вон рядом -->>
Допустим есть строка состоящая из hex: str = "68 65 6c 6c 6f";
На нормальном языке там написано "hello". Так вот, как мне получить нормальную строку из этого? Чтобы было нечто вроде: strNorm = str.ToNormalnayaStrokaBleat(str);
>>985927 Таки выгуглил вот такое String strNorm = System.Text.Encoding.UTF8.GetString(str);
Но в текстовое поле нихуя не выводится, и что-то мне кажется, что дело в неконвертируемых символах. Например, вот реальный байтовый массив: 00-4B-00-61-00-74-00-4C-00-69-00-6C-00-4C-00-69 Сайт http://www.unit-conversion.info/texttools/hexadecimal/ мне его конвертирует, а программа нет. Что не так?
>>985963 >>985966 UTF8, но другая программа отдает с нулями. Удалил нули и все заработало, но теперь у меня в два раза больше массивов, некрасиво ( ̄ヘ ̄)
У меня еще такой вопрос. Если я объявил переменную внутри for, то снаружи ее видно не будет? Как сделать, чтобы массив, размер которого я узнаю только внутри for, был виден снаружи?
>>985988 Нифига. Первый пик - объявляю до цикла. Второй пик - определяю размер внутри цикла. Третий пик - пытаюсь пользоваться после цикла, выдает ошибку, что массиву ничего не присвоено. Что не так?
>>985997 Ты сам все видишь на скринах. И да, весь алгоритм работает, все переменные заполнены правильными данными. Но как только я пытаюсь получить доступ СНАРУЖИ к этому массиву, я получаю ошибку.
Но ты мне так и не сказал, как объявить безразмерный массив ПЕРЕД циклом, и как ВНУТРИ уже задать размер.
Решил проблему. Так сложно было подсказать Byte[] member1Name = { }; вместо Byte[] member1Name;? Оказалось, что в C# можно менять размер массива с нуля до нужного на ходу.
>>986008 скорее в твоем цикле из-за кривого условного оператора, массив никогда не создавался. >>986023 Говнокод не из-за языка, а из-за того, что простые фундаментальные вещи не изучены. Нахера юзать массив если в цикле идет расчет количества элементов для него, тут напращивается список связанный юзать, а потом конвертить его в массив, и не ебать мозги.
>>986031 >список У меня байтовый массив, я ебал вводить еще и списки с конвертацией, если это вообще возможно.
>скорее в твоем цикле из-за кривого условного оператора, массив никогда не создавался Создавался и работал. Еще раз посмотри на скрины, третий пик если поставить в цикле, то все работает, а если снаружи, то нет >>985993
>>986056 Вопрос был в том, как назначить размер массиву внутри цикла/условия, чтобы снаружи к нему был доступ. Решение я нашел такое, как ты видишь в коде, но оно очень похоже на говнокод и другой анон с этим согласен. Проверяй, правильно ли выделяется память под массив и можно ли менять размер на ходу, как это происходит в коде.
>>986056 проблема в том, что в шарпе byte[] gavno, не равняется byte[] govno = null. в первом случае компилятор говорит что пременной не существует, во втором все ок. Вот такой парадоркс.
>>985689 (OP) Хочу предостеречь вас, СИШАРП это говно. Разбирать чужой код, ебашить свой это такая запара вы себе не представляете. Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то. Пока у вас есть время учитесь электрике, сварки, рисованию, а программирование уже не то, кодеров как собак нерезанных и хуй с ним свалишь за бугор если не гений (это не про двачеров). С проектами на других языках получше обстоит дело, но тоже такое. Хохлы и индусы демпингуют рынок, фриланс в 2к17 уже не работает. Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе.
>>986077 Всё сугубо индивидуально, можно про любой язык так сказать. Лично мне .NET платформа нравится, всё лаконично, аккуратно, просто. Разбираться в любом коде тяжело, если его даун писал. А в написанном по всем конвенциям просто сказка.
>>986077 >учитесь электрике, сварки, рисованию Батя уже научил. И вообще, лучше взаимодействию с людьми учиться. >Хохлы и индусы демпингуют рынок Хуйню сморозил. От укров уже отказываются, если не очень большие конторы, вроде ебама или ссыклума. А индусы не деемпингуют рынок, они САМИ являются рынком. Вспомни мелкомягких. >Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то. Эскобар.жпер А что есть создание по туториалам как не разбирательство в чужом коде? Разница, как по мне, в том, что в туториалах тебя за ручку, как в музее, водят, всё показывают и рассказывают. А поддерживаешь чужой код уже сам, у нищих слуг нет! >С проектами на других языках получше обстоит дело, но тоже такое. Нифига. Что в жабе, что в похапэ сейчас то же самое говно, что и сишарпе - куча макак, а те труъ-программисты, что есть, просят слишком много бабла.
Алсо, как заставить элементы работать с UTF8? Там в конце символ французский (наверное) умлаут ä с двумя точками сверху, но даже на такой простой символ шарп говорит мне отсосать.
>>986132 >Сейчас проверил, на 15 студии всё заебись. Напиздел ты мне, ничего не работает, только зря ставил VS. Байтовый код 42 61 67 67 EF, что равняется второй пикче.
>>986187 Лол, я думал ты про IDE говоришь. Скинь свой код, где ты конвертируешь. Формы нормально с utf работают, см. пикрелейтед. вот по ссылке сюда и скинь его >>986191
>>986273 Тебе надо расшевелить мозги и придумать алгоритм самому Из инструментов это "операции со строками" Я бы подумал, но мне лень. Надо ведь красиво придумать, а не ебнутый алгоритм типа "Ага, начало строки, значит, начало слова. Считаем до пробела, сравним. Падажжи, а если знак препинания?"
>>986273 >>986281 Загнул ты, тут всё проще. [CODE] string my = "МАМА ПАПА ЕСЬЖИ"; string[] words = my.Split(' '); string[] list = File.ReadAllLines("путь");
foreach(string word in words) { if (list.Contains(word)) Console.WriteLine("СОВПАЛО: " + word); else Console.WriteLine("НЕ СОВПАЛО: " + word); } [/CODE] Для выебона можно так Console.WriteLine((list.Contains(word) ? "" : "НЕ ") + "СОВПАЛО" + word); Один хуй макаба похерит разметку, лови так: http://rextester.com/BCWFS8547
>>986191 Ну и какой пидор вытер весь тестовый код с конвертацией пока я спал? Ебать, ублюдки. Теперь буду давать pastebin, сами компилируйте у себя.
>>986231 По ссылке и был мой, где я конвертировал, пока его не вытерли. И я же дал байтовый код, нахуй мне эти вручную прописаные буквы с бекслешем? Мне нужно конвертировать на ходу. Вот пастебин https://pastebin.com/fzekvCcf и на скрине результат компиляции.
>>986151 >Студия очень тяжелая, ставить её также очень долго, вплоть до нескольких часов. Но оно того стоит. Оно нихуя этого нес тоит. Сижу на 2010 с решарпером. Никаких проблем. Ставится мгновенно, весит мало. Ни единого разрыва.
>>986067 Гавно в данном случае ты. Иди читай про область видимости переменных и всего, что с ними делаешь. как дойдет, почему на скрине unassigned, приходи снова. в любой книжке по любому языку программирования это упомянуто максимум в 3 главе[/sploier]
>>986313 Люди понаписали что у тебя говнокод. Мне непонятна задача. Если ты ее мусолишь на протяжении нескольких потов постоянно кидая линк на исходик, то захуярь в исходник комментарии с сутью. А так ты показываешь говно, и тебе отвечают, что это говно.
>>986318 https://dotnetfiddle.net/#&togetherjs=rMlV8O150l вот PoC если закмоентить Byte[] member1Name = null; и раскоментить Byte[] member1Name; то код перестанет работать. Это специфика говно языка. Объяви переменную, затем обязательно присвой значение, видимо для строк и интов индусы предусматрели значение по-умолчанию, а вот для массивов нет.
>>986319 Ну чтож, начнем перечислять где ты хуй: 1 - индусы тут вообще не при делах. язык писали белые люди. 2 - если в твоих руках что то перестает работать, то проблема может быть в том числе и в тебе 3 - как уже написали ниже, какое значение по умолчанию может быть у массива?
картину топографического критинизма дополняет твой ответ. Да, значение null. Но ты берешь не просто сам массив, а его элемер со смещением [0] от начала последовательности, которая null. И кто снова хуй? Ты снова хуй. Покажи мне язык в котором к неинициализированному массиву можно обратится с конкретным индексом и он не пошлет тебя на хуй.
>>986331 У тебя явные проблемы с фундаменталкой(поучи теорию языков программирования), а белый люди, который этот язык проектировали, кроме как индусами называться не могут. В неинтерпретируемых языках значение по умолчанию не определено, в таких языках как си шарп, неинициализированная переменная это эксепшн в рантайме, а не в момент компиляции. Хорошая попытка анализа перед компиляцией, но нет это не работает.
>>986319 Читаю комментарии в твоем коде и мое лицо расплывается в улыбке. >Дело в том, что шарп не может точно понять будет ли в результате выполнения цикла массиву member1Name присвоино какое-либо значение. короче надо, чтобы 100% присваивалось какое-то значение, а в цикле оно может и не присвоится.
Вот тут у нас самый настоящий говнокод вышедшей из говноалогоритма. Нормальные люди, если подозревают, что переменная может не инициализироваться в некоем цикле или методе, добавляют проверку на null перед работой с этой переменной. Это считается правильным. Ты же строишь цикл в котором переменная не инициализируется (присвоения значения null это так себе инициализация) и удивляется что компилятор тыкает тебя носом в потенциальную необработанную ошибку. Да да конечно, не тот язык, не те разработчики не тот программач. Ну так мы тебя не держим.
>>986336 >поучи теорию языков программирования Мне некогда учить теорию, мне достаточно практики. Пока мои программы работают и я получаю за это зарплату мне позуй и на теорию и на индусов. А ты можешь читать что угодно. Будет на одного диванного теоритика больше.
>>986337 ты можешь объявить переменую с массивом, назначить ей нуль потом обратиться к ней по индексу и это компилятор схавая и упадет при запуску с нул рефренс эксепшеном. Так почему же тут он не остановил компиляцию?
>>986375 Решение номер раз: var hui = new hui(); Переменная инициализирована и готова к приключениям.
Решение номер двас: if (hui != null) Вот только в этом случае что то делается. Что было с переменной до этого пообще похуй, компилятор ругаться не станет.
>>986394 Тупой снова ты. Нельзя объявить массив не зная размера. Либо ты создаешь переменную, которой потом присваиваешь массив, либо ты хуй неумеющий в программирование.
>>986396 В данном конкретном примере ничего не изменится. Но ты можешь еще попритягивать за уши свои фантазии. >>986397 Кто сделал? Что сделал? Давай свой аргумент, а я пока поищу картинку со смеющимися няшками.
>>986399 Ну ты так охуенно объясняешь, что сути не видно. Но в чем проблема то? Объявить переменную можно когда угодно. Можно целый метод запилить возвращающий массив байтов и присвоить его результат переменной. Что тебя так беспокоит то?
>>986404 Не знаю как сейчас, но в RC был тормозящий лагодром. который сперва 20 минут трещал диском, потом начал что то докачивать из интернета и только сожрав 7 гигов предложил что то выбрать.
>>986430 Какие таймеры? Помню в глубоком детстве, когда я только начинал в вижуал бейсике, там был элемент, который я перетягивал на форму и у него уже были ивенты. А тут я такого элемента не вижу, поэтому и спрашиваю.
Блять ну и срач развели, я охуел. Вот мудель всё засрал тут! >>986295 >>986310 Ты много ерунды налепил, дружище. Надо подучить основы. Вот так должно быть http://rextester.com/TXYCI17007 добавил комменты для тебя >>986294 Балда, я и вытер, там уже каша была с говном. Вот твоё решение, такие символы в utf8 имеют длину 2 байта https://dotnetfiddle.net/aKlFs9 Сверяйся тут http://www.fileformat.info/info/unicode/char/00ef/index.htm >>986337 В тех комментах общался я и анон автор, потом решено было общаться в чатике, ибо хер разберёшь кто что пишет. Анон спрашивал, почему компилятор ругается, что переменная не инициализированна, хотя в цикле при каком-то условии он её инициализировал. Дело в том, что компилятор на момент компиляции должен точно быть уверен, что переменная будет проинициализированна.
И ты, анон, путаешь инициализацию с объявлением. Это две разные вещи. byte[] array1; // объявление byte[] array2 = null; // объявление с инициализацией array1 = null; // инициализация естественно не обязательно null
Переменную array1 перед использованием нужно проинициализировать. >>986358 >>986402 кидай код получения текста.
>>986433 Ты хоть начни делать, а потом вопросы задавай. За тебя тут лабы делать никто не будет.
>>986454 В таком случае ты получаешь не в utf-8 а в utf-16 После после каждого полученного байта вставляй 0 и будет тебе счастье. https://dotnetfiddle.net/aKlFs9
>>986455 Писечка в том, что в шарпе нет Encoding.UTF16 такой кодировки. На самом деле я решил проблему еще вчера и написал новый код с комментариями от своего имени, но всё это кто-то стёр. Правильная кодировка это Encoding.GetEncoding("ISO-8859-1"), так что эту тему можно было бы закрыть еще вчера.
>>986458 > ISO-8859-1 лол, так чего сразу не написал то? Алсо, есть там utf-16: Encoding.GetEncoding("UTF-16")
>Продолжаю пытаться в http запросы. Один экземпляр WebClient не поддерживает параллельные запросы. Гугли HttpWebRequest, HttpWebResponse это более нативная хуйня
Не мешало бы тебе скинуть код посылки запроса. Вангую ты каждый раз WebClient создаёшь. У меня client.DownloadStringAsync и client.DownloadString работают примерно одинаково - 150-250мс
>>986464 >лол, так чего сразу не написал то? Ну так я и не знал. Как разобрался, так сразу и поменял код. А потом кто-то его удалил.
>Один экземпляр WebClient не поддерживает параллельные запросы. Нет, у меня не вебклиент, а это: var httpClientHandler = new HttpClientHandler { UseProxy = false }; HttpClient client = new HttpClient(httpClientHandler) { MaxResponseContentBufferSize = 1000000 };
Клиент и правда каждый раз создаю, но проблема в том, что у меня постоянное обновление, я пока еще не придумал, как создать один раз и передавать.
Алсо, эта проблема решена. Я проебался и у меня на прокси стояло true вместо false.
>>986498 >который не даже отдебажить не выходит Потому что теория си шарповых тредов - это 20 страниц умного текста. Тут в мозг нужно уметь думать, а не изо рта срать.
>>986501 >ага ))) >>986502 Госпаде, какие же все-таки дауны сидят в /pr, у которых пелена обиды застилает глаза. Иди чини детектор, можешь даже погуглить что это такое ))), я не писал про области видимости и прочее.
Вот что я наделал за это время, >>986433-кун Как оказалось я кусок задания не написал(класс Person). Но это мне не сильно помогло. Как я понимаю у меня нихуя не работает Employee для доступа к полю со списком работников. Впрочем походу неправильно работает и сам Employee, два раза выдает результат(обведено) Так же не работает список работников (пустой)
Так же не понимаю как делать это. 1. свойство типа Person (только с методом get), которое возвращает ссылку на рабочего с самой ранней датой приема на работу; если список рабочих пустой, свойство возвращает значение null; 2. индексатор булевского типа (только с методом get) с одним параметром типа Form; значение индексатора равно true, если значение поля с информацией о правовой форме совпадает со значением индекса, и false в противном случае; 3. метод void AddEmployee(params Employee[] employees) для добавления элементов в список рабочих;
В main я вроде как сделал пункты 4.1 и 4.3, но насчет последнего не уверен.
>>986521 >Предложи мне костыль, который переконвертирует уже готовую запись вот тут Костыля нет. Что бы знать во что конвертировать нужно сперва узнать из чего конвертировать. Этот исходный текст у тебя в какой кодировке?
>>986521 Предположу, что код у тебя неверный, вместе с функцией reverseBits. Переделывай пошагово начиная с 25 по 56 строки http://rextester.com/YETR72168
>>986519 1 я понимаю что нужно делать с помощью DateTime.MinValue, но постоянно пишет что невызываемый член не может использоваться как метод, либо что не существует в данном контексте У остальных пунктов аналогичная ситуация, я их начинаю (public Form this[int index] и public void AddEmployee(params Employee[] employees) соответственно), а дальше здоровенный хер на весь экран. Гуглеж не помогает, всё что нахожу абсолютно не похоже на то что я делаю.
>>986557 >1 я понимаю что нужно делать с помощью DateTime.MinValue Давай непонимать вместе. Нахзуя тебе вообще сдался DateTime.MinValue? Не видел у тебя в задаче зачем он нужен. > (public Form this[int index] и public void AddEmployee(params Employee[] employees) Эта строка представляет собой какой то пиздец. Не знаю что ты ими хочешь описать но думаю, что хер это один из возможных результатов.
Я так и не понял что у тебя неполучается. Если ты не выучил синтаксис языка, но уже надо решать на нем задачи, то я могу только посочувствовать.
>>986516 >1. свойство типа Person (только с методом get), которое возвращает ссылку на рабочего с самой ранней датой приема на работу; если список рабочих пустой, свойство возвращает значение null; [CODE] public Person FirstWorker { get { return _emp.OrderBy(x => x.Work).FirstOrDefault(); } } [/CODE]
>2. индексатор булевского типа (только с методом get) с одним параметром типа Form; значение индексатора равно true, если значение поля с информацией о правовой форме совпадает со значением индекса, и false в противном случае; [CODE] public bool this[Form f] { get { return _form == f; } } [/CODE]
>3. метод void AddEmployee(params Employee[] employees) для добавления элементов в список рабочих; [CODE] public void AddEmployee(params Employee[] employees) { Employee[] result = new int[_emp.Length + employees.Length];
Array.Copy(_emp, result, _emp.Length); Array.Copy(employees, 0, result, arr1.Length, employees.Length); _emp = result; } [/CODE] или лаконичней, на linq [CODE] public void AddEmployee(params Employee[] employees) { _emp = _emp.Union(employees).ToArray(); } [/CODE]
>>986621 >Объясни человеческим языком что ты соброался через нее делать. Он хочет найти рабочего с самой ранней датой приема на работу. Думает, если вызвать DateTime.MinValue то магические гномики сделают, что нужно.
Сап, шарпач. Короче, есть 9 NUnit тестов, когда запускаю все сразу, 3 из них не проходит, при этом выдает вообще какие-то хуй пойми какие значения, после этого запускаю непройденные еще раз по одному и все ок. В чем проблема? Мб какое ограничение на время выполнения тестов?
>>986680 Дело в том, что с английским текстом у меня нет проблем, они только с русским. Поэтому исклчена потеря байтов. Через онлайн декодеры я без труда меняю кодировку и получаю свой текст, т.е. проблема исключительно в ней. Неужели нельзя перевести кодировку уже полученного значения в перменную?
>>986683 >Через онлайн декодеры я без труда меняю кодировку и получаю свой текст Но на скрине я не вижу ПРИВЕТ, а вижу РИВЕТ, значит первый байт похерился. Ну лично я это так вижу.
Насчет кодировки, можно конечно. Вот на скрине один из вариантов. Только свои кодировки выбери.
>>986591 Спасибо! Только не всё тут работает. В первом когда пишу return _emp, он сразу начинает ругаться что не удается преобразовать тип Emploee в Person. Это тут ошибка или у меня до этого?
В третьем перестает ругаться только если я меняю int на Employee, a arr1 на _emp
public void AddEmployee(params Employee[] employees) { Employee[] result = new Employee[_emp.Length + employees.Length]; Array.Copy(_emp, result, _emp.Length); Array.Copy(employees, 0, result, _emp.Length, employees.Length); _emp = result; }
>>986726 > В первом когда пишу return _emp, он сразу начинает ругаться что не удается преобразовать тип Emploee в Person. Это тут ошибка или у меня до этого? Это мой косяк, я в уме же пишу. дать бы по ебалу тому, кто решил, что сущность человек СОДЕРЖИТСЯ в работнике [CODE] public Person FirstWorker { get { var emp = _emp.OrderBy(x => x.Work).FirstOrDefault(); return emp == null ? null : emp.EmpPers; } } [/CODE]
>В третьем перестает ругаться только если я меняю int на Employee, a arr1 на _emp Всё верно, это я машинально опсАлся.
Алсо посмотри свой пункт 2, там сказано добавить автореализуемые свойства, у тебя же наоборот.
>>986685 а кодировки хоть свои подставлял? Там то uft8 и 8859-1 Скинь фразу как массив байт, я посмотрю. Когда вставляешь в пост кодировке идёт по пизде.
Это снова я. Решил отчитаться в треде, раз уж задавал много вопросов.
Дописал свою тулзу. Она считывает инфу по группе (количество, имена, состав) из памяти запакованной ММО, потом по именам парсит инфу с сайта, потом считает рейтинг и выдает это все в красивую WPF формочку. Работает только с 64битным клиентом, но если не будет лень, то допишу и для 32битного. Я считаю, что вышло неплохо, учитывая, что в шарп я закатился несколько дней назад.
>>986881 Ты не код показывай, а вот эту строку: string byteMyText = BitConverter.ToString(myText); Чему равняется byteMyText ?
>>986885 >из памяти запакованной ММО Жди бан по hwid >Работает только с 64битным клиентом, но если не будет лень, то допишу и для 32битного. Память ведь у всех такая разкая.
>>986900 >Жди бан по hwid Совсем дурачок? Игра работает себе отдельно, моя тулза только читает память, никаких длл инъекций. Кроме того, это далеко не первая программа, которая читает память этой игры без последствий. >Память ведь у всех такая разкая. Ну вот куда ты лезешь, тварина? Для начала иди разберись в вопросе, а потом пытайся умничать. Да, разная, у 32 свои оффсеты, у 64 свои.
>>986923 Да так, там где конструктор вместо _pers, _position, _work надо уже поставить имена свойств, а сами поля _pers, _position, _work удалить. Вообще не вижу у тебя в задании свойства Year, если его там точно нет или я провафлил, то удаляй.
Анон, помоги нубасу. Пилю в виндоус форм одну задачку с счетчиком. В цикле запилил, чтобы счетчик менялся после каждого шага.
На деле же у меня прога тупит тормозит и в конце мне в счетчике выдает прошедшее кол-во шагов. Как сделать чтобы счетчик плавно увеличивался в самом цикле?
Только вот в первом пункте в var org1 = new Organisation("Васильки",1,Form.OAO, ?); на месте знака вопроса должно быть свойство типа Employee[], т.е. список сотрудников. И я не понимаю как его там объявить.
И пятый пункт не могу вкурить. А остальное я в принципе сделал. Хотя сомневаюсь в правильности написания new DateTime(12, 12, 1990) в 4 пункте.
>>987020 Спасибо, заработало. Алсо буду очень признателен, если пояснишь за второй пункт. Я только учусь, вычисления надо делать где то в другом месте?
>>987018 DateTime не правильно. Сначала год, потом месяц и затем день. массив создавай Employee[] emps = new Employee[1]; emps[0] = someEmp; // someEmp - работник твой var org1 = new Organisation("Васильки",1,Form.OAO, emps);
Привет, анончик. Ебусь с винформ. Расскажи как я могу LPWSTR засунуть в textbox или LabelBox? Или расскажи куда я могу эту шляпу засунуть? Нужно сделать список (сетевых дисков) а в NETRESOURCE Localname хранится в LPWSTR. Буду очень благодарен. Прикрепил скрин части кода где оно должно быть и скрин формы(сам не знаю зачем).
>>987028 someEmp - это я вместо этого должен ввести данные о первом работнике? Employee[] emps = new Employee[1]; emps[0] = new Employee(pers2, "Садовник", new DateTime(2006, 1, 21)); var org1 = new Organisation("Васильки",1,Form.OAO, emps); Console.WriteLine(org1.ToShortString()); Console.WriteLine(); Просто при запуске вот такую хрень что на скрине выдает.
И является ли верным для пятого пункта Console.WriteLine(org1.FirstEmployee);? А то он в программе его не показывает.
Поясните без тралленка. Зачем вам шарп, если в России/Украине его не юзают, фриланса на нём нет, разве что асп.нет. Но для серверных технологий есть варианты получше.
>>987164 Мы это продуктовая компания в мухосрани-миллионнике. Не взяли бы, нужны люди с опытом от 5 лет. Джуниворы не создают добавочной стоимости, к сожалению. Легче переучить джависта.
>>987166 >мы ето прадуктовая компания На аващебазе адин-асс для прадуктафф праграммируиш. Скока репы и лубка для лаптей завезли а скока спидораны купили ббггее. А ишшо и нада учесць скокмо спиздили тетки-сраки и васяны хех. Ай-ай тяжилов баю бббггее.
>>987164 >вон выше программку написал. cпидорылый выбрасил чээлендж ффсей иво сранай жисти. и аккаплишт иво ббггее. ну фсе, жизнь пражита низря, и бегут-бегут офферы из мелкасофта с характерными зокарючками аж самаво балмира ббггеее.
>>987075 Ещё 3, бля уже 4 года назад работал в одной веб-конторе с весьма богатыми клиентами, где 90% проектов было сделано на .net, кстати ПХПшников и C#-хуесосов было поровну, только первые, как мне тогда казалось, много выёбывались и ничего не делали. Ну это специфика внутри одной конкретной компании, так что не показатель.
Кстати, как только ебанул более-менее вменяемое портфолио из пары проектов на шарпе стал получать еженедельно предложения. Но это всё, повторяю, инфа 4х летней давности, я давно шарпом не занимаюсь, зашёл чисто с ностальгией сюда.
Сап pr. Есть две формы. На одной из них я вызываю метод другой формы который должен менять на ней свойства объектов этой формы, однако ничего происходит. Подскажите в чем может быть проблема, пожалуйста.
>>987229 В том, что ты реализуешь бизнес-логику в интерфейсе? А вообще у тебя точно ретурн выше не дропает раньше? Исключения в трае не вылетают? Пройдись дебаггером и посмотри.
>>987231 Да какая бизнес логика. Я для себя пишу приложение для работы с VK API. Там все проходит. В том то и дело. Close() срабатывает, а тот метод ничего не делает с основной формой.
>>987233 потому, что var mf = new MainForm(); Создаёт новую форму, у которой ты потом авторизуешься и вызываешь метод. После чего закрываешь. Вангую у тебя уже открыта форма, а ты создаёшь новую. Если так, то тебе нужно получить ссылку на открытую форму.
>>987257 У меня есть две формы. Одна скрытая. Показывается при нажатии на кнопку на другой форме. Я хочу, чтобы когда я совершал какое-то действие на открытой форме у меня менялся допустим текст у лейбла на той первой форме с кнопкой
Сколько видел разных IDE, нигде нельзя сделать из кода такую радугу, как в MonoDevelop. В редакторе колорсхем больше сотни конструкций, но сами авторы это не используют, по умолчанию настроена минимальная подсветка
Аноны, а что, правда, что в России нет работы для C#?
Я мне ещё два года учиться, но специальность с программированием связано слабо. Как язык шарп очень понравился он у меня первый после паскаля. Разумеется, остановливаться на нем одном не буду, но.. Вдруг я чем-то бесполезным занимаюсь
>>987986 >побрутальнее будет Ну хз. Мне Java вообще показалась какой-то детской игрушкой для обучения детсадовцев программированию. Даже PHP сегодня имеет больше всяких фичь.
>>987986 Интересно толкование слова брутальный по отношению к яп. Чтобы сравнивать два разных языка нужно быть тем еще долбоебом, так что скорее ты просто зелень, посему укатись в свой java тред и не сри в нашем. Пикрелейтед эпичный тред, который я даже схоронил
Начнем с того, что програмист должен уметь писать алогоритмы программ, а не знать наизусть все операторы конкретного языка. В нашей стране тебя могут послать разбираться в чужом пхп коде, даже если у тебя короче джавапрогера. Тыжпрограммист. Шарп дохуя похож на джаву, так что всегда сможешь перекатится с минимальнымит ресурсозатратами. Ты занимаешся чем то бесполезным в любом случае. И какой бы язык ты не осмвоил ты будешь на нем заниматься чем то бесполезным, пусть и за деньгм.
>>988035 Не обращай внимания. Тут 80% человек на доске дальше намерений на изучение того или иного языка программирования не идут. Забавно смотреть на дурачков, которые не изучив ни единого языка, не имея никакого представления об алгоритмах, сидят и кукарекают о том, какой же ЯП лучше. Они начинают лезть в пр с одной лишь мыслью и критерием - деньги. Сегодня им скажут что пхпбляди - сверхлюди и они побегут учить пхп, завтра - наоборот и вот, смотрите, они уже засирают пхп тред за тредом.
Вообщем нужно написать прогу для чтения и записи в файл. С чтением я разобрался, а вот как добавить текст в файл после записи в текстбокс3 на Form'e? У меня вылезает ошибка. Как правильно записать? только не надо мне говорить почему я такой долбоеб
>>988141 File.AppendAllText(@"file", textBox3.Text); >только не надо мне говорить почему я такой долбоеб потому, что не умеешь искать информацию в интернете.
С HttpClient из System.Net.Http работает кто? Если я скормлю ему сотню проксей и запущу async таски с GET запросом к каждой, он сам разберётся как с этим работать? Может что-то настроить в нём нужно?
Есть курсы, с заданиями и сеньйорами у доски и сертефикатами, но, сука математика, я её не знаю, и не понимаю. Короче ребята, у меня нет вышки, и нет знаний математики, не ну про алгоритмы можно почитать, но главный вопрос, как это может отразится на трудоустройстве? Спасибо
>>988423 Без лоха и жизнь плоха. Столько годных книг, но нет, не хочу, хочу жрать говно. >>988420 Не знаешь математику? УЗНАЙ блять, всё в открытом доступе, книг масса, информации масса, бери - не хочу.
Сап, программач. Чому у меня такое окно вместо ошибок? Не отследил после чего появилось, заебался уже вместо нормальных ошибок гуглить по LNK028 и т.п. Как пофиксить?ебучие крякозябры
На связи студдент. Нужно реализовать параллельный вывод двух массивов. Нам предлагают через треды вот так: https://pastebin.com/V7U4gmiJ Как это реализуется через async?
>>988310 Так, скомбинировав ряд примеров вроде получилось. Принимаем сколько угодно проксей, одновременно держим 10 соединений и возвращаем из функции рабочие прокси. Всё происходит в одном потоке насколько я понял. Первый раз пишу на шарпе если что
>>988684 >Как тогда это реализовать, не используя тред? Написать две программы, которые запустит третья программа не дожидаясь океончания выполнения. Это конечно костыль, но зато ты не используешь тред.
>>988693 >А что, этот метод не получится асинхронно запустить? Если это консольное приложение, то >Всё происходит в одном потоке насколько я понял В корне неверно. Все происходит в тредпулле.
Есть условие на пике, по логике вещей Debug никогда сработать не должен и breakpoint после тоже. Но почему-то иногда оно срабатывает, что это за фигня такая? Если же сделать без &&, а тупо после каждого if новый if с проверкой, то может тоже пролететь проверку, но раз в 20-40 реже чем с &&.
Я мельком читал про асинк и думал, что он заменяет тред. И что тред это прошлый век и не используется. Так ли это? Хотелось бы использовать современные возможности языка c#. Через какое средство лучше реализовать эту задачу?
>>988750 Специально сейчас проверил с помощью Thread.CurrentThread.ManagedThreadId Что при проверке, что во всех свойствах, везде один и тот же ID был. Но вроде как вот таким костылем удалось решить проблему, ERROR никогда не проскакивает, либо я его еще не поймал.
Вечер /ЗК. Хочу работать с локальной базой через EntityFramework. Создал консольный проект; кинул в папку с exe-файлом mdf –базу; через Server Explorer добавил данные в базу; импортировал модель из базы; написал код показывающий данные. Так вот, если connection string будет с относительным путём, то программа к базе не подключается ("The underlying provider failed on Open") ><add name="Database1Entities" connectionString="metadata=res:///Model1.csdl|res:///Model1.ssdl|res:///Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\bin\Debug\Database1.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> А если connection string будет с глобальным путём, то всё работает ><add name="Database1Entities" connectionString="metadata=res:///Model1.csdl|res:///Model1.ssdl|res:///Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=C:\Users\Anon\ConsoleApplication1\ConsoleApplication1\bin\Debug\Database1.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> Как заставить её работать с относительным путём?
>>988840 Ты хоть пиши какие именно пункты непонятны. И вообще я абсолютно на 146.0000001% уверен что при желании все это можно нагуглить в виде готовых кусков.
>>988840 Чувак, по своему опыту скажу, прекращай так учиться, если тебе реально интересен программинг, то сразу уясни, что лекции - говно, ты ничего не запомнишь, в записях ничего не найдёшь, а если что-то пропустишь сможешь винить лишь преподов(не то чтобы они виноваты) и продолжать нихуя не понимать, не забывай что у нас есть гугл, книги, msdn и прочее говно, и гугли не решение задачи, а компоненты решения. Загугли перегрузку операторов, индексеры, алсо в сишарпе можно проверить является ли символ буквой, цифрой или специальным сивмолом. https://msdn.microsoft.com/en-us/library/system.char.isletterordigit(v=vs.110).aspx и иже с ними.
>>988882 Ну не совсем говно, ладно, полезны, чтобы ты знал что искать, но не надейся что ты все пробелы ими сможешь закрыть и оправдаться что этого вам не давали, когда будет что-то не ясно.
>>988882 Поддвачну. Троелсен для ньюфагов как библия для праведников. >>988884 В большинстве своём говно. Или у нас есть преподы уровня троелсена, фримена и прочих? Зачем жрать продукт переработки этих же авторов "преподом", который по уровню зачастую как мимокроки на этой доске?
>>988877 Нашёл, что если указать путь таким образом “|DataDirectory|\Database1.mdf” то работающая программа подключается к базе. Однако, в открытом проекте Model1.edmx перестаёт находить базу.
Как в DataGridView для winforms привязать признак выделения строки к объекту данных? Т.е. я хочу кроме колонок доабить свойство bool в объекте данных что бы оно показывало выбрана ли представляющая его строка в гриде или нт.
>>986077 >Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе. Мыкола в треде, пилил проект 3 месяца за 10к на окло фриланце, работаю по рейту 20/час(не гривен), друг успешнее - работает за 35 на фриласне+ офис выходит нормально на еду ижизнь в Европе. Но на счет кучи добоебов - это да. Недавно разбирал проект - и это полная пизда, делали два джуно-мидла. И там полная пизда
Что скажете про The C# Player's Guide? Шапку читал, но что-то многие как-то активно задрачивают Шилдта/Троелсена в первую очередь. Что нужно изучить до того, как переходить к изучения синтаксиса?
>>988926 >Через то, кокое вам в методичке рекомендуют. В методичке один тот пример, который выше. И препод сказал делать как хотим, главное чтобы работало. Хочется разобраться в этой теме, а не делать через пятую точку.
>>989136 Полгода это дохуя времени. Книги это хорошо, но скилл они не поднимают как в игрушках. Если хочешь научится хуярить конкретные вещи, то начинай хуярить прямо сейчас. Придумай сам себе проект и хуярь, а книги используй как справочники.
У всех свой способ изложения материала, например Троелсен только с 3 главы дает синтаксис, поэтому прочитай первые страниц 100 у каждого, опуская благодарности и нововведения версий C# и выбери кто для тебя доступнее объясняет. Или может тебе вообще зайдут курсы ITVDN. Я у него посмотрел про машинную математику, а на переменных и типах меня начало пидорасить от его прыжков по коду и фраз типа: "Па-пам!".
>>989155 Да сам знаю. У меня помимо собственно переката, основная цель-сойти за начинающего мидла и не потерять в зарплате. Соориентируй лучше, какие из net-веб-технологий сейчас наиболее актуальны и останутся таковыми в ближайший год? Какие версии ASP.NET (Core/MVC/Web Api/etc) и остального?
>>989161 Соорентировать тебя яне могу, т.к. сам работаю в другом направлении. Но вот теюе совет - не будь it-шлюхой. Выучи что то одно, но хорошо. Даже если завтра это перестанет быть популярным ты все рвоно останешся специалистом по этому направлению.
Анончики, сижу сейчас читаю Троелсена и подумал, что нужно что-то такое простенькое совсем написать. Наткнулся на описание примеров System.Environments и пришла мне в голову идея сделать на винформс пикрелейтед.
Нехватило мне функционала или мозгов и я полез в WMI. Короче с гуглением-таки осилил, но блять это пиздец как далеко от задач для ньюфага. Посоветуйте где взять задачи для постепенного развития и проработки материала?
Если я делаю public static event EventHandler MyEvent; как убрать sender из вызова этого эвента? MyEvent(null, param) наследовать EventHandler нужно и в базовый конструктор передавать null?
Привет двач мне нужен C#/C++/C разраб. Работа с POST запросами и их обработкой на сайте, программа для винды соответственно. Плачу деньги и даю много работы. Напишите мне в телегу плиз: @LoroPiana
Пишу программу, которая переводит текст в морзянку. Для точки и тире использовал singleton https://metanit.com/sharp/patterns/2.3.php Не нарушаю ли я смысла singleton'a в этих строчках:
>>989844 > зачем тебе тогда вообще синглтоны? Затем, чтобы был всего один экземпляр. В моем случае, когда я делаю локальные переменные dot и dash экземпляров получается несколько, и весь смысл паттерна теряется. Тогда стоит или забить на паттерн или писать Dot.getInstance(). Как сделать лучше?
В пользу второго варианта: У меня есть проигрыватель (он выводит в консольку сообщение) и там тоже тоже нужен экземпляр, чтобы сравнить данные из сообщения с ToString() точек и тире. Можно, конечно, не переопределять ToString(), а просто сделать статический метод, который будет возвращать string с "." или "-". Но тогда смысл ToString() теряется. Не получается найти красивое и верное решение.
>>989850 Ты всё усложняешь, зачем тебе хранить точки и тере в точках и тере в виде стринга, нельзя ли просто чар хранить? И ты всё равно плодишь миллионы ссылок, которые весят между прочим инт(64 бита), не легче ли просто представить морзе элемент в виде стринга сразу и сравнивать потом посимвольно или вообще через String.Equal? Тебе и задавать таблицу символов будет легче a = new Element(".-") и писать придётся иф (ch == '.') { код }
>>989850 Ну и если тебе всё же хочется иметь синглтоны, то храни хотя бы синглтоном набор точек и тере, а не отдельно, типо MorseElement.Dot/MorseElement.Dash, и да, выходит что и тут синглтон не нужен, просто статики, можно с методами чтобы только читать их, просто синглтон для хранения одного объекта это оверкил.
>>989854 Чтобы обмазаться инкапсуляцией как Пахом сладким хлебом Допустим, потом я захочу изменить "." на "·" или вообще на "точка", то мне придется проходить по словарю и заменять эти символы вручную. А так я захожу в Dot.cs и меняю одну строчку
>>989855 > можно с методами чтобы только читать их Вот об этом я сейчас и думаю. Спасибо за советы
>>989857 Вообще для будущих замен можно сделать буквы как 0 и 1 и потом просто сделать маппер, который будет указывать допустим, что 0 это . а 1 это -, а потом можно переписать в мапере символы если нужно, то есть всё равно можно обойтись без кучи ссылок. И типо тогда ch == Mapper.DotChar, а символы задавать ("01") ну или что-то такого, вот маппер и можешь сделать синглтоном, чтобы можно было и ремапать рантайм и хранить всё.
>>990053 >Почему эвенты посылаемые из асинхронного метода ломают гуй? Тому шо менять интерфейс можно только из потока гуи. Тебе нужно тело делегата завернуть в Dispatcher.Invoke
>>990061 Работает, только Gtk.Application.Invoke в моём случае Собственно за 2 дня не зная джавы и шарпа получилось сделать вполне рабочую хуиту https://github.com/theanonym/proxy-checker Понравилось и компилится мгновенно, буду дальше изучать
Антоны, поясните за интерфейсы. Я знаю, что в интерфейсе просто пишутся прототипы функций и прочее и что они нужны для множественного наследования. Но как ими правильно пользоваться то? Видел в каких то забугорных гайдах, как вместо объекта класса создают интерфейс. В чем преимущество, какие подводные?если не лень, можно кусок кода привести в качестве примера
>>990292 Прочитай любую довольно общую книгу по сишарпу, в частности про делегаты и евенты и таски с асинх паттерном. Остальное уже библиотеки, гуглятся в инете, ещё обработка исключений тут есть.
ИНКАПСУЛЯЦИЯ, ДЕЛЕГАТЫ, СОБЫТИЯ НОВЫЕ УРОВНИ АБСТРАКЦИИ, НЕТ ЭТО ФУНКЦИОНАЛЬЩИНА, КАРОЧЕ ДЕЛАЙ ДЕЛЕГАТАМИ, ОНИ НЕ ПОДХОДЯТ ВЫЗЫВАЙ СНАЧАЛА СОБЫТИЯ, НЕ ЗАБУДЬ ОБЬЯВИТЬ ИНТЕРФЕЙС СО ВСЕМИ СОБЫТИЯМИ А ПОТОМ УЖЕ ПИШИ РЕАЛИЗАЦИ, ГДЕ ПАТЕРН МВП СОБАКА?! ПИШИ ТЕПЕРЬ ВСЕ ТОЖЕ САМОЕ В ТРИ РАЗА БОЛЬШЕ ЧТО БЫ ВСЕ РЕАЛИЗОВЫВАЛОС ЬВ ПРИЗЕНТЕРЕ.
>>990294 Например пользователь вводит в текстбокс не число, а букву, а в коде программы у тебя задумано, что будет число. Соответственно программа крашнется. Чтобы этого избежать делаешь что то вроде try { int x = Convert.ToInt32(textBox1.Text); } catch(Exception) { MessageBox.Show("ИДИ НАХУЙ"); } Теперь если будет какая то ошибка в блоке try, то выполнится код из блока catch.
>>990447 >Поясните, если сейчас в декстопе повсеместно используется WPF Кто тебе такую хуйню сказал? >зачем тогда ВС по дефолту предлагает делать декстопный проект в виндовс формах? Потому что они точно есть повсеместно.
>>990504 Так ты вопрос задай. Что за поток, каких нулей блять, каких единиц. Тебе 100010003=3млн бит нужно сохранить? Объясняй нормально и не будут тебе за щёку "закидывать"
Кто использует моно? Поставил monogame через nuget, проект компилится, но при запуске не может найти сраный shell32.dll locate shell32.dll ничего не даёт, значит в моно его нет (стоит последняя сборка от 11 мая) Гугл ничего не даёт, только упоминания wine, неужели от него зависит monogame?
Привет, шарпаны. Помогите C# джуну с практическим проектом.
Суть того что мне требуется. Есть класс, допустим назовем его Info. В данном классе есть 3 поля. Country, Username, OS. Есть клиент-серверное приложение на асинхронных сокетах.
Мне нужно сериализировать Info в byte[] и отправить от клиента к серверу, а сервер должен десериализировать этот обьект и добавить в Windows форму полученные данные.
Перелистал весь гугол, ничего сорвеменного и нормального найти не смог по сериализации. Какие то кривые непонятные примеры. Прошу помощи анона в направлении на верный путь.
>>990682 Не пойму что конкретно ты хочешь. Если и клиент и сервет знают как должна выглядеть структура, то проблем быть не должно. Как реализован сервер? Он уже реализован или еще только в процессе? Через что передается информация? TCP клиент? Заюзать SOAP не судьба?
>>990698 >Если и клиент и сервет знают как должна выглядеть структура
Я не понимаю как заставить сервер знать как выглядит данный класс (PacketInfo). Он реализован только в проекте клиента, который должен его передавать. Вот тут я думаю.
> Он уже реализован или еще только в процессе?
В процессе. Жду когда придумаю вариант сериализации.
> Через что передается информация?
Обычный Socket, использую асинхронные методы с BeginConnect, EndConnect и тд.
>Заюзать SOAP не судьба?
Не хочется ебаться с XML и тд. Для начала хочу научиться делать это с байтами а потом уже подниматься выше.
>>990701 опять ты на связь выходишь? Тебе же говорят >>990596 И не думай что раз bool, то один бит занимает. В памяти бул это 1 байт. Покажи сначала код получения "нулей и единиц".
>>990710 Да, выхожу. Код получения нулей и единиц показать не могу, но там можно получать только 1 или 0, по одному. Надо эту еболду записать куда-то и потом вытянуть.
>>990700 >Не хочется ебаться с XML и тд. Для начала хочу научиться делать это с байтами а потом уже подниматься выше. Пиши на ассемблере в машинных кодах. Хули ты сразу за шаоп взялся. >Я не понимаю как заставить сервер знать как выглядит данный класс (PacketInfo). SOAP передает данные о виде пакета, но ты ведь не хочешь им пользоваться.
XML и прочие форматы придумали специально для того, что бы не ебаться с raw данными. Если ты хочешь все делать через соеты, то сам и реализовывай логику. Посылай серверу поток байт сам. И сам думай как сервер этот поток байт должен расшифровывать. Без дополнительной информации сервер никак не сможет понять что за последовательность байт ты ему скормил.
>>990722 >Код получения нулей и единиц показать не могу А я не могу тебе ответить как эту поеботу лучше обрабатывать. Выше уже сказали, что bool это 8 бит. В процессоре нет 1битовых регистров, так что 8 бит это минимум. А в 64 системах 1 бит это 32м бита. Потому что в этом режиме нет доступа к 16 битным регистрам, которые собственно и делятся на две половины по 8 бит. Вот сам и считай когда твоя конструкция превысит 2 гигабайта. И не забудь из двух гигов вычесть несколько килобайт служебных областей. Нормальные люди такие данные упаковывают.
>>990735 Я бы упаковал, я как раз спрашиваю, ак лучше это сохранять. Суть в том, что есть изображение и с него надо собрать последние биты RGB, т.е. с одного пикселя будет 3 бита. Вот мне их надо сохранить и потом эту последователность единиц и нулей разделить на части по 8 бит, т.е. в байты. Примерно так, код слишком большой, что бы его показывать, да и смысла нет. Вроде всё описал.
>>990757 >код слишком большой, что бы его показывать, да и смысла нет. Раз с тебя спрашивают код, значит смысл есть. Наверное не просто так спрашивают. В шарпе нет такой вещи как бит. Есть только байт. Поэтому очень важно понять что конкретно и как ты получаешь. Достаточно не всего кода, а того самого участка который возвращает этот твой бит. От него уже можо будет отталкиваться. >Я бы упаковал, я как раз спрашиваю, ак лучше это сохранять. Биты хранят в байтах. Проще всего это делать на ассемблере командами сдвига. На шарпе скорее всего тоже можно, но я пока слабо представляю как и производительность будет в разы хуже.
>>990757 Используй стримы, берёшь такой изображение, открываешь стримом, берёшь оттуда немного байтов, берёшь из них что тебе нужно и записываешь в другой стрим, который записыает в другой файл.
>>990790 Биты ты тоже можешь записывать в файл, а двумерную структуру представить как одномерную с умножениями и делениями по остатку, биты в ней по 3 вместе записывать. Файл стрим вроде поддерживает seek() так что вот. И выйдет у тебя типо pixel(int w, int h, int color) где ты ищешь по файлу (himageHeight + h) 3 + color, колор типо 0 для красного, 1 для зелёного, 2 для синего. Только не забудь что из файла читаются байты, а не биты. Или как-то так.
А вообще если тебе надо по 8 битов записывать, то просто считай i сколько битов ты уже записал, храни byte текущий, OR байт со своим битом, сдвинутым на i, и обнуляй i каждый 8ой бит, который ты получаешь, их и записывай в свой массив, ну или в файл, последний бит не забудь выравнять влево.
Шарпаны, тут такое дело. Мне нужно стать хакером. Есть одна сборка в виде exe файла. В ней содержаться несколько dll. Мне позареж нужно их оттуда извлечь и посмотреть их код. В гугле был, там всякие мануалы как самому вставлять ресурсы и как потом их из своей программы сохранять на диск. Но мне нужно из чужой программы их сохранить на диск. Есть идеи?
>>991025 Ты парсишь строку и не ловишь исключения, а в строка у тебя не "312" а какая-нибудь "афц1--_", короче у тебя строка нормально не может быть приведена к инту
Сап ПР. Нужно сделать хитрую табличку с последующей выгрузкой в ексель. Решил запилить на C# и WinForm, но вот никак не могу нарисовать саму табличку. Например, как сделать такое с минимальной еблей? |---------Заголовок 1----------| |---------------------------------| |--подзаголовок1--|--еще----|
Как в .NET Standard библиотеке открыть magnet ссылку? В обычном десктопном дотнете это можно сделать так "Process.Start("magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C");".
Стоит ли делить один относительно большой проект на несколько небольших для более явного разделения логики? Навскидку вижу явное деление на 3-5 проектов поменьше. (Сейчас делится в неймспейсы и папки до 3-х уровней вложенности) Делят ли так на практике и насколько маленькие проекты должны быть в результате?
>>991025 Ты хочешь получить ASII код символа, а для этого нужно взять какой-то символ строки и привести к int, например 1-й - (int)Console.ReadLine()[0]
(Правда на выходе будет unicode код символа и при вводе символа, не содержащегося в таблице ASII, он выведет код из unicode)
>>991066 где ты эту табличку рисовать собрался, дизигнер комнатный?
>>991133 разделение типов по нейспейсам и наборов логики по проектам людей останавливает только здравый смысл и (не всегда) адекватность. десятки проектов в солюшне и целая ива из внутренних поддиректорий - нормальное дело
Поясните про правила хорошего тона. Допустим я хочу разделить код длиной 1к строк на несколько файлов, раскидав методы по смыслу (например, одни методы на считывание в один файл, а методы по расчету в другой). Теоретически я могу создать классы, но нахрена мне инстансы этих классов с конструкторами и пр., если мне нужны только методы?
Так вот, как правильно разделить длинный код в шарпе?
Еще один вопрос от нуфага, который только разбирается с классами.
В методе, который прописан в каком-то классе, нужно обращаться к переменным через this.num или передавать в метод как обычно аргументы void function (int num) {} ?
АНАНАСЫ, пытаюсь написать простое CRUD приложение. база на SQL сервера готова, приложение на winforms, две формочки. чтобы не надо было заново вводить информацию для логина на сервер, сделал экземпляр класса с SqlConnection статичным. но какое-то это говно решение, думаю лучше будет сделать инфу для логина глобальной. вопрос как? инфа вводится с первой формочки(server,login,password,database).
Поля экземпляра класса по-хорошему должны быть обозначены, как private. В противном случае, любая залупа (классы, методы) могут обращаться к ним и менять их значения напрямую.
За это в конторах пиздят палками. Поэтому пишешь так:
class Worker { private string name; private int salary;
public Worker(String n, double s) { name = n; salary = s; } }
>>991352 В прикрепленном примере - в конструкторе используется this. , потому что salary уже объявлена, как передаваемая. => при обращении к salary программа будет работать с тем, что передали в функцию. В остальных методах this. опущен, но компилятор поймет, что ты обращаешься к полю и сам его добавит.
Через this. ты гарантированно обращаешься к полю/свойству/методу текущего экземпляра класса. Лучше избегать подобных конфликтов и не писать this для краткости и понятности кода.
>>991390 Нет, при вызове new int[] ты выделяешь новую память под массив в куче и numbers ссылается уже на неё. Старый массив соберет сборщик мусора. (Значения в массиве тоже не сохраняются, если что)
>>991465 А нет, нихуя. Этот способ судя по всему берет начальные значения текстбоксов при загрузке приложения, и даже если ты потом меняешь текст, то прочитать его нельзя, там пустое значение у свойства Text.
>>985689 (OP) Пытаюсь собрать проект в 10 студии и постоянно вылетает ошибка о прекращении работы resxtoresources exe и нихуя не собирается. В консоли resgen.exe exited with code 532459699, куча таких ошибок. Наставил уже пакетов просто до жопы, сервис паки к студии, куча фреймворков, саму студию разную качал пробовал - все одно.
До этого студит никакие не ставил, с .net можно сказать не работал. Что за хуйня? Как исправить? Гугл не помог, выручай анон, третий день не могу заставить эту хуйню работать.
>>992083 компилятор тут причем если он выполняет код в том порядке, в котором ты его наговнякал? судя по всему, у тебя катились включение при регистрации биндингов, да?
>>992045 С тобой все в порядке? Так-то я фронтенд и сейчас меня перекинули на огромную легаси црм ебанину, которой уже больше 10 лет, мне просто ее развернуть локально нужно, а все шарперы в конторе нарасхват. По делу есть что сказать?
>>991767 Спасибо. Немного переделал. Теперь две проблемы - черный экран в не закрывающемся окне, если закрывать окно сразу после вызова без отработки других функций, и поиск. Можно ли как-то сделать выбор поля Name по которому будет поиск в var query = db.Users.Where(u => u.Name == str).ToList(); или надо на каждое поле писать отдельный метод?
>>992223 в твоем случае даже для использования рефлексии тебе придется загрузить из базы всю таблицу, а потом пытаться отфильтровать. поиск по конкретно в полю упрется либо в отдельный метод для каждого из, либо создание COMPUTED колонки для таблицы с данными вида (PropertyName|Value)(Property...) или как-то так. но это не проще
ананасы, делаю CRUD приложение на формочках использую ado net. нужно сделать так, чтобы все изменения в dataGridView комитились в базу по нажатию кнопки или на ходу, НО названия базы и таблиц не захардкожены, то есть их вводит пользователь в рантайме. Как это сделать? Подключить какой-то особенный data source, я так понимаю. Но какой?
В общем повозился я со всем этим на линуксах и пришёл к выводу что это полная залупа. Куча костылей которые эмулируют виндовые утилиты и особенно выделяется нугет который ничего толком поставить не может. Придётся ждать пару лет пока доделают неткор, а авторы Monodevelop полноценную интеграцию с ним. Или пускай студию на неткор портируют. Говнецо на JS которое они выкатили (VS Code) использовать невозможно, про поделки Jetbrains вообще молчу.
>>992397 Только для неё нужен игровой компьютер, потому что Java абсолютно не подходит для тяжёлых графических приложений, но ничего другого эти макаки не осилили. Хотя вот Monodevelop написан на C# и вполне приемлемо работает на старом ноуте.
Кто-то может сейчас зайти по пкм на проекте и Add -> New Item, а потом выбрать слева Online и глянуть на список доступных в C# WPF? У меня вчера и сегодня все работало, сейчас понадобилось добавить кое-что и УЖЕ НИХУЯ БЛЯДЬ НЕ РАБОТАЕТ. Я погуглил, и у некоторых тоже такие проблемы http://stackoverflow.com/a/44010139/8022879
>>992517 Это такой толстый траленг? Я же сказал >пкм на проекте и Add -> New Item а не создать новый проект. У меня тоже есть темплейты проекта, мне нужны темплейты айтемов.
Ломаю чужой ехе и охуеваю. Через строку в коже конструкции вида: if (2 != 0) { } Это компилятор как то хитро "оптимизирует" код или это писатель постарался понаписать хуйни чтоб было сложенее понять что там происходит?
Где почитать/посмотреть про реализацию модульности в проекте? Хотелось бы разобраться, как это создаётся: есть одна базовая программа, но при желании к ней присоединяются модули (плагины?), а потом отключаются.
Шапка: https://github.com/CSharpShapka/SharpHat/wiki
Предыдущий тред: https://2ch.hk/pr/res/967207.html