Этого треда уже нет.
Это копия, сохраненная 11 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
81 Кб, 660x330
477 Кб, 900x568
.NET THREAD #∞ (C#/F#/VB) #985689 В конец треда | Веб
Продолжаем разговоры о наиболее близком к совершенству языке.

Шапка: https://github.com/CSharpShapka/SharpHat/wiki
Предыдущий тред: https://2ch.hk/pr/res/967207.html (М)
986077991816
#2 #985692
Вопрос глупый, но я новичок. Вот я нашёл нужную мне штуку в гитхабе. Кроме кода содержит .sln файл, т. е. это солюшн. Как мне этот солюшн подключить в свой?
985791985828
#3 #985791
>>985692
тебе надо проекты подключать, а не решение
11 Кб, 464x649
10 Кб, 801x141
#4 #985793
Я тут покусился на святое и уже целый час вот такое окно. Сколько оно ещё висеть будет?
985794985819985903
#5 #985794
>>985793
Кто не понял, это удаление студии. Не ведитесь на Установка.
#6 #985819
>>985793

>Удалять VS


Полностью ее удалить можно только отформатировав диск.
985875986682
#7 #985828
>>985692
Грубо: солюшн = набор проектов
#8 #985832
Сап, шарпач. Что почитать по многопоточности и асинхронке чтоб прям понять?
985866
#9 #985866
>>985832

>ООП-язык и там объекты с состояниями и семафоры и Interlocked


>Что же нам почитать о многопоточности-то, йобаннный насрать


Джо Армстронга почитай, Erlang-тред вон рядом -->>
#10 #985875
>>985819
В общем убил процесс и удалил через https://github.com/Microsoft/VisualStudioUninstaller/releases
#11 #985903
>>985793
Была такая же трабла. В итоге пришлось качать специальный удолятор студии.
#12 #985919
Допустим есть строка состоящая из hex:
str = "68 65 6c 6c 6f";

На нормальном языке там написано "hello". Так вот, как мне получить нормальную строку из этого? Чтобы было нечто вроде:
strNorm = str.ToNormalnayaStrokaBleat(str);
985927
#13 #985927
>>985919
из исходной строки тебе удел сотворить массив байт. это гуглится. а потом с помощью Encoding это все превращается в литерал
985928985929985931
#14 #985928
>>985927
удел = надо
лол
#15 #985929
>>985927
У меня есть байтовый массив. Я сюда пришел после гугления.
#16 #985931
>>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/ мне его конвертирует, а программа нет. Что не так?
985963985966
#17 #985963
>>985931
у тебя там аски символы? для ЮТФ8 аски символы не требуют двух байт, откуда там у тебя нули?
985967
#18 #985966
>>985931
попробуй UTF16 если у тебя аски 16 битные.
985967
#19 #985967
>>985963
>>985966
UTF8, но другая программа отдает с нулями. Удалил нули и все заработало, но теперь у меня в два раза больше массивов, некрасиво ( ̄ヘ ̄)
985971
#20 #985971
>>985967
в шарпе дефолтные кодек для юникода UTF-16. попробуй юзануть System.Text.Encoding.Unicode он должен схавать твое строку с нулями.
#21 #985982
У меня еще такой вопрос. Если я объявил переменную внутри for, то снаружи ее видно не будет? Как сделать, чтобы массив, размер которого я узнаю только внутри for, был виден снаружи?
985983
#22 #985983
>>985982
снаружи for обьяви переменную и она будет в нужной для тебя зоне видимости
985985
#23 #985985
>>985983
Но я не знаю размер массива, чтобы его объявлять. В том-то и суть!
985988
#24 #985988
>>985985
ты объяви переменую снаружи и юзай ее внутри цикла, после выхода из цикла, она все еще будет доступна на уровне зоны видимости метода.
985993
109 Кб, 1366x728
#25 #985989
Ананасы, что мне выбирать? Нужны asp.net, wpf, winforms, visual c++. Место ограничено.
985994
1 Кб, 169x33
1 Кб, 252x24
3 Кб, 458x27
#26 #985993
>>985988
Нифига. Первый пик - объявляю до цикла. Второй пик - определяю размер внутри цикла. Третий пик - пытаюсь пользоваться после цикла, выдает ошибку, что массиву ничего не присвоено.
Что не так?
206 Кб, 1366x728
#27 #985994
>>985989
вот такой джентльменский набор пойдет?
#28 #985997
>>985993
у тебя там точно нет путаницы между byte и Byte?
985999
#29 #985999
>>985997
Ты сам все видишь на скринах. И да, весь алгоритм работает, все переменные заполнены правильными данными. Но как только я пытаюсь получить доступ СНАРУЖИ к этому массиву, я получаю ошибку.

Но ты мне так и не сказал, как объявить безразмерный массив ПЕРЕД циклом, и как ВНУТРИ уже задать размер.
#30 #986003
>>985993
у тебя namelength в чем выражается?
986008
#31 #986006
>>985993
и какой кондишн для создания массива в цикле?
#32 #986008
Решил проблему. Так сложно было подсказать Byte[] member1Name = { }; вместо Byte[] member1Name;? Оказалось, что в C# можно менять размер массива с нуля до нужного на ходу.

>>986003
Угадай, лол. Инт конечно, что же еще
986014986016986031
#33 #986014
>>986008
попахивает кбепаньем говнокода.
986023
#34 #986016
>>986008
я на шарпе не пишу, но если это реально солюшн для твоего случая, то все с этим языком понятно.
986023
#35 #986023
>>986014
>>986016
Я как бы тоже не пишу на шарпе, но кроме нас тут никого нет, чтобы подсказать. Вполне возможно что и говнокод.
986031
#36 #986031
>>986008
скорее в твоем цикле из-за кривого условного оператора, массив никогда не создавался.
>>986023
Говнокод не из-за языка, а из-за того, что простые фундаментальные вещи не изучены. Нахера юзать массив если в цикле идет расчет количества элементов для него, тут напращивается список связанный юзать, а потом конвертить его в массив, и не ебать мозги.
986033986041
#37 #986033
>>986031

>список


У меня байтовый массив, я ебал вводить еще и списки с конвертацией, если это вообще возможно.

>скорее в твоем цикле из-за кривого условного оператора, массив никогда не создавался


Создавался и работал. Еще раз посмотри на скрины, третий пик если поставить в цикле, то все работает, а если снаружи, то нет >>985993
986034990881
#38 #986034
>>986033
третий пик я вижу строку из эдитора, это не вывод отладчика.
986036986041
#39 #986036
>>986034
Я сейчас пишу аналогичный упрощенный код, специально чтобы показать. Дай пару минут.
#41 #986050
Если в треде появятся эксперты, то велком >>986041
Два человека другого решения не нашли.
986056
#42 #986056
>>986050
Что там за гвоно? Код вижу, а в чем суть вопроса?
986063986067
#43 #986063
>>986056
Вопрос был в том, как назначить размер массиву внутри цикла/условия, чтобы снаружи к нему был доступ. Решение я нашел такое, как ты видишь в коде, но оно очень похоже на говнокод и другой анон с этим согласен. Проверяй, правильно ли выделяется память под массив и можно ли менять размер на ходу, как это происходит в коде.
#44 #986067
>>986056
проблема в том, что в шарпе byte[] gavno, не равняется byte[] govno = null. в первом случае компилятор говорит что пременной не существует, во втором все ок. Вот такой парадоркс.
986304
#45 #986077
>>985689 (OP)
Хочу предостеречь вас, СИШАРП это говно. Разбирать чужой код, ебашить свой это такая запара вы себе не представляете.
Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то.
Пока у вас есть время учитесь электрике, сварки, рисованию, а программирование уже не то, кодеров как собак нерезанных и хуй с ним свалишь за бугор если не гений (это не про двачеров).
С проектами на других языках получше обстоит дело, но тоже такое.
Хохлы и индусы демпингуют рынок, фриланс в 2к17 уже не работает.
Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе.
986102986107989069
#46 #986102
>>986077
Всё сугубо индивидуально, можно про любой язык так сказать. Лично мне .NET платформа нравится, всё лаконично, аккуратно, просто.
Разбираться в любом коде тяжело, если его даун писал. А в написанном по всем конвенциям просто сказка.
#47 #986107
>>986077

>учитесь электрике, сварки, рисованию


Батя уже научил. И вообще, лучше взаимодействию с людьми учиться.

>Хохлы и индусы демпингуют рынок


Хуйню сморозил. От укров уже отказываются, если не очень большие конторы, вроде ебама или ссыклума. А индусы не деемпингуют рынок, они САМИ являются рынком. Вспомни мелкомягких.

>Одно дело смастерить сайтик самому или по туториалам, другое дело разбираться и поддерживать написанное кем то.


Эскобар.жпер
А что есть создание по туториалам как не разбирательство в чужом коде? Разница, как по мне, в том, что в туториалах тебя за ручку, как в музее, водят, всё показывают и рассказывают. А поддерживаешь чужой код уже сам, у нищих слуг нет!

>С проектами на других языках получше обстоит дело, но тоже такое.


Нифига. Что в жабе, что в похапэ сейчас то же самое говно, что и сишарпе - куча макак, а те труъ-программисты, что есть, просят слишком много бабла.

Итого - ты сморозил хуйню.
0 Кб, 74x28
#48 #986113
Алсо, как заставить элементы работать с UTF8? Там в конце символ французский (наверное) умлаут ä с двумя точками сверху, но даже на такой простой символ шарп говорит мне отсосать.
986120
#49 #986120
>>986113
Используй запись в виде \u00E4 это твой ä
Например Console.WriteLine("\u00E4"); // ä
986124
#50 #986124
>>986120
Щас бы написать еще конвертер на это))
986132
#51 #986132
>>986124
Какой IDE используешь? Сейчас проверил, на 15 студии всё заебись.
986135986187
2 Кб, 93x48
#52 #986135
>>986132
Там был не именно немецкий символ, который я тут в тексте вставил, а какой-то другой.
986138
#53 #986138
>>986135
Ставь лучше студию. Привыкай сразу к хорошему.
#54 #986139
Ок, впизду, качаю VS.

А ведь я не хотел ставить гигабайты, ссссука.
986143986151
#55 #986143
>>986139
А кто хочет? Ебучие индусы в последнее время настолько охуели, что совсем софт не оптимизируют!
9 Кб, 441x182
#56 #986147
Ууууу ненависть
986151
#57 #986151
>>986139
>>986147
Студия очень тяжелая, ставить её также очень долго, вплоть до нескольких часов. Но оно того стоит.
986153986300986404
#58 #986153
>>986151
удалил, какой-то логин нужен, че это социальная сеть бля?
986154986155986158
9 Кб, 499x175
#59 #986154
>>986153
Ну не начинай, я только половину прошел. Что за логин?
#60 #986155
>>986153
Во-первых, залогиниваться необязательно. Это нужно для Azure.
Во-вторых, теперь ещё несколько часов устанавливать студию. Мучайся.
986157
#61 #986157
>>986155
я нажал не хочу, у меня все закрылось. запускаю, и опять все сначала.
986158
10 Кб, 438x191
#62 #986158
Не слушайте дурачка:
>>986157
>>986153

Я всё еще качаю. И да, я заебался еще 50% назад.
986162
#63 #986162
>>986158
ясен хуй, идиотов ищите дальше.
37 Кб, 695x433
#64 #986166
Первый запуск)))0
986169
#65 #986169
>>986166
Разбей ебло провайдеру за говно вместо интернета.
И себе тоже - за то, что такой дебил и нищеброд.
986170
#66 #986170
>>986169

>за то, что такой дебил и нищеброд


Вариантов нет, в моей мухосрани в западной германии есть только один провайдер.
986174
#67 #986174
>>986170

>в моей мухосрани в западной германии


И еще добавь себе же за то, что такой неудачник.
3 Кб, 287x117
4 Кб, 159x206
#68 #986187
>>986132

>Сейчас проверил, на 15 студии всё заебись.


Напиздел ты мне, ничего не работает, только зря ставил VS.
Байтовый код 42 61 67 67 EF, что равняется второй пикче.

Ну что, шарпаны, решение будет?
986191986231986454
#69 #986191
>>986187
Вот там код https://dotnetfiddle.net/#&togetherjs=6wd3d32SH8
Придумайте, как выводить французскую букву в текстовое поле.
986231986294
8 Кб, 534x192
#70 #986231
>>986187
Лол, я думал ты про IDE говоришь.
Скинь свой код, где ты конвертируешь.
Формы нормально с utf работают, см. пикрелейтед.
вот по ссылке сюда и скинь его >>986191
986294
#71 #986273
Есть строка типа string

string my = "МАМА ПАПА ЕСЬЖИ"

Как проверить каждое слово на совпадение (разделитель пробел) с файлом-словарем (построчно написаны слова)?

На выходу хочу получить вывод в сонсоль:

СОВПАЛО: МАМА
СОВПАЛО: ПАПА
НЕ СОВПАЛО СОВПАЛО: ЕСЬЖИ
986281986284
459 Кб, 352x240
#72 #986281
>>986273
Тебе надо расшевелить мозги и придумать алгоритм самому
Из инструментов это "операции со строками"
Я бы подумал, но мне лень. Надо ведь красиво придумать, а не ебнутый алгоритм типа
"Ага, начало строки, значит, начало слова. Считаем до пробела, сравним. Падажжи, а если знак препинания?"
986284986293
19 Кб, 393x393
#73 #986284
>>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
986295986310
#74 #986293
>>986281
Можно любой топорный аолгоритм.
Знаки препинаний исключены
Слово может быть одно (то есть без пробелов)

Спасибо! Не мог бы ты пояснить за 17 строчку

>string[] list = new string[]{"МАМА","ПАПА"}; // File.ReadAllLines("путь")



Для простоты вбей пожалуйста файл 1.txt (он будет рядом с экзешником)
986295
4 Кб, 1184x186
#75 #986294
>>986191
Ну и какой пидор вытер весь тестовый код с конвертацией пока я спал? Ебать, ублюдки. Теперь буду давать pastebin, сами компилируйте у себя.

>>986231
По ссылке и был мой, где я конвертировал, пока его не вытерли. И я же дал байтовый код, нахуй мне эти вручную прописаные буквы с бекслешем? Мне нужно конвертировать на ходу. Вот пастебин https://pastebin.com/fzekvCcf и на скрине результат компиляции.
986453
#76 #986295
>>986284
Проебался - это >>986293 адресовано и тебе :(
986453
#77 #986300
>>986151

>Студия очень тяжелая, ставить её также очень долго, вплоть до нескольких часов. Но оно того стоит.


Оно нихуя этого нес тоит. Сижу на 2010 с решарпером. Никаких проблем. Ставится мгновенно, весит мало. Ни единого разрыва.
22 Кб, 482x425
#78 #986304
>>986067
Гавно в данном случае ты.
Иди читай про область видимости переменных и всего, что с ними делаешь.
как дойдет, почему на скрине unassigned, приходи снова.
в любой книжке по любому языку программирования это упомянуто максимум в 3 главе[/sploier]
986306
#79 #986306
>>986304
ты че дурак? причем здесь область видимости?.
986307
#80 #986307
>>986306
Дурак в данном случае ты. В коде идет обращение к элементу по ииндексу. А теперь скажи мне, есть ли у null индексы?
986313
67 Кб, 848x747
#81 #986310
>>986284
Подправил и не работает :(
http://rextester.com/SXFYK29603
986312986314986453
#82 #986312
>>986310

>необучаемый


присмотрись к ошибке, что с чем сравниваешь в ифе?
986334
#83 #986313
>>986307
харош хуйню нести, сначала область видимости, теперь индекс. Ты прочитай о чем люди писали, а потом уже умничай.
986318
#84 #986314
>>986310
В голос.
#85 #986318
>>986313
Люди понаписали что у тебя говнокод. Мне непонятна задача. Если ты ее мусолишь на протяжении нескольких потов постоянно кидая линк на исходик, то захуярь в исходник комментарии с сутью. А так ты показываешь говно, и тебе отвечают, что это говно.
986319
#86 #986319
>>986318
https://dotnetfiddle.net/#&togetherjs=rMlV8O150l
вот PoC если закмоентить Byte[] member1Name = null; и раскоментить Byte[] member1Name;
то код перестанет работать. Это специфика говно языка. Объяви переменную, затем обязательно присвой значение, видимо для строк и интов индусы предусматрели значение по-умолчанию, а вот для массивов нет.
986321986331986337
#87 #986321
>>986319
И какое же значение должно быть по умолчанию для массивов, умник?
986323
#88 #986323
>>986321
очевидно что null, как во всех нормальных языках.
986326
#89 #986326
>>986323

>как во всех нормальных языках


Каких, например?
986329986332
#90 #986329
>>986326
возьми любой статический типизированный интерпретируемый язык, и там это правило всегда работает.
#91 #986331
>>986319
Ну чтож, начнем перечислять где ты хуй:
1 - индусы тут вообще не при делах. язык писали белые люди.
2 - если в твоих руках что то перестает работать, то проблема может быть в том числе и в тебе
3 - как уже написали ниже, какое значение по умолчанию может быть у массива?

картину топографического критинизма дополняет твой ответ. Да, значение null. Но ты берешь не просто сам массив, а его элемер со смещением [0] от начала последовательности, которая null. И кто снова хуй? Ты снова хуй.
Покажи мне язык в котором к неинициализированному массиву можно обратится с конкретным индексом и он не пошлет тебя на хуй.
986336
sage #92 #986332
>>986326

>как во всех нормальных языках


>любой статический типизированный интерпретируемый язык


топ кек
#93 #986334
>>986312
да я уже все перепробовал и переменную пробовал и line и строку
#94 #986336
>>986331
У тебя явные проблемы с фундаменталкой(поучи теорию языков программирования), а белый люди, который этот язык проектировали, кроме как индусами называться не могут.
В неинтерпретируемых языках значение по умолчанию не определено, в таких языках как си шарп, неинициализированная переменная это эксепшн в рантайме, а не в момент компиляции. Хорошая попытка анализа перед компиляцией, но нет это не работает.
986341
#95 #986337
>>986319
Читаю комментарии в твоем коде и мое лицо расплывается в улыбке.

>Дело в том, что шарп не может точно понять будет ли в результате выполнения цикла массиву member1Name присвоино какое-либо значение.


короче надо, чтобы 100% присваивалось какое-то значение, а в цикле оно может и не присвоится.

Вот тут у нас самый настоящий говнокод вышедшей из говноалогоритма. Нормальные люди, если подозревают, что переменная может не инициализироваться в некоем цикле или методе, добавляют проверку на null перед работой с этой переменной. Это считается правильным. Ты же строишь цикл в котором переменная не инициализируется (присвоения значения null это так себе инициализация) и удивляется что компилятор тыкает тебя носом в потенциальную необработанную ошибку.
Да да конечно, не тот язык, не те разработчики не тот программач. Ну так мы тебя не держим.
986338986342986453
#96 #986338
>>986337
эти комментарии писали 5 человек, когда смотрели код.
986344
#97 #986341
>>986336

>поучи теорию языков программирования


Мне некогда учить теорию, мне достаточно практики. Пока мои программы работают и я получаю за это зарплату мне позуй и на теорию и на индусов. А ты можешь читать что угодно. Будет на одного диванного теоритика больше.
986355
#98 #986342
>>986337
ты можешь объявить переменую с массивом, назначить ей нуль потом обратиться к ней по индексу и это компилятор схавая и упадет при запуску с нул рефренс эксепшеном. Так почему же тут он не остановил компиляцию?
#99 #986344
>>986338
Это комментарии по втей ссылке, значит ПО УМОЛЧАНИЮ они твои. И ты ПО УМОЛЧАНИЮ ХУЙ. Видишь как это работает?
986347
#100 #986347
>>986344
Ебать ты даун, там большая часть комментариев не его, и код не его.
мимоавтор того поста со ссылкой, который не принимает участия в сраче
986351
#101 #986351
>>986347
Да все вы там дебилы, чего уж там.
Смирись.
#102 #986355
>>986341
я подозревал, что в шарпе коммюнити состоит в основном из быдла и недоучек. Многое подтверждается.
986359
#103 #986358
Есть TextBox, в который попадает русский текст в неправильной кодировке ("?@825B" вместо "привет")

Как по нажатию на кнопку сменить эту кодировку в читабельный вид?

Выяснил лишь что это ASCII, а для читаемости надо ISO-8859-5
986362986453
687 Кб, 1503x1080
#104 #986359
>>986355
Сказал человек использовавший переменную до инициализации.
986361
#105 #986361
>>986359
ты такой же тупой, как и компилятор си шарпа, вместо того, чтобы посмотреть ниже и найти присвоение, вываливаешь говно на стол.
986367
#106 #986362
>>986358
Тебе надо именно перекодировать тот текст что уже в текстбоксе? Не проще ли сразу считать в правильной кодировке?
986363
#107 #986363
>>986362
Именно перекодировать

работаю с байтами вообще пиздец полный
986370
141 Кб, 660x440
#108 #986367
>>986361

> присвоение


> var = null

986369
#109 #986369
>>986367
как там в мухосранске, совсем скучно, каждый день говно ем, а тут такой случай потролить о хуйне.
986371986372
#111 #986371
>>986369
Указывать человеку на его ошибки ни есть троллинг.
986375
#112 #986372
>>986369

>каждый день говно ем


Бедняжка.
#113 #986375
>>986371

>на его ошибки


Показывай решение, той проблемы, где нет таких ошибок.
автор
986376986380
#114 #986376
>>986375
Репетиторство платно, деньги вперед.
986378986384
#115 #986378
>>986376

>другого решения нет


Что и требовалось доказать.
#116 #986380
>>986375
Решение номер раз:
var hui = new hui();
Переменная инициализирована и готова к приключениям.

Решение номер двас:
if (hui != null)
Вот только в этом случае что то делается. Что было с переменной до этого пообще похуй, компилятор ругаться не станет.
986381
#117 #986381
>>986380
У меня байтовый массив, повтори это для него.
986383
#118 #986383
>>986381
Byte[] member1Name = null;
for (int i = 0; i<99; i++)
{ member1Name = null }
Console.WriteLine(member1Name ?? "Ты хуй!" : member1Name[0]);
986386986392986397
#119 #986384
>>986376
за что тебе платить то? ты даже суть проблемы не понял. так что лучше пожри говна, пока сеньоры общаются.
#120 #986386
>>986383

>Byte[] member1Name = null;


Так и сделано в примере.
986388
#121 #986388
>>986386
В глазки долбишся?
986390
1 Кб, 199x30
#122 #986390
>>986388
Так и сделано в примере с самого начала.
986391
211 Кб, 552x414
#123 #986391
986394
#124 #986392
>>986383
вопрос .

>>Byte[] member1Name = null;


вначале. почему нельзя просто
Byte[] member1Name;
?
986393
#125 #986393
>>986392
Можно. Орфография автора была сохранена.
986396
#126 #986394
>>986391
Вопрос стоял в объявлении до того, как узнаешь размер, а не в использовании массива. Так что тут еще как посмотреть, кто тупой.
986395
#127 #986395
>>986394
Тупой снова ты. Нельзя объявить массив не зная размера. Либо ты создаешь переменную, которой потом присваиваешь массив, либо ты хуй неумеющий в программирование.
986397
#128 #986396

>>>986393


а вот и нельзя. компилятор начнет выебываться, что переменной нет.
986398
#129 #986397
>>986395

>Нельзя объявить массив не зная размера


>сделал это сам вот здесь >>986383

986398
#130 #986398
>>986396
В данном конкретном примере ничего не изменится. Но ты можешь еще попритягивать за уши свои фантазии.
>>986397
Кто сделал? Что сделал? Давай свой аргумент, а я пока поищу картинку со смеющимися няшками.
986399
#131 #986399
>>986398
нельзя просто обьявит Byte[] member1Name; об этом и был весь срач выше, я же говорил, что ты даже суть проблемы не уловил
986400
#132 #986400
>>986399
Ну ты так охуенно объясняешь, что сути не видно. Но в чем проблема то? Объявить переменную можно когда угодно. Можно целый метод запилить возвращающий массив байтов и присвоить его результат переменной. Что тебя так беспокоит то?
#133 #986402
Помогите с кодировкой.

string govnotext = "@825B" // Привет

Как мне его превратить в нормальный читаемый вид?
986403986453986521
#134 #986403
>>986402

>govno


Опять ты?
986409986450
#135 #986404
>>986151
В 17 студии хорошо зделоли, там можно не качать гигабайты, и возможна минималистичная установка.
986405986406
#136 #986405
>>986404
Не знаю как сейчас, но в RC был тормозящий лагодром. который сперва 20 минут трещал диском, потом начал что то докачивать из интернета и только сожрав 7 гигов предложил что то выбрать.
#137 #986406
>>986404
тока проблема, убогую десятку не хочу ставить.
#138 #986409
#139 #986412
Как ивент у главного окна должен быть, чтобы событие повторялось через какое-то время?
986430
#140 #986430
>>986412
Наркоман что ли? Таймеры юзай.
986434
52 Кб, 729x133
340 Кб, 655x847
#141 #986433
Как это ебола делается?

https://pastebin.com/cGhMDwhz тут то что я уже наделал в задачке.
#142 #986434
>>986430
Какие таймеры? Помню в глубоком детстве, когда я только начинал в вижуал бейсике, там был элемент, который я перетягивал на форму и у него уже были ивенты. А тут я такого элемента не вижу, поэтому и спрашиваю.
986436986501
#143 #986436
>>986434

>там был элемент, который я перетягивал на форму и у него уже были ивенты


И назывался он Timer
#144 #986439
>>986433
Автопроперти юзай чтоле, 2k17 всё таки.
#145 #986445
>>986433
Что тебе нужно то? У тебя мейн пустой, что тебе в него вписать то надо?
#146 #986450
>>986403
бамп
986451
#147 #986451
>>986450
хуямп
никак
986452
#148 #986452
>>986451
Чому?
#149 #986453
Блять ну и срач развели, я охуел. Вот мудель всё засрал тут!
>>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
Ты хоть начни делать, а потом вопросы задавай. За тебя тут лабы делать никто не будет.
986454986487987081
77 Кб, 1366x493
#150 #986454
Продолжаю пытаться в http запросы.

Ссылка http://eu-bns.ncsoft.com/ingame/bs/character/data/abilities.json?c=pisos возвращает контент в браузер за 54мс.

Та же ссылка, но с client.GetStringAsync(http://eu-bns.ncsoft.com/ingame/bs/character/data/abilities.json?c=pisos) возвращает контент в переменную за 4 секунды. Прокси выключены UseProxy = false.

Как починить сломанные нахуй http запросы в C#?

>>986453

>Сверяйся тут http://www.fileformat.info/info/unicode/char/00ef/index.htm


ЛОЛ. Ты понимаешь, что эти байты мне отдает другая программа, я их не пишу лично? И тот символ имеет байтовое значение 0xEF, смотри второй скрин >>986187
986455
#151 #986455
>>986454
В таком случае ты получаешь не в utf-8 а в utf-16
После после каждого полученного байта вставляй 0 и будет тебе счастье.
https://dotnetfiddle.net/aKlFs9
986458
18 Кб, 679x315
#152 #986458
>>986455
Писечка в том, что в шарпе нет Encoding.UTF16 такой кодировки.
На самом деле я решил проблему еще вчера и написал новый код с комментариями от своего имени, но всё это кто-то стёр. Правильная кодировка это Encoding.GetEncoding("ISO-8859-1"), так что эту тему можно было бы закрыть еще вчера.
986464
#153 #986464
>>986458

> ISO-8859-1


лол, так чего сразу не написал то?
Алсо, есть там utf-16: Encoding.GetEncoding("UTF-16")

>Продолжаю пытаться в http запросы.


Один экземпляр WebClient не поддерживает параллельные запросы.
Гугли HttpWebRequest, HttpWebResponse это более нативная хуйня

Не мешало бы тебе скинуть код посылки запроса. Вангую ты каждый раз WebClient создаёшь.
У меня client.DownloadStringAsync и client.DownloadString работают примерно одинаково - 150-250мс
986467
#154 #986467
>>986464

>лол, так чего сразу не написал то?


Ну так я и не знал. Как разобрался, так сразу и поменял код. А потом кто-то его удалил.

>Один экземпляр WebClient не поддерживает параллельные запросы.


Нет, у меня не вебклиент, а это:
var httpClientHandler = new HttpClientHandler { UseProxy = false };
HttpClient client = new HttpClient(httpClientHandler) { MaxResponseContentBufferSize = 1000000 };

Клиент и правда каждый раз создаю, но проблема в том, что у меня постоянное обновление, я пока еще не придумал, как создать один раз и передавать.

Алсо, эта проблема решена. Я проебался и у меня на прокси стояло true вместо false.
986470
#155 #986470
>>986467
ну тогда заебись
А документ я и потёр, но там мясо было, никаких решений.
986472
12 Кб, 758x180
#156 #986472
>>986470
Объявил клиент глобально - отсосал у отладчика. Локально все работает. Комиляция без ошибок.
#157 #986487
>>986453

>кидай код получения текста.


http://rextester.com/YETR72168
Это стеганография, получаю текст, спрятанный в последние два бита пикселей.
986490
#158 #986490
>>986487
Понятно, особо не повторишь.
Изображение у тебя в каком формате? не jpg хоть?
986492
#159 #986492
>>986490
ниит - так как я могу сменить кодировку?
986493986494
#160 #986493
>>986492
Получать байтовый массив и конвертировать его в любую кодировку https://dotnetfiddle.net/aKlFs9
986521
#161 #986494
>>986492
Я не о кодировке, а о формате изображения.
986511
#162 #986498
Async это какой-то ебаный костыль, который не даже отдебажить не выходит!
986502
#163 #986501
>>986434

>в глубоком детстве,


А потом он забыл, что такое область видимости переменной, и решил посрать на всех на дваче )

Нету в си шарпе визуального компонента таймер с событием. Но есть нечто другое, менее визуальное.

Но для начала таки с областью видимости разберись, ага )))
986503
#164 #986502
>>986498

>который не даже отдебажить не выходит


Потому что теория си шарповых тредов - это 20 страниц умного текста. Тут в мозг нужно уметь думать, а не изо рта срать.

Тебе помочь погуглить, дочка?
986503
#165 #986503
>>986501

>ага )))


>>986502
Госпаде, какие же все-таки дауны сидят в /pr, у которых пелена обиды застилает глаза. Иди чини детектор, можешь даже погуглить что это такое ))), я не писал про области видимости и прочее.
986509
#166 #986509
>>986503
Вернись в /го/тред.
986512
#167 #986511
>>986494
любой!
Без сжатия
пнг например, а что
#168 #986512
>>986509
Отъебись от меня, даун. Зарепортил.
30 Кб, 492x612
64 Кб, 740x198
#169 #986516
Вот что я наделал за это время, >>986433-кун
Как оказалось я кусок задания не написал(класс Person). Но это мне не сильно помогло.
Как я понимаю у меня нихуя не работает Employee для доступа к полю со списком работников.
Впрочем походу неправильно работает и сам Employee, два раза выдает результат(обведено)
Так же не работает список работников (пустой)

Так же не понимаю как делать это.
1. свойство типа Person (только с методом get), которое возвращает ссылку на рабочего с самой ранней датой приема на работу; если список рабочих пустой, свойство возвращает значение null;
2. индексатор булевского типа (только с методом get) с одним параметром типа Form; значение индексатора равно true, если значение поля с информацией о правовой форме совпадает со значением индекса, и false в противном случае;
3. метод void AddEmployee(params Employee[] employees) для добавления элементов в список рабочих;

В main я вроде как сделал пункты 4.1 и 4.3, но насчет последнего не уверен.

https://dotnetfiddle.net/Au0rS1 <-мой код.
986519986591
#170 #986519
>>986516

>Так же не понимаю как делать это.


Что конкретно ты непонимаешь? Опиши своими словами что ты хочешь от нас?
986557
#171 #986521
>>986493
Сложно. Предложи мне костыль, который переконвертирует уже готовую запись вот тут >>986402
#172 #986522
>>986521
Не предложу, пока ты не покажешь функцию, в которой ты получаешь "@825B". Не с клавиатуры же ты вводишь "@825B", да?
#173 #986523
>>986521
Сорян, не увидел, что ты уже выше бросал код.
#174 #986524
>>986521

>Предложи мне костыль, который переконвертирует уже готовую запись вот тут


Костыля нет. Что бы знать во что конвертировать нужно сперва узнать из чего конвертировать. Этот исходный текст у тебя в какой кодировке?
986671
#175 #986525
>>986521
Предположу, что код у тебя неверный, вместе с функцией reverseBits. Переделывай пошагово начиная с 25 по 56 строки http://rextester.com/YETR72168
986547986671
#176 #986547
>>986525
двачую
986671
#177 #986557
>>986519
1 я понимаю что нужно делать с помощью DateTime.MinValue, но постоянно пишет что невызываемый член не может использоваться как метод, либо что не существует в данном контексте
У остальных пунктов аналогичная ситуация, я их начинаю (public Form this[int index] и public void AddEmployee(params Employee[] employees) соответственно), а дальше здоровенный хер на весь экран. Гуглеж не помогает, всё что нахожу абсолютно не похоже на то что я делаю.
986584
#178 #986584
>>986557

>1 я понимаю что нужно делать с помощью DateTime.MinValue


Давай непонимать вместе. Нахзуя тебе вообще сдался DateTime.MinValue? Не видел у тебя в задаче зачем он нужен.

> (public Form this[int index] и public void AddEmployee(params Employee[] employees)


Эта строка представляет собой какой то пиздец. Не знаю что ты ими хочешь описать но думаю, что хер это один из возможных результатов.

Я так и не понял что у тебя неполучается. Если ты не выучил синтаксис языка, но уже надо решать на нем задачи, то я могу только посочувствовать.
986586
#179 #986586
>>986584

>Нахзуя тебе вообще сдался DateTime.MinValue?


>с самой ранней датой приема на работу


А это разве не через неё делается?
986621
#180 #986591
>>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]
#180 #986591
>>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]
986726
#181 #986621
>>986586
Объясни человеческим языком что ты соброался через нее делать.
986622986726
#182 #986622
>>986621

>Объясни человеческим языком что ты соброался через нее делать.


Он хочет найти рабочего с самой ранней датой приема на работу.
Думает, если вызвать DateTime.MinValue то магические гномики сделают, что нужно.
986726
#183 #986630
Сап, шарпач. Короче, есть 9 NUnit тестов, когда запускаю все сразу, 3 из них не проходит, при этом выдает вообще какие-то хуй пойми какие значения, после этого запускаю непройденные еще раз по одному и все ок. В чем проблема? Мб какое ограничение на время выполнения тестов?
986638
#184 #986638
>>986630
поди setup/teardown хуёво написан.
21 Кб, 1244x384
#185 #986671
>>986524
Пикрелейтед

>>986525
>>986547
Но в чем вы узрели ошибку? Я понимаю, что могут быть ошибки - но программа работает, причем корректно. Не понимат
986680
#186 #986674
Как написать в консоль без перехода на новую строку?
986680
#187 #986680
>>986671
Часть байтов у тебя похерилась.

>>986674
Console.Write("хуй")
Вот так сюрприз, да?
986683987071
#188 #986682
>>985819
АЪАЪАЪАЪЪАЪ
Проиграл как ебанутый. Это что, правда?
986719
#189 #986683
>>986680
Дело в том, что с английским текстом у меня нет проблем, они только с русским. Поэтому исклчена потеря байтов. Через онлайн декодеры я без труда меняю кодировку и получаю свой текст, т.е. проблема исключительно в ней. Неужели нельзя перевести кодировку уже полученного значения в перменную?
986684
21 Кб, 759x220
#190 #986684
>>986683

>Через онлайн декодеры я без труда меняю кодировку и получаю свой текст


Но на скрине я не вижу ПРИВЕТ, а вижу РИВЕТ, значит первый байт похерился. Ну лично я это так вижу.

Насчет кодировки, можно конечно. Вот на скрине один из вариантов. Только свои кодировки выбери.
986685
#191 #986685
>>986684

>Пик


именно это решение я применял - оно почему то не сработало.
986747
22 Кб, 1256x390
ДА ПОЧЕМУ НЕ РАБОАТЕТ #192 #986686
Encoding ascii = Encoding.ASCII;
Encoding iso = Encoding.GetEncoding("ISO-8859-5");

byte[] asciiBytes = ascii.GetBytes(myText );
byte[] isoBytes = Encoding.Convert(iso, ascii, asciiBytes);
myText = iso.GetString(isoBytes);
986748986871
#193 #986719
>>986682
Ну ещё можно скачать uninstaller для студии, но есть мнение, что проще диск форматнуть.
#194 #986726
>>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;
}

>>986622
>>986621
Да, я думал что всё так просто.
986745
#195 #986745
>>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, там сказано добавить автореализуемые свойства, у тебя же наоборот.
986866
#196 #986747
>>986685
а кодировки хоть свои подставлял? Там то uft8 и 8859-1
Скинь фразу как массив байт, я посмотрю. Когда вставляешь в пост кодировке идёт по пизде.
986748
#197 #986748
>>986747
провафлил пост >>986686 вот myText побайтово и скинь.
986871
#198 #986866
>>986745

>Алсо посмотри свой пункт 2, там сказано добавить автореализуемые свойства, у тебя же наоборот.



public bool this[Form f]
{
get
{
return this.FormForm == f;
}
}

Так?
986897
#199 #986871
>>986748
У меня нет возможности это скинуть, нужно конвернуть уже готовый текст в кодировке ASCII
Как на картинке >>986686 , только в моей программе
986872
#200 #986872
>>986871

>У меня нет возможности это скинуть


Толсто.
986881
#201 #986881
>>986872
Рили, там много кода, и ты скорее всего пошлешь меня с ним
986885
170 Кб, 482x369
#202 #986885
Это снова я. Решил отчитаться в треде, раз уж задавал много вопросов.

Дописал свою тулзу. Она считывает инфу по группе (количество, имена, состав) из памяти запакованной ММО, потом по именам парсит инфу с сайта, потом считает рейтинг и выдает это все в красивую WPF формочку. Работает только с 64битным клиентом, но если не будет лень, то допишу и для 32битного. Я считаю, что вышло неплохо, учитывая, что в шарп я закатился несколько дней назад.

>>986881
Ты не код показывай, а вот эту строку:
string byteMyText = BitConverter.ToString(myText);
Чему равняется byteMyText ?
986900986944988343
#203 #986897
>>986866
пункт 2 вот тут >>986433
загугли автореализуемые свойства
986923
#204 #986900
>>986885

>из памяти запакованной ММО


Жди бан по hwid

>Работает только с 64битным клиентом, но если не будет лень, то допишу и для 32битного.


Память ведь у всех такая разкая.
986925
29 Кб, 937x531
#205 #986923
>>986897
То есть вот так? А обведенное вообще нужно там тогда?
986936
#206 #986925
>>986900

>Жди бан по hwid


Совсем дурачок? Игра работает себе отдельно, моя тулза только читает память, никаких длл инъекций. Кроме того, это далеко не первая программа, которая читает память этой игры без последствий.

>Память ведь у всех такая разкая.


Ну вот куда ты лезешь, тварина? Для начала иди разберись в вопросе, а потом пытайся умничать. Да, разная, у 32 свои оффсеты, у 64 свои.
986937
#207 #986936
>>986923
Да так, там где конструктор вместо _pers, _position, _work надо уже поставить имена свойств, а сами поля _pers, _position, _work удалить.
Вообще не вижу у тебя в задании свойства Year, если его там точно нет или я провафлил, то удаляй.
987018
#208 #986937
>>986925
Не обращай внимания на залетного долбоеба.
Заебись сделал, алсо, какую библиотеку для работы с памятью юзал?
986989
#209 #986938
Почему по F# в шапке на гитхабе ничего нет, хотя в шапке треда по F# написано?
986994
6 Кб, 514x65
#210 #986944
>>986885

>string byteMyText = BitConverter.ToString(myText);



У меня результат получается исходня из результата кучи проходов и циклов - я не могу (хз как) предоставить теперь набой байтов.

Как уже РЕЗУЛЬТАТУ сменить кодировку?
986946986963
#211 #986946
>>986944
Без набора байтов 100% никак. Учи с#, сириусли, ты неправ.
986951
#212 #986951
>>986946
почему? Я ведь пропускаю результат через онлайн сервисы - и получаю нормальную кодировку. Неужели программно это не запилить.
986960
#213 #986960
>>986951
Сайт тоже сначала берет байтовое значение, лул.
986963
#214 #986962
дващ, есть варианты определить абракадабру в строке?
#215 #986963
>>986960
исходя из моей строки? Тогда почему >>986944
не сработало?
#216 #986989
>>986937
VAMemory. Но оказалось, что она не умеет определять BaseAdress приложения в 64битах, так что тут использую нативную функцию.
#217 #986994
>>986938
По той же причине, что и VB.NET, PascalABC.NET, Delphi.NET, J++, CLR\C++ и проча и прочая.
987017
#218 #987003
БЛЯТЬ КАК СРАВНИТЬ В УСЛОВИИ В СИШАРПЕ
СТРИНГ НЕЛЬЗЯ ИНТ НЕЛЬЗЯ А ЧЕ МОЖНО Т ОБЛЯТЬ


Operator '<' cannot be applied to operands of type 'string' and 'int'
987007987008
#219 #987007
>>987003
а как ты собрался сравнивать слово огурец и число 778?
#220 #987008
>>987003

> НЕ МОГУ СРАВНИТЬ ХОЛОДНОЕ С КРУГЛЫМ


Приведи их к одинаковым типам.
13 Кб, 424x372
#221 #987009
Анон, помоги нубасу. Пилю в виндоус форм одну задачку с счетчиком. В цикле запилил, чтобы счетчик менялся после каждого шага.

На деле же у меня прога тупит тормозит и в конце мне в счетчике выдает прошедшее кол-во шагов. Как сделать чтобы счетчик плавно увеличивался в самом цикле?
987020
#222 #987017
>>986994
Нахуй это говно. F# заслуживает внимания.
#223 #987018
>>986936
Year там нет по заданию, так что я его удалил.

https://dotnetfiddle.net/KOecU5 в общем тут то что я уже написал в main.

Только вот в первом пункте в var org1 = new Organisation("Васильки",1,Form.OAO, ?); на месте знака вопроса должно быть свойство типа Employee[], т.е. список сотрудников. И я не понимаю как его там объявить.

И пятый пункт не могу вкурить. А остальное я в принципе сделал. Хотя сомневаюсь в правильности написания new DateTime(12, 12, 1990) в 4 пункте.
987028
#224 #987020
>>987009
Application.DoEvents()
Ну или делать вычисления не в ui треде.
987025
#225 #987025
>>987020
Спасибо, заработало. Алсо буду очень признателен, если пояснишь за второй пункт. Я только учусь, вычисления надо делать где то в другом месте?
987038
#226 #987028
>>987018
DateTime не правильно. Сначала год, потом месяц и затем день.
массив создавай
Employee[] emps = new Employee[1];
emps[0] = someEmp; // someEmp - работник твой
var org1 = new Organisation("Васильки",1,Form.OAO, emps);
987045
#227 #987038
>>987025
Можешь про BackgroundWorker почитать.
19 Кб, 740x327
10 Кб, 670x380
#228 #987041
Привет, анончик. Ебусь с винформ. Расскажи как я могу LPWSTR засунуть в textbox или LabelBox? Или расскажи куда я могу эту шляпу засунуть? Нужно сделать список (сетевых дисков) а в NETRESOURCE Localname хранится в LPWSTR. Буду очень благодарен. Прикрепил скрин части кода где оно должно быть и скрин формы(сам не знаю зачем).
987054
23 Кб, 472x669
#229 #987045
>>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);? А то он в программе его не показывает.
#230 #987054
>>987041
Выручи, анончик.
#231 #987071
>>986680

>Console.Write("хуй")


Не работает - все равно на новую строку переносится
987086
#232 #987075
Поясните без тралленка. Зачем вам шарп, если в России/Украине его не юзают, фриланса на нём нет, разве что асп.нет. Но для серверных технологий есть варианты получше.
#233 #987081
>>986453

>Ты много ерунды налепил, дружище. Надо подучить основы.


>Вот так должно быть http://rextester.com/TXYCI17007 добавил комменты для тебя



ниработает
987087
#234 #987082
>>987075
лабы делаем
#235 #987083
>>987075
За тем, что на него хуй найдешь людей, соответственно ЗП выше.
987090
#236 #987086
>>987071
Проблема втебе. Код покажи.
987088
#237 #987087
>>987081
Сорян, забыл файл в utf8 перевести
#238 #987088
987139
#239 #987090
>>987083

>хуй найдешь людей


Но их никто не ищет.
987161
#240 #987139
>>987088
Ну и uгде там Write?
987155
#241 #987155
>>987139
бля ну удали 8 букв чо те жалко?
987245
#242 #987161
>>987090
Мы ищем. И не находим.
987164
#243 #987164
>>987161
Кто это мы? Меня бы взяли? Я вон выше программку написал.
987166987216
#244 #987166
>>987164
Мы это продуктовая компания в мухосрани-миллионнике. Не взяли бы, нужны люди с опытом от 5 лет. Джуниворы не создают добавочной стоимости, к сожалению. Легче переучить джависта.
987214
sage #245 #987214
>>987166

>мы ето прадуктовая компания


На аващебазе адин-асс для прадуктафф праграммируиш. Скока репы и лубка для лаптей завезли а скока спидораны купили ббггее. А ишшо и нада учесць скокмо спиздили тетки-сраки и васяны хех. Ай-ай тяжилов баю бббггее.
sage #246 #987216
>>987164

>вон выше программку написал.


cпидорылый выбрасил чээлендж ффсей иво сранай жисти. и аккаплишт иво ббггее. ну фсе, жизнь пражита низря, и бегут-бегут офферы из мелкасофта с характерными зокарючками аж самаво балмира ббггеее.
#247 #987224
>>987075
Ещё 3, бля уже 4 года назад работал в одной веб-конторе с весьма богатыми клиентами, где 90% проектов было сделано на .net, кстати ПХПшников и C#-хуесосов было поровну, только первые, как мне тогда казалось, много выёбывались и ничего не делали. Ну это специфика внутри одной конкретной компании, так что не показатель.

Кстати, как только ебанул более-менее вменяемое портфолио из пары проектов на шарпе стал получать еженедельно предложения. Но это всё, повторяю, инфа 4х летней давности, я давно шарпом не занимаюсь, зашёл чисто с ностальгией сюда.
9 Кб, 540x179
3 Кб, 356x106
#248 #987229
Сап pr. Есть две формы. На одной из них я вызываю метод другой формы который должен менять на ней свойства объектов этой формы, однако ничего происходит. Подскажите в чем может быть проблема, пожалуйста.
987231987232
#249 #987231
>>987229
В том, что ты реализуешь бизнес-логику в интерфейсе?
А вообще у тебя точно ретурн выше не дропает раньше? Исключения в трае не вылетают? Пройдись дебаггером и посмотри.
987233
#250 #987232
>>987229
Алсо, это у тебя & или &&? Ты ведь в курсе что первое это битовое и?
987234
#251 #987233
>>987231
Да какая бизнес логика. Я для себя пишу приложение для работы с VK API. Там все проходит. В том то и дело. Close() срабатывает, а тот метод ничего не делает с основной формой.
987248
#252 #987234
>>987232
А, вот еще. Как закрыть окно формы из backgroundworker'а?
987249
#253 #987245
>>987155
И нахуя ты мой код скинул?
Вот тебе http://rextester.com/UGCL27224 и что?
#254 #987248
>>987233
потому, что
var mf = new MainForm();
Создаёт новую форму, у которой ты потом авторизуешься и вызываешь метод. После чего закрываешь.
Вангую у тебя уже открыта форма, а ты создаёшь новую. Если так, то тебе нужно получить ссылку на открытую форму.
987252
#256 #987252
>>987248
Как?
987253
#257 #987253
>>987252
Синглетон например
Либо передавать ссылку на вторую форму при создании первой через конструктор
987254987255
#258 #987254
>>987253

> Синглетон


Синглтон
#259 #987255
>>987253
Я ньюфаг. Рассказывай как передавать ссылочку:3
987257
#260 #987257
>>987255
Я же не телепат, зависит от того где и как ты обе эти формы создаёшь. Без твоего когда тут никак.
Универсальный же метод это паттерн синглтон
https://metanit.com/sharp/patterns/2.3.php
987258987260
#261 #987258
>>987257

> когда


кода
#262 #987260
>>987257
У меня есть две формы. Одна скрытая. Показывается при нажатии на кнопку на другой форме. Я хочу, чтобы когда я совершал какое-то действие на открытой форме у меня менялся допустим текст у лейбла на той первой форме с кнопкой
987278
#263 #987278
>>987260
Код обоих форм в студию. Я же говорю, не могу ничем помочь на СЛОВАХ.
987351987352
#265 #987352
>>987278
Вторая форма MainForm.cs
#266 #987563
>>987351
Уже сам сделал. Долго отвечали :с
113 Кб, 1032x797
#267 #987629
Сколько видел разных IDE, нигде нельзя сделать из кода такую радугу, как в MonoDevelop. В редакторе колорсхем больше сотни конструкций, но сами авторы это не используют, по умолчанию настроена минимальная подсветка
#268 #987679
Как правильно открывать, закрывать и получать значения из второй формочки в WPF (типа "диалог" настроек для программы)?
26 Кб, 281x94
#269 #987716
Что это за конструкция?
987736
#270 #987736
>>987716
Свойство
987802
#271 #987802
>>987736
Спасибо, братиш, от души
154 Кб, 1200x818
#272 #987956
Аноны, а что, правда, что в России нет работы для C#?

Я мне ещё два года учиться, но специальность с программированием связано слабо.
Как язык шарп очень понравился он у меня первый после паскаля. Разумеется, остановливаться на нем одном не буду, но.. Вдруг я чем-то бесполезным занимаюсь
987957987959988035
#273 #987957
>>987956
Как нет работы, если C# по программе вузов и колледжей есть?
Хотя, может от этого и нет
#274 #987959
>>987956
Заходишь на hh и смотришь.
82 Кб, 736x736
#275 #987974
Как отделасться от ощущения игрушечного скучного языка?
987975
#276 #987975
>>987974
Перестать программировать на Java.
987986
#277 #987986
>>987975
Java побрутальнее будет. После C++ и Rust такое ощущение, что я пишу на PHP, хотя и тот должно быть посложнее окажется.
987989987991
#278 #987989
>>987986

>побрутальнее будет


Ну хз. Мне Java вообще показалась какой-то детской игрушкой для обучения детсадовцев программированию. Даже PHP сегодня имеет больше всяких фичь.
70 Кб, 1015x391
#279 #987991
>>987986
Интересно толкование слова брутальный по отношению к яп.
Чтобы сравнивать два разных языка нужно быть тем еще долбоебом, так что скорее ты просто зелень, посему укатись в свой java тред и не сри в нашем.
Пикрелейтед эпичный тред, который я даже схоронил
#280 #987996
>>987075

>России/Украине его не юзают


Да неужели? Овердохуя ваканский в дс с тобой не согласятся.
#281 #988000
Как из Regex достать несколько значений?

var matches = Regex.Matches("(.)(.)", "ab")
string a = matches[0]
string b = matches[1]
988001
#282 #988001
>>988000
Так, нашёл Match.Groups
#283 #988020
Анончик, а чем вообще шарпшики занимаются? А то говорят перспективная хуйня это все
988026
#284 #988026
>>988020
Asp.net
#285 #988035
>>987956
Откуда вы блядь лезете...

Начнем с того, что програмист должен уметь писать алогоритмы программ, а не знать наизусть все операторы конкретного языка. В нашей стране тебя могут послать разбираться в чужом пхп коде, даже если у тебя короче джавапрогера. Тыжпрограммист.
Шарп дохуя похож на джаву, так что всегда сможешь перекатится с минимальнымит ресурсозатратами.
Ты занимаешся чем то бесполезным в любом случае. И какой бы язык ты не осмвоил ты будешь на нем заниматься чем то бесполезным, пусть и за деньгм.
988044988049
#286 #988044
>>988035

>Шарп дохуя похож на джаву, так что всегда сможешь перекатится с минимальнымит ресурсозатратами.


))
988047
#287 #988047
>>988044
Ну мне лично хватило месяца то бы освоить зарплату джависта.
#288 #988049
>>988035
Не обращай внимания. Тут 80% человек на доске дальше намерений на изучение того или иного языка программирования не идут. Забавно смотреть на дурачков, которые не изучив ни единого языка, не имея никакого представления об алгоритмах, сидят и кукарекают о том, какой же ЯП лучше.
Они начинают лезть в пр с одной лишь мыслью и критерием - деньги. Сегодня им скажут что пхпбляди - сверхлюди и они побегут учить пхп, завтра - наоборот и вот, смотрите, они уже засирают пхп тред за тредом.
#289 #988121
Ананасы, какой в шарпе аналог perror? Мне нужно, чтобы на этапе компиляции программа обрывалась с кастомным сообщением об ошибке.
988125988137
#290 #988125
>>988121
ой ой, то есть во время рантайма
#291 #988137
>>988121
Исключения.
12 Кб, 390x379
22 Кб, 1073x327
#292 #988141
Вообщем нужно написать прогу для чтения и записи в файл. С чтением я разобрался, а вот как добавить текст в файл после записи в текстбокс3 на Form'e? У меня вылезает ошибка. Как правильно записать? только не надо мне говорить почему я такой долбоеб
988149
#293 #988149
>>988141
File.AppendAllText(@"file", textBox3.Text);

>только не надо мне говорить почему я такой долбоеб


потому, что не умеешь искать информацию в интернете.
#294 #988307
А F# используется в работе, в частности для анализа данных или околонаучных математических темах?
#295 #988310
С HttpClient из System.Net.Http работает кто? Если я скормлю ему сотню проксей и запущу async таски с GET запросом к каждой, он сам разберётся как с этим работать? Может что-то настроить в нём нужно?
988343988688
#296 #988321
Еще один профессиональный вопрос, правильно я понял, можно разрабатывать core на windows, а деплоить на линукс сервера и все будет работать?
#297 #988343
>>988310
Ну я >>986885
Ты главное методы и переменные правильно пропиши с ожиданием.
#298 #988347
Как сделать что-то вроде библиотеки? В крестах вот пишешь код в .h файле, потом инклюдишь где надо и используешь как библиотеку. В шарпе как?
988348988349988357
#299 #988348
>>988347
Ты не поверишь.
#300 #988349
>>988347
тип проекта - class library
#301 #988357
>>988347
Debug-properties-application-output type
#302 #988369
что делать, если влюбился в замужнюю эйчарку?
988413989558
#303 #988413
>>988369
Подари ей шарпея, или сразу присунь шершавого.
592 Кб, 914x898
#304 #988420
Есть курсы, с заданиями и сеньйорами у доски и сертефикатами, но, сука математика, я её не знаю, и не понимаю. Короче ребята, у меня нет вышки, и нет знаний математики, не ну про алгоритмы можно почитать, но главный вопрос, как это может отразится на трудоустройстве? Спасибо
988423988434
#305 #988423
>>988420

>Есть курсы


Сколько, блядь, можно, вестись, на этот, развод?
988434
#306 #988434
>>988423
Без лоха и жизнь плоха.
Столько годных книг, но нет, не хочу, хочу жрать говно.
>>988420
Не знаешь математику? УЗНАЙ блять, всё в открытом доступе, книг масса, информации масса, бери - не хочу.
988446
#307 #988446
>>988434
А без матана, не?
988453
#308 #988453
>>988446

> матана


Нахуй тебе матан? Или ты, дурилка, матаном математику называешь?
7 Кб, 1044x76
#309 #988544
Сап, программач. Чому у меня такое окно вместо ошибок? Не отследил после чего появилось, заебался уже вместо нормальных ошибок гуглить по LNK028 и т.п. Как пофиксить?ебучие крякозябры
988549988617
#310 #988549
7 Кб, 320x316
#311 #988599
Есть годная реализация Gomoku на си шарпе, чтоб на генетическом алгоритме?
988617
#312 #988617
>>988544
английскую студию ставь.
>>988599
в гугле забанили?
988618
#313 #988618
>>988617

> в гугле забанили?


Конкретно на си шарп найти трудно.
988619
#314 #988619
>>988618

> Конкретно на си шарп найти трудно.


Так а мы тебе чем поможем? Вот соберёшься писать сам - тогда приходи.
#315 #988663
На связи студдент.
Нужно реализовать параллельный вывод двух массивов.
Нам предлагают через треды вот так:
https://pastebin.com/V7U4gmiJ
Как это реализуется через async?
988667
#316 #988667
>>988663

>Как это реализуется через async?


Никак.
Асинк не предполагает параллельности.
Тебе еще рано об асинке думать.
988684
#317 #988684
>>988667
Как тогда это реализовать, не используя тред?
Куда копать?
988690988695
92 Кб, 749x665
#318 #988688
>>988310
Так, скомбинировав ряд примеров вроде получилось. Принимаем сколько угодно проксей, одновременно держим 10 соединений и возвращаем из функции рабочие прокси. Всё происходит в одном потоке насколько я понял. Первый раз пишу на шарпе если что
988691
#319 #988690
>>988684

>Как тогда это реализовать, не используя тред?


>Куда копать?


НИКАК.
Объясни подробно, чего ты пытаешься добиться, и зачем.
988756
#320 #988691
>>988688
Это консольное приложение?
988693
#321 #988693
>>988691
А что, этот метод не получится асинхронно запустить?
988696
#322 #988695
>>988684

>Как тогда это реализовать, не используя тред?


Написать две программы, которые запустит третья программа не дожидаясь океончания выполнения. Это конечно костыль, но зато ты не используешь тред.
988697
#323 #988696
>>988693

>А что, этот метод не получится асинхронно запустить?


Если это консольное приложение, то

>Всё происходит в одном потоке насколько я понял


В корне неверно.
Все происходит в тредпулле.

И вообще, ты дичь какую-то написал.
988706
#324 #988697
>>988695
Потоков все равно будет 2. Просто в разных процессах.
#325 #988706
>>988696
async разве создаёт треды?
988723
#326 #988723
>>988706

>async разве создаёт треды?


Асинк разворачивает твой код в конечный автомат.
Это макрос такой.

Если у тебя нет контекста синхронизации, то таски запускаются в тредпуле.
В консольном приложении его нет.

В UI приложении это будет UI ивент луп.

Ты зачем полез в асинки не прочитав вначале документацию?
988752
11 Кб, 515x245
#327 #988744
Есть условие на пике, по логике вещей Debug никогда сработать не должен и breakpoint после тоже.
Но почему-то иногда оно срабатывает, что это за фигня такая?
Если же сделать без &&, а тупо после каждого if новый if с проверкой, то может тоже пролететь проверку, но раз в 20-40 реже чем с &&.
988750
#328 #988750
>>988744
У тебя этот код случаем не в отдельном потоке выполняется?
988777
#329 #988752
>>988723
Я подумал написать парсер и чекер прокси будет неплохим началам, а тут без асинхронности никуда. Гуем пока не хочу заниматься.
#330 #988756
>>988690

>Объясни подробно, чего ты пытаешься добиться


Нужно написать симулятор рабочего дня сервис-инженера:
https://pastebin.com/JdFHBsvv

Я мельком читал про асинк и думал, что он заменяет тред. И что тред это прошлый век и не используется. Так ли это?
Хотелось бы использовать современные возможности языка c#. Через какое средство лучше реализовать эту задачу?
988926989079
61 Кб, 600x600
#331 #988758
https://ideone.com/sdSkYv
Привет, бандиты, этот кусок можно как-то сократить?
988760
#332 #988760
>>988758
if (x >= 5 && x <= 25)
{
this.Width = away + step(x-5);
this.Height = ahead + step
(x-5);
}
988762
#333 #988762
>>988760
спасибо :3
18 Кб, 665x319
#334 #988777
>>988750
Специально сейчас проверил с помощью Thread.CurrentThread.ManagedThreadId
Что при проверке, что во всех свойствах, везде один и тот же ID был.
Но вроде как вот таким костылем удалось решить проблему, ERROR никогда не проскакивает, либо я его еще не поймал.
95 Кб, 729x567
#335 #988840
Сап, может кто помочь? Только началось ООП, а я нихуя не понимаю
#336 #988847
>>988840
Обычное задание для нуфагов. Что тебе непонятно?
#337 #988861
>>988840
Выучи то, что дали на лекции, там поясняли по всем этим пунктам, наверняка.
#338 #988877
Вечер /ЗК.
Хочу работать с локальной базой через 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" />


Как заставить её работать с относительным путём?
988887988888
#339 #988880
>>988840
Ты хоть пиши какие именно пункты непонятны.
И вообще я абсолютно на 146.0000001% уверен что при желании все это можно нагуглить в виде готовых кусков.
#340 #988882
>>988840
Чувак, по своему опыту скажу, прекращай так учиться, если тебе реально интересен программинг, то сразу уясни, что лекции - говно, ты ничего не запомнишь, в записях ничего не найдёшь, а если что-то пропустишь сможешь винить лишь преподов(не то чтобы они виноваты) и продолжать нихуя не понимать, не забывай что у нас есть гугл, книги, msdn и прочее говно, и гугли не решение задачи, а компоненты решения.
Загугли перегрузку операторов, индексеры, алсо в сишарпе можно проверить является ли символ буквой, цифрой или специальным сивмолом.
https://msdn.microsoft.com/en-us/library/system.char.isletterordigit(v=vs.110).aspx
и иже с ними.
988884988885
#341 #988884
>>988882
Ну не совсем говно, ладно, полезны, чтобы ты знал что искать, но не надейся что ты все пробелы ими сможешь закрыть и оправдаться что этого вам не давали, когда будет что-то не ясно.
988885
#342 #988885
>>988882
Поддвачну. Троелсен для ньюфагов как библия для праведников.
>>988884
В большинстве своём говно. Или у нас есть преподы уровня троелсена, фримена и прочих? Зачем жрать продукт переработки этих же авторов "преподом", который по уровню зачастую как мимокроки на этой доске?
#343 #988887
>>988877
Нашёл, что если указать путь таким образом “|DataDirectory|\Database1.mdf” то работающая программа подключается к базе. Однако, в открытом проекте Model1.edmx перестаёт находить базу.
#344 #988888
>>988877
DataDirectory этот папка где лежит экзешник, а не проект.
#345 #988892
Как в DataGridView для winforms привязать признак выделения строки к объекту данных? Т.е. я хочу кроме колонок доабить свойство bool в объекте данных что бы оно показывало выбрана ли представляющая его строка в гриде или нт.
989245
#346 #988926
>>988756

>Так ли это?


Нет, не так.
У тебя критикал непонимание конкурентного программирования.

>Через какое средство лучше реализовать эту задачу?


Через то, кокое вам в методичке рекомендуют.
989153
#347 #988977
Пробуем Gtk#... по сравнению с QtDesigner чувствуешь себя в 2005 году
988979
147 Кб, 1280x985
#348 #988979
#349 #989069
>>986077

>Мыкола и Кумар готовы за 1$ в день ебашить и жить на мамкиных харчах на аутсорсе.


Мыкола в треде, пилил проект 3 месяца за 10к на окло фриланце, работаю по рейту 20/час(не гривен), друг успешнее - работает за 35 на фриласне+ офис выходит нормально на еду ижизнь в Европе. Но на счет кучи добоебов - это да. Недавно разбирал проект - и это полная пизда, делали два джуно-мидла. И там полная пизда
#350 #989079
>>988756

> прошлый век и не используется


Пиздуй в ноду жс, или в руби какой. Шарп не для тебя.
#351 #989080
Что скажете про The C# Player's Guide? Шапку читал, но что-то многие как-то активно задрачивают Шилдта/Троелсена в первую очередь.
Что нужно изучить до того, как переходить к изучения синтаксиса?
989159
#352 #989136
Анон, я тут раз десятый уже спрашиваю, не обессудь.

Дано: веб-примат, 3 года опыта, Python/JS, вышка непрофильная.
Надо: пересесть любыми путями на C# через полгода.

Читаю Албахари, через пару месяцев планирую написать приложение на .Net core + Angular 2/Typescript.

Ваши мнения, советы, критика? Кулстори похожих перекатов очень приветствуются.
989155
#353 #989141
Есть щас смысл писать под net core?
#354 #989153
>>988926

>Через то, кокое вам в методичке рекомендуют.


В методичке один тот пример, который выше.
И препод сказал делать как хотим, главное чтобы работало.
Хочется разобраться в этой теме, а не делать через пятую точку.
989164
#355 #989155
>>989136
Полгода это дохуя времени.
Книги это хорошо, но скилл они не поднимают как в игрушках. Если хочешь научится хуярить конкретные вещи, то начинай хуярить прямо сейчас. Придумай сам себе проект и хуярь, а книги используй как справочники.
989161
#356 #989159
>>989080

У всех свой способ изложения материала, например Троелсен только с 3 главы дает синтаксис,
поэтому прочитай первые страниц 100 у каждого, опуская благодарности и нововведения версий C# и выбери кто для тебя доступнее объясняет.
Или может тебе вообще зайдут курсы ITVDN. Я у него посмотрел про машинную математику, а на переменных и типах меня начало пидорасить от его прыжков по коду и фраз типа: "Па-пам!".
#357 #989161
>>989155
Да сам знаю.
У меня помимо собственно переката, основная цель-сойти за начинающего мидла и не потерять в зарплате.
Соориентируй лучше, какие из net-веб-технологий сейчас наиболее актуальны и останутся таковыми в ближайший год? Какие версии ASP.NET (Core/MVC/Web Api/etc) и остального?
989165989184
#358 #989164
>>989153

> Задача основана на классической задаче «Barber shop problem».


http://bfy.tw/BkQH
#359 #989165
>>989161
Соорентировать тебя яне могу, т.к. сам работаю в другом направлении. Но вот теюе совет - не будь it-шлюхой. Выучи что то одно, но хорошо. Даже если завтра это перестанет быть популярным ты все рвоно останешся специалистом по этому направлению.
989167
#360 #989167
>>989165
Мимо со шлюхой. Свой стэк отлично знаю, хочу идти дальше.
#361 #989178
Аноны, а ExtremeCodeTV не наши случаем будут?
989183
#362 #989183
>>989178
Может быть и так
#363 #989184
>>989161
Mvc последней версии, которая ещё не core, core последняя, веб апи 2.
Плюс платина вроде нинжекта, мока, entity framework.
989186
#364 #989186
>>989184
Годно. Спасибо, анон.
#365 #989245
>>988892

Хуйли никто не знает???
#366 #989281
Свойство override у метода полностью стирает контент изначального метода или добавляет в него новое, затирая дубли?
989326989336
#367 #989326
>>989281

>полностью стирает контент изначального метода

#368 #989336
>>989281
Полностью стирает. Если нужно выполнить в том числе и оригинальный метод, то в первой строке пишут base.MethodName();
#369 #989354
Пиздец. Отвечают только на всякую хуету для чайников.
989355
#370 #989355
>>989354
Отвеают на наиболее понятные вопросы. Хочешь нормальный ответ - задай нормальный вопрос.
989366
#371 #989366
>>989355

Не пизди.
989375
#372 #989375
>>989366
Нахуй иди.
989388
45 Кб, 607x376
#373 #989380
Анончики, сижу сейчас читаю Троелсена и подумал, что нужно что-то такое простенькое совсем написать.
Наткнулся на описание примеров System.Environments и пришла мне в голову идея сделать на винформс пикрелейтед.

Нехватило мне функционала или мозгов и я полез в WMI. Короче с гуглением-таки осилил, но блять это пиздец как далеко от задач для ньюфага.
Посоветуйте где взять задачи для постепенного развития и проработки материала?
#374 #989388
>>989375

Хуй тебе в рыло.
989410
#375 #989410
>>989388
Откушу.
#376 #989414
Я уж думал феня исправился, но хуй там плавал.
97 Кб, 1366x768
#377 #989466
Райдер охуенен.
989480989561989683
#378 #989480
>>989466
Очередное тормозное говно на джаве от jetbrains?
989490
#379 #989490
>>989480

>Очередное тормозное говно на джаве от jetbrains?


И платное.
#380 #989558
>>988369
апдейт
вообще с ума схожу от неё, крыша едет реально, себя едва контролирую
#381 #989561
>>989466
Когда уже релиз там? Ещё к зиме обещали.
989591
#382 #989591
>>989561
2-й квартал ентого года.
#383 #989606
Если я делаю
public static event EventHandler MyEvent;
как убрать sender из вызова этого эвента?
MyEvent(null, param)
наследовать EventHandler нужно и в базовый конструктор передавать null?
989637
#384 #989637
>>989606
И ещё не понял почему можно написать

button.Clicked += delegate { ... };

но с лямбдой аргументы нельзя игнорировать

button.Clicked += (sender, args) => ...;
#385 #989683
>>989466
Чем отличается от охуенной визуал студии?
989694989720
#386 #989694
>>989683
Уже отправил биткоины за разблокировку компутера?
#387 #989720
>>989683
Вшитый решарпер и кросплатформенность.
989734
#388 #989732
Привет двач мне нужен C#/C++/C разраб. Работа с POST запросами и их обработкой на сайте, программа для винды соответственно. Плачу деньги и даю много работы. Напишите мне в телегу плиз:
@LoroPiana
#389 #989734
>>989720
Студуия все равно пизже, пердолик
989847
151 Кб, 500x361
#390 #989767
Кто нибудь может внятно объяснить в чем разница между CommittedValue и UpdatedValue у параметра ValidationRule.ValidationStep в WPF?
#391 #989838
Блджад! пока писал сюда, чому у меня прога не работает, разобрался сам
Да еще ошибка такая тупая, забыл () у метода, возвращающего экземпляр поставить
19 Кб, 1109x243
#392 #989843
Пишу программу, которая переводит текст в морзянку. Для точки и тире использовал singleton https://metanit.com/sharp/patterns/2.3.php
Не нарушаю ли я смысла singleton'a в этих строчках:

Dot dot = Dot.getInstance();
Dash dash = Dash.getInstance();

Так удобнее наполнять словарик, чем каждый раз писать Dot.getInstance(). Да и на работе программы это не сказалось
989844
#393 #989844
>>989843
Зачем тебе тогда вообще синглтоны, если у тебя локально переменные есть? Какую задачу применение паттерна выполняет?
989849
#394 #989847
>>989734

>Студуия все равно пизже, пердолик


Чем?
990364
#395 #989849
>>989844

> зачем тебе тогда вообще синглтоны?


Затем, чтобы был всего один экземпляр.
В моем случае, когда я делаю локальные переменные dot и dash экземпляров получается несколько, и весь смысл паттерна теряется. Тогда стоит или забить на паттерн или писать Dot.getInstance().
Как сделать лучше?

В пользу второго варианта:
У меня есть проигрыватель (он выводит в консольку сообщение) и там тоже тоже нужен экземпляр, чтобы сравнить данные из сообщения с ToString() точек и тире. Можно, конечно, не переопределять ToString(), а просто сделать статический метод, который будет возвращать string с "." или "-". Но тогда смысл ToString() теряется.
Не получается найти красивое и верное решение.
989850
18 Кб, 925x388
#396 #989850
>>989849
Пик отвалился
989854989855
#397 #989854
>>989850
Ты всё усложняешь, зачем тебе хранить точки и тере в точках и тере в виде стринга, нельзя ли просто чар хранить? И ты всё равно плодишь миллионы ссылок, которые весят между прочим инт(64 бита), не легче ли просто представить морзе элемент в виде стринга сразу и сравнивать потом посимвольно или вообще через String.Equal? Тебе и задавать таблицу символов будет легче a = new Element(".-") и писать придётся иф (ch == '.') { код }
989857
#398 #989855
>>989850
Ну и если тебе всё же хочется иметь синглтоны, то храни хотя бы синглтоном набор точек и тере, а не отдельно, типо MorseElement.Dot/MorseElement.Dash, и да, выходит что и тут синглтон не нужен, просто статики, можно с методами чтобы только читать их, просто синглтон для хранения одного объекта это оверкил.
989857
#399 #989857
>>989854
Чтобы обмазаться инкапсуляцией как Пахом сладким хлебом
Допустим, потом я захочу изменить "." на "·" или вообще на "точка", то мне придется проходить по словарю и заменять эти символы вручную. А так я захожу в Dot.cs и меняю одну строчку

>>989855

> можно с методами чтобы только читать их


Вот об этом я сейчас и думаю. Спасибо за советы
989860
#400 #989860
>>989857
Вообще для будущих замен можно сделать буквы как 0 и 1 и потом просто сделать маппер, который будет указывать допустим, что 0 это . а 1 это -, а потом можно переписать в мапере символы если нужно, то есть всё равно можно обойтись без кучи ссылок. И типо тогда ch == Mapper.DotChar, а символы задавать ("01") ну или что-то такого, вот маппер и можешь сделать синглтоном, чтобы можно было и ремапать рантайм и хранить всё.
101 Кб, 695x662
28 Кб, 619x154
#401 #990053
Почему эвенты посылаемые из асинхронного метода ломают гуй? Подписываюсь на них в конструкторе MainWindow
990061990292
#402 #990061
>>990053

>Почему эвенты посылаемые из асинхронного метода ломают гуй?


Тому шо менять интерфейс можно только из потока гуи. Тебе нужно тело делегата завернуть в Dispatcher.Invoke
990142
36 Кб, 435x444
#403 #990142
>>990061
Работает, только Gtk.Application.Invoke в моём случае
Собственно за 2 дня не зная джавы и шарпа получилось сделать вполне рабочую хуиту https://github.com/theanonym/proxy-checker
Понравилось и компилится мгновенно, буду дальше изучать
990207
624 Кб, 602x588
#404 #990170
Антоны, поясните за интерфейсы. Я знаю, что в интерфейсе просто пишутся прототипы функций и прочее и что они нужны для множественного наследования. Но как ими правильно пользоваться то? Видел в каких то забугорных гайдах, как вместо объекта класса создают интерфейс. В чем преимущество, какие подводные?если не лень,
можно кусок кода привести в качестве примера
990204
#406 #990207
>>990142
Проверяй прокси хотя бы через httpbin.org. Проверяй, не режут ли заголовки и не добавляют ли свои заголовки X-Forwarded-For и не только.

мимо-повелитель-прокси
#407 #990292
>>990053
Щто происходит на пике? Как выйти на твой уровень? Что задротить?
990293
#408 #990293
>>990292
Прочитай любую довольно общую книгу по сишарпу, в частности про делегаты и евенты и таски с асинх паттерном. Остальное уже библиотеки, гуглятся в инете, ещё обработка исключений тут есть.

Мимокрокодил
990294
#409 #990294
>>990293
Все равно не понимаю эти catch и try, нах они нужны, есть примеры кода для чайников или видео на ютубе?
990398
180 Кб, 1225x726
#410 #990302
Сорри за тупой вопрос, где искать или где взять System.Configuration.dll ?
В ссылках не находит.
990316
#411 #990316
>>990302
В сборках ищи, а не в COM.
7024 Кб, 320x236
#412 #990363
На ОПпик следующего треда.

ИНКАПСУЛЯЦИЯ, ДЕЛЕГАТЫ, СОБЫТИЯ НОВЫЕ УРОВНИ АБСТРАКЦИИ, НЕТ ЭТО ФУНКЦИОНАЛЬЩИНА, КАРОЧЕ ДЕЛАЙ ДЕЛЕГАТАМИ, ОНИ НЕ ПОДХОДЯТ ВЫЗЫВАЙ СНАЧАЛА СОБЫТИЯ, НЕ ЗАБУДЬ ОБЬЯВИТЬ ИНТЕРФЕЙС СО ВСЕМИ СОБЫТИЯМИ А ПОТОМ УЖЕ ПИШИ РЕАЛИЗАЦИ, ГДЕ ПАТЕРН МВП СОБАКА?! ПИШИ ТЕПЕРЬ ВСЕ ТОЖЕ САМОЕ В ТРИ РАЗА БОЛЬШЕ ЧТО БЫ ВСЕ РЕАЛИЗОВЫВАЛОС ЬВ ПРИЗЕНТЕРЕ.
#413 #990364
>>989847
Чем Rider.
#414 #990373
Какой максимальный размер массива c#?
Смогу ли я сделать массив, в котором будет 1000х1000х3 int значений?
990376990379
#415 #990376
>>990373
размер объекта в куче ограничен двумя гигами
990381
#416 #990379
>>990373
2гига.
990381
#417 #990381
>>990376
>>990379
Нужно закинуть поток нулей и единиц, как это посоветуете реализовать? 1000х1000х3 штук, как вы понимаете.
990382990386990479
#418 #990382
>>990381
Мозгом если он, конечно, у тебя есть
990383
#419 #990383
>>990382
У меня его нет, я учусь. Для этого я и здесь.

А ещё у меня нет времени.
#420 #990386
>>990381
що такое поток нулей и единиц?
990389990394
#421 #990389
>>990386

>що


СЛАВА УКРАЙНЕ!
990393
#422 #990393
>>990389
нуок
#423 #990394
>>990386
Как бы по одному заходит 0 или 1, и это надо записать. Потом это надо будет перевести в байты.
990396
#424 #990396
>>990394
заходит у него за щеку
держи у себя массив булевых значений, и пускай у тебя в него заходит и выходит то, что и куда надо
#425 #990398
>>990294
Например пользователь вводит в текстбокс не число, а букву, а в коде программы у тебя задумано, что будет число. Соответственно программа крашнется. Чтобы этого избежать делаешь что то вроде
try {
int x = Convert.ToInt32(textBox1.Text);
}
catch(Exception)
{ MessageBox.Show("ИДИ НАХУЙ"); }
Теперь если будет какая то ошибка в блоке try, то выполнится код из блока catch.
990406
#426 #990406
>>990398
Спасибо, даже заюзал сейчас в своей программе
#427 #990447
Поясните, если сейчас в декстопе повсеместно используется WPF, зачем тогда ВС по дефолту предлагает делать декстопный проект в виндовс формах?
990455
#428 #990455
>>990447

>Поясните, если сейчас в декстопе повсеместно используется WPF


Кто тебе такую хуйню сказал?

>зачем тогда ВС по дефолту предлагает делать декстопный проект в виндовс формах?


Потому что они точно есть повсеместно.
990889
#429 #990479
>>990381

>закинуть


закинул тебе за щёку, проверяй :3
990504
#430 #990504
>>990479
Спасибо, но помоги с вопросом.
990510
#431 #990510
>>990504
Так ты вопрос задай. Что за поток, каких нулей блять, каких единиц. Тебе 100010003=3млн бит нужно сохранить?
Объясняй нормально и не будут тебе за щёку "закидывать"
990517
#432 #990517
>>990510
Как бы поступает информация по одному биту. Надо её сохранять куда-то, что бы потом этот поток использовать.
Как это лучше всего сделать?
990596
#433 #990596
>>990517

>Как бы поступает информация по одному биту.


Откуда поступает? Покажи код который эту информацию читает.
990710
#434 #990597
Кто использует моно? Поставил monogame через nuget, проект компилится, но при запуске не может найти сраный shell32.dll
locate shell32.dll ничего не даёт, значит в моно его нет (стоит последняя сборка от 11 мая)
Гугл ничего не даёт, только упоминания wine, неужели от него зависит monogame?
#435 #990637
Как блять дебаггер включить в ВС, пиздец. Точнее, что бы переменные показывало.
990644
#436 #990644
>>990637
окна целые для таких анацефалов придумали: Local и Watch. чуть более православно можно мышкой понаводить на переменные в режиме отладки
83 Кб, 1280x853
#437 #990682
Привет, шарпаны.
Помогите C# джуну с практическим проектом.

Суть того что мне требуется.
Есть класс, допустим назовем его Info. В данном классе есть 3 поля. Country, Username, OS. Есть клиент-серверное приложение на асинхронных сокетах.

Мне нужно сериализировать Info в byte[] и отправить от клиента к серверу, а сервер должен десериализировать этот обьект и добавить в Windows форму полученные данные.

Перелистал весь гугол, ничего сорвеменного и нормального найти не смог по сериализации. Какие то кривые непонятные примеры. Прошу помощи анона в направлении на верный путь.

Вот говнокод который я уже написал.

https://pastebin.com/AVPJiQif
990698
#438 #990698
>>990682
Не пойму что конкретно ты хочешь.
Если и клиент и сервет знают как должна выглядеть структура, то проблем быть не должно.
Как реализован сервер? Он уже реализован или еще только в процессе? Через что передается информация? TCP клиент? Заюзать SOAP не судьба?
990700
#439 #990700
>>990698

>Если и клиент и сервет знают как должна выглядеть структура



Я не понимаю как заставить сервер знать как выглядит данный класс (PacketInfo). Он реализован только в проекте клиента, который должен его передавать. Вот тут я думаю.

> Он уже реализован или еще только в процессе?



В процессе. Жду когда придумаю вариант сериализации.

> Через что передается информация?



Обычный Socket, использую асинхронные методы с BeginConnect, EndConnect и тд.

>Заюзать SOAP не судьба?



Не хочется ебаться с XML и тд. Для начала хочу научиться делать это с байтами а потом уже подниматься выше.
990732
#440 #990701
Какой максимальный размер массива bool?
У меня прога агрится, когда я 200 000 выставляю.
990710
#441 #990710
>>990701
опять ты на связь выходишь?
Тебе же говорят >>990596
И не думай что раз bool, то один бит занимает. В памяти бул это 1 байт.
Покажи сначала код получения "нулей и единиц".
990722
#442 #990712
Привет шарпаны. Поясните нубу.
Можно ли вызывать в производном классе базовый метод, но так что бы он работал с полями производного класса?
990713
#443 #990713
>>990712
Про override знаю. Но нет ли другого способа, чтобы не переопределять?
Реализация такая же, просто данные в полях производного класса другие.
#444 #990722
>>990710
Да, выхожу.
Код получения нулей и единиц показать не могу, но там можно получать только 1 или 0, по одному. Надо эту еболду записать куда-то и потом вытянуть.
990735
#445 #990732
>>990700

>Не хочется ебаться с XML и тд. Для начала хочу научиться делать это с байтами а потом уже подниматься выше.


Пиши на ассемблере в машинных кодах. Хули ты сразу за шаоп взялся.

>Я не понимаю как заставить сервер знать как выглядит данный класс (PacketInfo).


SOAP передает данные о виде пакета, но ты ведь не хочешь им пользоваться.

XML и прочие форматы придумали специально для того, что бы не ебаться с raw данными. Если ты хочешь все делать через соеты, то сам и реализовывай логику. Посылай серверу поток байт сам. И сам думай как сервер этот поток байт должен расшифровывать. Без дополнительной информации сервер никак не сможет понять что за последовательность байт ты ему скормил.
#446 #990735
>>990722

>Код получения нулей и единиц показать не могу


А я не могу тебе ответить как эту поеботу лучше обрабатывать.
Выше уже сказали, что bool это 8 бит. В процессоре нет 1битовых регистров, так что 8 бит это минимум. А в 64 системах 1 бит это 32м бита. Потому что в этом режиме нет доступа к 16 битным регистрам, которые собственно и делятся на две половины по 8 бит. Вот сам и считай когда твоя конструкция превысит 2 гигабайта. И не забудь из двух гигов вычесть несколько килобайт служебных областей.
Нормальные люди такие данные упаковывают.
990757
#447 #990757
>>990735
Я бы упаковал, я как раз спрашиваю, ак лучше это сохранять. Суть в том, что есть изображение и с него надо собрать последние биты RGB, т.е. с одного пикселя будет 3 бита. Вот мне их надо сохранить и потом эту последователность единиц и нулей разделить на части по 8 бит, т.е. в байты.
Примерно так, код слишком большой, что бы его показывать, да и смысла нет.
Вроде всё описал.
990763990789990803
#448 #990763
>>990757

>код слишком большой, что бы его показывать, да и смысла нет.


Раз с тебя спрашивают код, значит смысл есть. Наверное не просто так спрашивают.
В шарпе нет такой вещи как бит. Есть только байт. Поэтому очень важно понять что конкретно и как ты получаешь. Достаточно не всего кода, а того самого участка который возвращает этот твой бит. От него уже можо будет отталкиваться.

>Я бы упаковал, я как раз спрашиваю, ак лучше это сохранять.


Биты хранят в байтах. Проще всего это делать на ассемблере командами сдвига. На шарпе скорее всего тоже можно, но я пока слабо представляю как и производительность будет в разы хуже.
990790
#449 #990789
>>990757
Используй стримы, берёшь такой изображение, открываешь стримом, берёшь оттуда немного байтов, берёшь из них что тебе нужно и записываешь в другой стрим, который записыает в другой файл.
#450 #990790
>>990763

>самого участка который возвращает этот твой бит



for (int j = 1; j < imageHeight; j++)
{
if ((imageVanilla.GetPixel(i,j).R) != (imageCrypted.GetPixel(i,j).R)) {
difference[num] = true;
}
num++;}

Вот, там 3 раза повторяется с каждым цветом.
Куда посоветуешь записывать это неопытному человеку?
990794
#451 #990792
Как в таймер передать асинхронный метод? Только async void? Но ведь async void — пидорство.
#452 #990794
>>990790
Биты ты тоже можешь записывать в файл, а двумерную структуру представить как одномерную с умножениями и делениями по остатку, биты в ней по 3 вместе записывать. Файл стрим вроде поддерживает seek() так что вот. И выйдет у тебя типо
pixel(int w, int h, int color) где ты ищешь по файлу (himageHeight + h) 3 + color, колор типо 0 для красного, 1 для зелёного, 2 для синего. Только не забудь что из файла читаются байты, а не биты. Или как-то так.

А вообще если тебе надо по 8 битов записывать, то просто считай i сколько битов ты уже записал, храни byte текущий, OR байт со своим битом, сдвинутым на i, и обнуляй i каждый 8ой бит, который ты получаешь, их и записывай в свой массив, ну или в файл, последний бит не забудь выравнять влево.
#453 #990803
>>990757
LSB стеганография с# гугли. Все уже придумано.
990804
#454 #990804
>>990803
Блять, я это на диплом в шарагу делаю. Кажется, мне пиздец.
990805
#455 #990805
>>990804
Это уровень лабораторной, мммаксимум курсовой.
990806990807
#456 #990806
>>990805
Что посоветуешь добавить?
990807990808
#457 #990807
>>990805
>>990806
У меня стегнография + RSA, только RSA взято из стандартной библиотеки.
#458 #990808
>>990806
В гугл сходи сначала.
990809
#459 #990809
>>990808
Гугл это такое, мне интересно мнение живых людей.
sage #460 #990881
>>986033
Ебло бы тебе разбил
#461 #990887
В видеоролике сказали. Неужели врут?
990889
#462 #990889
26 Кб, 487x375
#463 #990890
Так я правильно понял что MVVM этот тот же патерн MVP, только вместо презентера ВЬЮМОДЕЛ?
990918
#464 #990900
Пишу на .NET Core. По крайней мере, собираюсь. Подскажите мануалов годных.
#465 #990918
>>990890
Ты нихуя не понел.
990919
#466 #990919
>>990918
Но пот описанию все тоже самое. Вьемодел заменяет презентер.
990937
#467 #990937
>>990919
Вьюмодел не содержит ссылку на реализацию вью и вообще ничего о вью не знает, в отличие от презентера.
990963
1 Кб, 32x32
#468 #990963
>>990937
Ладно.
990965
210 Кб, 880x1000
#469 #990965
#470 #990999
Шарпаны, тут такое дело. Мне нужно стать хакером.
Есть одна сборка в виде exe файла. В ней содержаться несколько dll. Мне позареж нужно их оттуда извлечь и посмотреть их код. В гугле был, там всякие мануалы как самому вставлять ресурсы и как потом их из своей программы сохранять на диск. Но мне нужно из чужой программы их сохранить на диск.
Есть идеи?
991010
#471 #991010
>>990999
dotPeek или Reflector юзай,. Ну или как батич сам вытаскивай через рпфлексию
10 Кб, 876x76
#472 #991025
Что не так?
991029991136
#473 #991029
>>991025
Ты парсишь строку и не ловишь исключения, а в строка у тебя не "312" а какая-нибудь "афц1--_", короче у тебя строка нормально не может быть приведена к инту
991030991048
#474 #991030
>>991029
в строке

фиакс
#475 #991048
>>991029
Как это можно пофиксить?
991056
#476 #991056
>>991048
TryParse
#477 #991066
Сап ПР. Нужно сделать хитрую табличку с последующей выгрузкой в ексель. Решил запилить на C# и WinForm, но вот никак не могу нарисовать саму табличку. Например, как сделать такое с минимальной еблей?
|---------Заголовок 1----------|
|---------------------------------|
|--подзаголовок1--|--еще----|
991172
#478 #991125
Как в .NET Standard библиотеке открыть magnet ссылку? В обычном десктопном дотнете это можно сделать так "Process.Start("magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C");".
#479 #991133
Стоит ли делить один относительно большой проект на несколько небольших для более явного разделения логики? Навскидку вижу явное деление на 3-5 проектов поменьше. (Сейчас делится в неймспейсы и папки до 3-х уровней вложенности) Делят ли так на практике и насколько маленькие проекты должны быть в результате?
991172991185
#480 #991136
>>991025
Ты хочешь получить ASII код символа, а для этого нужно взять какой-то символ строки и привести к int, например 1-й -
(int)Console.ReadLine()[0]

(Правда на выходе будет unicode код символа и при вводе символа, не содержащегося в таблице ASII, он выведет код из unicode)
#481 #991172
>>991066
где ты эту табличку рисовать собрался, дизигнер комнатный?

>>991133
разделение типов по нейспейсам и наборов логики по проектам людей останавливает только здравый смысл и (не всегда) адекватность. десятки проектов в солюшне и целая ива из внутренних поддиректорий - нормальное дело
991201
#482 #991185
>>991133
Разумеется, стоит. В рамках одного солюшна у тебя несколько проектов: библиотека, веб-приложение, использующее эту либу и тест.
#483 #991201
>>991172
DataGridView
#484 #991230
Поясните про правила хорошего тона. Допустим я хочу разделить код длиной 1к строк на несколько файлов, раскидав методы по смыслу (например, одни методы на считывание в один файл, а методы по расчету в другой). Теоретически я могу создать классы, но нахрена мне инстансы этих классов с конструкторами и пр., если мне нужны только методы?

Так вот, как правильно разделить длинный код в шарпе?
991234991263991274
#485 #991234
>>991230
Гугли static method
#486 #991263
>>991230
partial, не?
#487 #991274
>>991230

>но нахрена мне инстансы этих классов с конструкторами и пр


Нуфаги неумеют в статику
13 Кб, 400x572
#488 #991300
Сап, аноны, решил вкатится в C#, почему именно он и почему он самый близкий к совершенству ЯП?
991301
#489 #991301
>>991300
Сам решил вкатиться, вот и расскажи, почему именно шарпач?
#490 #991310
Что правильно - хуярить все поля объекта в public или пользоваться через свойства get; set; ?
991312991313
#491 #991312
>>991310
Правильней сначала ознакомиться инкапсуляцией и зачем она нахуй нужна.
#492 #991313
>>991310
офк пользоваться через свойства get; set;
даже я даун тестер знаю это
991315
#493 #991315
>>991313
Хули ты тут забыл, мартыхан?
#494 #991328
Еще один вопрос от нуфага, который только разбирается с классами.

В методе, который прописан в каком-то классе, нужно обращаться к переменным через this.num или передавать в метод как обычно аргументы void function (int num) {} ?
991333991336991351
#495 #991333
>>991328
ты когда пишешь this.num подразумеваешь то шо обращаешься к полю num этого объекта(в котором пишешь)
991334
#496 #991334
>>991333
Да, если я хочу к нему обратиться, то только this.num?
991338
#497 #991336
>>991328
ну типо ты хуйнул такой класс

class huy
{
private int num;

public void SetNum(int num)
{
this.num(num который private в классе) = num(num которое передаёшь в метод);
}
}

хз вроде понятно написал
#498 #991338
>>991334
да не, не обязательно, можно просто num
991352
#499 #991340
АНАНАСЫ, пытаюсь написать простое CRUD приложение. база на SQL сервера готова, приложение на winforms, две формочки. чтобы не надо было заново вводить информацию для логина на сервер, сделал экземпляр класса с SqlConnection статичным. но какое-то это говно решение, думаю лучше будет сделать инфу для логина глобальной. вопрос как? инфа вводится с первой формочки(server,login,password,database).
991343991348
50 Кб, 678x297
#500 #991343
>>991340
пикрелейтед оберточка над SqlConnection
#501 #991348
>>991340
значит нужен конфигурационный файл, спасибо!
#502 #991351
>>991328
Так можно делать, но не следует.

Поля экземпляра класса по-хорошему должны быть обозначены, как private. В противном случае, любая залупа (классы, методы) могут обращаться к ним и менять их значения напрямую.

За это в конторах пиздят палками.
Поэтому пишешь так:

class Worker
{
private string name;
private int salary;

public Worker(String n, double s)
{
name = n;
salary = s;
}
}
991352
#503 #991352
>>991338
>>991351

>name = n;


>salary = s;


Почему тут нет this.name и this.salary, хотя в туториалах учат именно так?
991370
28 Кб, 375x222
#504 #991370
>>991352
В прикрепленном примере - в конструкторе используется this. , потому что salary уже объявлена, как передаваемая. => при обращении к salary программа будет работать с тем, что передали в функцию. В остальных методах this. опущен, но компилятор поймет, что ты обращаешься к полю и сам его добавит.

Через this. ты гарантированно обращаешься к полю/свойству/методу текущего экземпляра класса. Лучше избегать подобных конфликтов и не писать this для краткости и понятности кода.
991372
#505 #991372
>>991370
Хорошо, спасибо.
#506 #991386
В цикле пересоздается массив разной длины. Нужно ли перед каждым определением длины массива его как-то очищать? И как это сделать?
991390
#507 #991390
>>991386
Забыл код добавить, фикс:

int[] numbers = null;
for (int i = 0; i<100; i++) {
numbers = new int[i*2];
}
991391
#508 #991391
>>991390
Нет, при вызове new int[] ты выделяешь новую память под массив в куче и numbers ссылается уже на неё. Старый массив соберет сборщик мусора.
(Значения в массиве тоже не сохраняются, если что)
#509 #991427
Эээ блэт. Есть на форме 20 textbox'ов с именами lblName1, lblName2 и тд. Как мне в цикле прокрутить каждый из них и прочитать текст?
991436
#510 #991436
>>991427
1) Упороться с рефлексией
2) Замутить где-нибудь массис с боксами и проходить уже по нему
991439
#511 #991439
>>991436
Поясни за второй пункт, плиз.
991452991455
#512 #991452
>>991439
Ну, добавляешь к форме поле
var boxes = new List<TextBox>();
А потом ручками boxes.Add(lblName2) и т.д.

А вообще, погоди минуту, у меня идея получше появилась, чекану и отпишу
23 Кб, 760x339
#514 #991465
>>991455
Второй ответ там просто прекрасен, все заработало.
991471
21 Кб, 785x333
#515 #991471
>>991465
А нет, нихуя. Этот способ судя по всему берет начальные значения текстбоксов при загрузке приложения, и даже если ты потом меняешь текст, то прочитать его нельзя, там пустое значение у свойства Text.
991473
#516 #991473
>>991471
Сорян, это я проебался, там список задом наперед. Вопрос снимается.
107 Кб, 1182x637
#517 #991676
Подскажите пожалуйста, как очистить ИД?

public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Phone { get; set; }
}
991767
#518 #991767
>>991676
user.Id = default(int);
992197
#519 #991812
Аноны, как правильно?
int[] array = new int [3] {1, 2, 3};
или
int[] array = {1, 2, 3};
991813991829
#520 #991813
>>991812
зы
предпологаю, что 1я запись не имеет смысла, если после указания кол-ва эл-тов я их инициализирую, соотв 2й вариант правильный. Так?
#521 #991816
>>985689 (OP)
Пытаюсь собрать проект в 10 студии и постоянно вылетает ошибка о прекращении работы resxtoresources exe и нихуя не собирается. В консоли resgen.exe exited with code 532459699, куча таких ошибок. Наставил уже пакетов просто до жопы, сервис паки к студии, куча фреймворков, саму студию разную качал пробовал - все одно.

До этого студит никакие не ставил, с .net можно сказать не работал. Что за хуйня? Как исправить? Гугл не помог, выручай анон, третий день не могу заставить эту хуйню работать.
991818991825
#522 #991818
>>991816
Ах да, win10 x64, если это имеет значение.
#523 #991825
>>991816
Переустанови шиндовс и поставь 17 студию, очевидно же
991830
#524 #991829
>>991812
Три варианта:
1) string[] strArr = new string[]
{ "alfa", "betta", "gamma" };
2) bool[] boolArray = { true, false, true };
3) int[] intArray = new int[4] { 1, 2, 3, 4 };

Я часто использую второй вариант.
991845991862
#525 #991830
>>991825
Проект недавно перенесли с 8й на 10ю, об дальнейших обновлениях речи нет. Кстати конфиги проекта тоже менять нельзя.
992045
#526 #991845
>>991829
Спосиб
#527 #991860
Поцонi, допустим, есть массив, в котором RGBA
вида {"100, 255, 150, 130", "100, 255, 150, 130" }
Могу ли я на канвас их отрисовать? Если да, то как?
#528 #991862
>>991829
про new[] {1, 2} забыл
#529 #991974
Если нужно создать приложение с простым оформлением формочек, то есть ли смысл делать WPF?
#530 #992045
>>991830
Тогда уходи нахуй с этой работы. Ты понимаешь, что ты на ней не развиваешься?
992107
52 Кб, 1142x170
#531 #992083
ЕБЕШЬСЯ С ДЕПЕНДЕнСИ ПРОПЕРТИ ДВА ЧАСА, НЕ ПОНИМАЯ ПОЧЕМУ НЕ РАБОТАЕТ
@
НУЖНО БЫЛО ПЕРЕСТАВИТЬ ДВЕ СТРОЧКИ МЕСТАМИ


Это я дебил или компилятор?
992104
#532 #992104
>>992083
компилятор тут причем если он выполняет код в том порядке, в котором ты его наговнякал?
судя по всему, у тебя катились включение при регистрации биндингов, да?
992108
#533 #992107
>>992045
С тобой все в порядке? Так-то я фронтенд и сейчас меня перекинули на огромную легаси црм ебанину, которой уже больше 10 лет, мне просто ее развернуть локально нужно, а все шарперы в конторе нарасхват. По делу есть что сказать?
#534 #992108
>>992104

>катились включение


че
992189
#535 #992149
Нужно ли читать все книги из шапке в разделе для нубов? Или достаточно 1-2 книги?
#536 #992189
>>992108
валится исключение я по-моему писал
115 Кб, 1201x643
59 Кб, 804x542
#537 #992197
>>991767
Спасибо.
Немного переделал.
Теперь две проблемы - черный экран в не закрывающемся окне, если закрывать окно сразу после вызова без отработки других функций, и поиск.
Можно ли как-то сделать выбор поля Name по которому будет поиск в
var query = db.Users.Where(u => u.Name == str).ToList();
или надо на каждое поле писать отдельный метод?
992212
#538 #992201
Как годные инсталлеры пилите? Есть гайд?
#539 #992212
>>992197
Через рефлексию можно.
992223
#540 #992223
>>992212
Почитал, чет сложно :-(
992289
#541 #992253
Как годные инсталляторы пилите? Есть гайд?
992255
#542 #992255
>>992253
Без задней мысли, тащемта.
#543 #992289
>>992223
в твоем случае даже для использования рефлексии тебе придется загрузить из базы всю таблицу, а потом пытаться отфильтровать. поиск по конкретно в полю упрется либо в отдельный метод для каждого из, либо создание COMPUTED колонки для таблицы с данными вида (PropertyName|Value)(Property...) или как-то так. но это не проще
992314
#544 #992291
ананасы, делаю CRUD приложение на формочках использую ado net. нужно сделать так, чтобы все изменения в dataGridView комитились в базу по нажатию кнопки или на ходу, НО названия базы и таблиц не захардкожены, то есть их вводит пользователь в рантайме. Как это сделать? Подключить какой-то особенный data source, я так понимаю. Но какой?
#545 #992313
перекат будет?
245 Кб, 1210x806
#546 #992314
>>992289
Понятно.
Попытался сделать вот так, на строках работает, на интах ругается.
Чем фиксить?
992318
#547 #992318
>>992314
Вопрос снят, надо было преобразовывать в инт вне запроса.
#548 #992340
В общем повозился я со всем этим на линуксах и пришёл к выводу что это полная залупа. Куча костылей которые эмулируют виндовые утилиты и особенно выделяется нугет который ничего толком поставить не может.
Придётся ждать пару лет пока доделают неткор, а авторы Monodevelop полноценную интеграцию с ним. Или пускай студию на неткор портируют. Говнецо на JS которое они выкатили (VS Code) использовать невозможно, про поделки Jetbrains вообще молчу.
992397
#549 #992397
>>992340

>про поделки Jetbrains вообще молчу.


IntelliJ заебись жи
992403
#550 #992403
>>992397
Только для неё нужен игровой компьютер, потому что Java абсолютно не подходит для тяжёлых графических приложений, но ничего другого эти макаки не осилили. Хотя вот Monodevelop написан на C# и вполне приемлемо работает на старом ноуте.
31 Кб, 955x590
#551 #992513
Кто-то может сейчас зайти по пкм на проекте и Add -> New Item, а потом выбрать слева Online и глянуть на список доступных в C# WPF? У меня вчера и сегодня все работало, сейчас понадобилось добавить кое-что и УЖЕ НИХУЯ БЛЯДЬ НЕ РАБОТАЕТ. Я погуглил, и у некоторых тоже такие проблемы http://stackoverflow.com/a/44010139/8022879

VS15 Update 3
992517
95 Кб, 934x644
#552 #992517
>>992513
Все норм
992518
#553 #992518
>>992517
Это такой толстый траленг? Я же сказал

>пкм на проекте и Add -> New Item


а не создать новый проект. У меня тоже есть темплейты проекта, мне нужны темплейты айтемов.
#554 #992525
Например, в Form2 пишу
Form1 main = this.Owner as Form1;
Кто тут чей родитель? Form1 - родитель Form2 или наоборот?
992526
#555 #992526
>>992525

>Form1 main = this.Owner as Form1;


не программируй, плиз.
992529
#556 #992529
>>992526
поясни
992535
107 Кб, 591x585
#557 #992534
Как сократить кусок этого говнокода? https://ideone.com/6XMfx5
992535
#558 #992535
>>992529
this.Owner внезапно возвращает null, если ты до этого владельца не назначил.
>>992534
Он идеален.
992536
#559 #992536
>>992535
А в функцию не запихивается?
#560 #992633
Ломаю чужой ехе и охуеваю.
Через строку в коже конструкции вида:
if (2 != 0)
{
}
Это компилятор как то хитро "оптимизирует" код или это писатель постарался понаписать хуйни чтоб было сложенее понять что там происходит?
#561 #992636
Где почитать/посмотреть про реализацию модульности в проекте? Хотелось бы разобраться, как это создаётся: есть одна базовая программа, но при желании к ней присоединяются модули (плагины?), а потом отключаются.
#562 #992656
Тред утонул или удален.
Это копия, сохраненная 11 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски