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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #1013894
Ну раз такое дело то вброшу тему для обсуждения.
Так вот, в чем смысл кортежей? В примере с typle все высосано из пальца.
Ни разу не приходилось их использовать.
#3 #1013900
>>1013894
Я использовал как ключ для ассоциативного массива. Правда потом всё таки пришлось заменить на вручную написанный класс, потому что GetHashCode во встроенном типе выдавал слишком много одинаковых хэш-кодов для разных данных.
#4 #1013904
>>1013894
Сейчас используется когда программист лениться сделать нормальный dto. С сахаром из C# 7.0 можно даже не пидорасить за это на кодревью.
#5 #1013907
>>1013904
Ну возможно есть в этом смысл. Но взять на пример веб приложение, мне зачастую нужно возвратить некий обьект для сериализации в json и когда лишний класс мне нужен я просто использую анонимный тип.
#6 #1013914
FileStream fs = new FileStream("text.txt", FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
Random rnd = new Random();

for (uint i = 0; i < 10000; i++)
{
bw.Write(rnd.Next(0, 10000));
}

Почему пишет в файл символы, а не нужные мне рандомные цифры?
System.Diagnostics.Process.Start("text.txt");
fs.Close();
bw.Close();
#7 #1013917
>>1013914

> BinaryWriter


Используй StreamWriter же.
#8 #1013919
>>1013917
Binary короче и быстрей по таймингу
#9 #1013920
>>1013919
Так тебе надо текст в файл писать или чтоб быстрее? Тогда сам преобразовывай числа в бинарное представление, а потом и запихивай в BinaryWriter.
#10 #1013921
>>1013920
Не подскажешь как?
#11 #1013922
>>1013920
Так, блэт, почему символы а не числа?
#12 #1013926
>>1013921
Держи: https://pastebin.com/AkuLdjy3
Отрываю от сердца, так сказать.
#13 #1013927
>>1013926
Так сказать, благодарю
#14 #1013928
>>1013926
Ты спецом так переменные называл?
#15 #1013929
>>1013928
А то!
>>1013927
Алсо, функция будет падать, если на неё подать int.MaxValue. Либо добавь ветвление, либо запихни проверку в assert на всякий.
#16 #1013931
>>1013929
Но почему BinaryWrite пишет символы вместо чисел?
#17 #1013933
>>1013931
Он пишет бинарное представление числа. Т.е. например число 56, он записывает так: 56 00 00 00

Когда ты это открываешь блокнотом, он читает файл как массив текстовых символов, т.е. в данном случае он увидит символ '8' (у которого код 56), и после него три символа с кодом 0.
#18 #1013936
>>1013933
Между прочим это задание злоебучего GeekBrain
Хорошо, что я с торента спиздил, а не покупал это говно
#19 #1014006
>>1013936
О, на стажировку что ли хочется?
#20 #1014142
>>1014006
Объясни в чем прикол
#21 #1014278
>>1013936

> Между прочим это задание злоебучего GeekBrain


Мда... Вот после таких заданий вы приходите ко мне на собеседование и я обещаю вам перезвонить.
#22 #1014307
>>1013894
методы типа TryGetValue в дикшонари теперь без ебучих рефов можно писать
#23 #1014432
>>1014307
А по мне так out удобнее. Можно писать такие-то конструкции: if(dict.TryGetValue(key, out var value) && value == 0) { ... }
#24 #1014434
>>1014307
Нельзя. Твой код c TryGet будет выглядить так:

If (dict.TryGet(key).Exists) {

В результате тебе что, опять получать значение? Или присваивать значение переменной перед циклом? Чем это лучше существующего TryGetValue? Вот он >>1014432 правильно говорит, out переменные лучше
#25 #1014436
Подскажите, какая самая годная либа для рисования графов? Или мрак, тьма, свою писать?
#26 #1014437
>>1014436
Каких графов? И гуй какой используешь: WinForms/Xamarin/WPF/UWP?
#27 #1014440
Неориентированные графы. Хотя если будет поддержка ориентированных - будет хорошо. Вершин в среднем около 150 планируется, но иногда придется работать и с ~1000.
WinForms идеально было бы, но и WPF подойдет.
#28 #1014494
>>1014434
Я про совсем другой профиль использования.
var (isValid, result) = TruGetZalupa()
if (!isValid) throw new xui();
return result;
идея понятна? Так гораздо понятнее и логичнее код выглядит. У тебя не будет кода "попытайся сделать чето и в случае успеха верни рефом, а не главным результатом". Будет код, который возвращает нормальную модель по типу Validation Result. Реф значения часто говорят о залупе в коде.
#29 #1014499
>>1014494
if(!TruGetZalupa(out var result)) throw new xui();
return result;
#30 #1014582
>>1014499
ясен хуй, я так и пишу на шестом. Я не знаю как тебе еще идею донести, что этот сахарок очень редко когда нужен - когда нормальную модель мало смысла создавать.
#31 #1014596
>>1014582
Это другой анон. И на шестом ты так не напишешь из-за inline объявления out переменной
#32 #1014628
Сап, шарпаны. На чем писать desktop приложение, чтобы одинаково могло работать в Windows и Linux?
#33 #1014688
>>1013491 (OP)
Чаму ildasm.exe такой убитый? При попытке просмотра метаданных, закрывается. Нашел на стекОверФлоу, гайд по поиску рабочей версии. Перешарил свои Microsoft SDKs, одна из версий таки завелась. Сегодня, запускаю этот же .exe, и что бы вы думали? Крашит при попытке просмотра метаданных. Немного еще поковырявшись, выяснилось, что с .dll он работает нормально, а на .exe крашит.
#34 #1014710
>>1014628
Qt C++
#35 #1014711
>>1014710
Мне нужно на шарпе, клоун.
#36 #1014714
#37 #1014717
>>1014711

>Мне нужно на шарпе


Тогда забудь
#38 #1014723
>>1014717
Но вот Xamarin как-то работает на различных платформах, даже на iOS, что там используют?
#39 #1014725
>>1014723
Xamarin - мобильные платформы на шарпе. Линь никому не упал, никто к нему .net прибивать и не стал.
#40 #1014726
#41 #1014731
>>1014596
var не заметил, в остальном разницы нет. out var вообще трешак какой-то. Нахер такой метод тогда нужен?
#42 #1014747
Зекач, если открыть pdf-файл блокнотом, там будут блоки
stream
...
endstream
Как декодировать их содержимое?
#43 #1014820
>>1013491 (OP)
ребята, тут был тред про программирование на языке Goviajii, куда он делся? Есть пара вопрос по имлементации алгоритма верстки
#44 #1014895
>>1014731
Какой метод? TryGetValue выполняет свой контракт, а именно не бросает эксепшн если элемента нет. С сахарком из 7.0 и инлайн декларейшном out переменных TryGetValue вполне ок и выглядит, и работает.

Таплы, с другой стороны, всегда пахли хаком. Ты вводишь implicit DTO объект в свой код потому что тебе лень ввести полноценный тип. Без сахара из 7.0 за такое на нормальном кодревью рвут жопу потому что разбираться что такое этот ваш Item420 никто не хочет.

С сахаром из 7.0 таплы пойдут на роль poor man's DTO. Это и есть их истенное предназначение.
#45 #1014912
>>1014895
да я о том же - хуй пойми где это нужно, очень мало сценариев.
#46 #1014936
Какая разница между form.Close() и form.Hide()? После form.Show() все изменения на месте в обоих случаях (в общем, то что мне и надо) или после клоза гк можежет подчисить форму и у меня вылезет эксепшн?
https://pastebin.com/yVtpZV4U
#47 #1014941
>>1014936
Hide просто делает форму невидимой. Close это керестик в правом верхнем углу.
https://msdn.microsoft.com/ru-ru/library/system.windows.forms.form.close(v=vs.110).aspx
#48 #1014943
>>1013919
Куда спешишь, дарагой?
#49 #1014945
>>1014943
Слющай да, сядь чаю попей. Зачем спешишь смешишь, да? Попей чаю, может умная мысль придёт. /dev/random /dev/urandom всё уже "записано", да. Читай- нехочу.
#50 #1014946
>>1014936

> можежет подчисить форму и у меня вылезет эксепшн


Ну так добавь strong ref на форму куда-нибудь, тогда и не подчистит. Что за малышня, не умеют даже утечки памяти создавать.
#51 #1014965
Есть длинная строка
yield return new WaitUntil(() => x > 0)
можно её свернуть как в плюсах:
#define wait ..
?
#52 #1014968
>>1014965
Нет. Программирование на макросах - хуёвая затея. Если хочется писать меньше - введи переменную или выдели функцию.
#53 #1014974
>>1013926
Если ты мне такой код на собесе напишешь, я даже в смысл вникать не буду.
#54 #1014978
сап, утренний
попросили написать код на с#, а я до этого только на с++ писал
после нескольких часов получилось вот это -
https://pastebin.com/QH7uLdse
т.е. в цикле на каждой итерации создаются новые потоки
после каждой итерации ждем их завершения
но этот код по какой-то причине работает раз в 10 быстрее на 1 потоке
16 секунд на одном потоке
~3 минуты на 4ёх

подскажите, пожалуйста, где я ошибаюсь
повторюсь, с шарпом почти совсем незнаком
#55 #1014981
>>1014978
тебе именно с тредами задача была поставлена? В шарпе давно есть обрастракция над ними, которая в большинстве случаев подходит и удобнее - TPL и конкретно тип Task. Запускаешь параллельно таски
А почему в 10 раз быстрее на одном потоке - хз. Зависит от того, чем потоки заняты.
#56 #1014982
>>1014981

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



Нет, задача была распараллелить вычисления
#57 #1014986
>>1014982
тогда сделай с тасками:
var tasks = Enumerable.Range(0, threadCount).Select(x => Task.Run(action));
Task.WaitAll(tasks);
#58 #1014990
>>1014978
Я хз что именно у тебя там потоки делают. Но если у тебя там моссаив объектов и над каждым из них нужно что то сделать, то копай в сторону Parallel.ForEach() или AsParallel() методов.
#59 #1015025
>>1014974
А ты на бумажке даёшь написать или на доске?
#60 #1015027
>>1014978
Треды в сишарпе(да и вообще) очень тяжёлые, на них нужно выделять контекст, запускать, выделять под них время, да ещё и при малом количестве вычислений контекст свапинг(сохранение и загрузка состояний при разделении времени между тредами) начинает жрать больше, чем вычисления
>>1014981
Вот этот анон правильно говорит, таски реализованы в виде пула тредов, где их не надо каждый раз заново создавать, поэтому хотя бы издержек будет меньше.
#61 #1015029
>>1015027

>при малом количестве вычислений


точнее наоборот, при огромном количестве очень простых вычислений, на видеокартах такое норм, потому что там именно что отдельные процессоры работают, а тут несколько ядер, у которых немного не настоящая параллельность вычислений, которая просто скачет по тредам, выполняя каждый по несколько наносекунд перед тем, как перейти к следующему.
#62 #1015087
>>1015025
Похуй, как тебе удобно, можно даже в IDE.
#63 #1015092
>>1014974
И что тебе не нравится в моём коде? Или может ты русофоб и не любишь переменные с русскими именами?
#64 #1015118
>>1015092
Скорее всего, тяжело воспринимать смесь ключевых слов языка и названий функций/типов из системных библиотек на ангельском и переменных и пользовательских типов на русском.
К тому же ты непоследователен

>while(chislo != 0) {


> for(uint i = 0; i < 10000; i++) {


Т/е даже на таком простом уровне - код говно.
#65 #1015121
>>1015118

> ты непоследователен


Функция main спопипащена из поста того анона. Я только добавил парочку using для закрытия записи файла.
#66 #1015127
>>1015121
Не уверен, что использование чистого байта, лучше чем (byte)'0', понадобилось время, чтобы понять что это символ нуля, как и для пробела.
#67 #1015233
>>1014982
Два варианта:

1) В коде есть локи и каждый поток входит в этот лок и этим самым убивает всю многопоточность
2) результаты от каждого потока ты кладешь в один и тот же массив, тем самым триггеришь false sharing

Вообще, идея про таски самая годная. Если таски не подходят - смотри на локи или false sharing.
#68 #1015238
>>1015092
Для таких как ты - шарп поддерживает юникод в названиях переменных и классов. Не надо ебать чужие глаза транслитом, пиши на русском если не "руссофоб".
sage #69 #1015241
>>1015238

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


> крики каких-то безумных про русофобов



Ах, да, это же тред сишарподебилов.
#70 #1015244
>>1015241

>Зеленый текст


>Сажа


>$"{language.Name}дибилы"



Ясно.
#71 #1015259
>>1015233

>2) результаты от каждого потока ты кладешь в один и тот же массив, тем самым триггеришь false sharing


переписал на таски
результат кажется стал быстрее
но энивей проблема осталась, видимо действительно из-за одного и того же массива в потоках, спасибо
попробую его разделить и помещать в каждый поток отдельный массив
#72 #1015263
Такой вопрос: если я запущу тысячи Task'ов одновременно, которые ждут на семафоре, у меня систему не распидорасит?
Как это вообще будет? Они достигнут лимит threadpool и потом настакаются и займут его навсегда? Или как
#73 #1015276
слава аллаху, проблема решена.
проблема действительно была в false sharing
спасибо всем, кто отозвался
#74 #1015283
>>1015263
Зачем нужен семафор? Хороший способ получения линейной скалируемости - спиздить map reduce из функционального программирования. Каждый тред получает свой кусок начальной даты, каждый тред высирает свой кусок конечной даты. После завершения работы всех тредов результаты каким-то образом объединяются. Во время работы никто не пишет в общую для тредов память (читать можно)

Тред пул, как и любой ресурс пул, имеет ограниченное кол-во тредов в своем распоряжении. Остальные будут весеть в планировщике со статусом "Таска Запланирована", её код не будет выполняться до тех пор пока другая таска не закончится и не освободит тред. Если таска должна работать долго стоит при старте дать планировщику хинт, что таска является LongRunning. В этом случае под неё выделится отдельный тред.

С тысячей LongRunning тасок процессор будет тратить дохера времени на переключение контекстов и производительность будет страдать.
#75 #1015325
>>1015259
Это не избавит тебя от false sharing, о котором кукарекал тот анон. Суть той проблемы в вымывании cache line и размещение по отдельным массивам ничего не решит. Но что важнее, к твоей просадке относится едва ли.
#76 #1015406
>>1015263
Так, я разобрался. SemaphoreSlim WaitAsync() не создает тредов, а просто работают по принципу callback'а (т.е. когда вызывается Release(), то завершается один из ожидающих task'ов и соотв. продолжается выполнение async метода).

>>1015283
Ну вообще мне надо что-то загрузчика. Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов.
Как это лучше сделать? Семафором или хранить список задач
#77 #1015538
Аноны, сильно ли меня будут пиздить коллеги, если я буду использовать тернарный условный оператор? Не постоянно, а в совсем очевидных и простых вещах уровня
Bla c = a.num > b.num ? a : b;
#78 #1015541
>>1015538
Я постоянно использую. Длинные выражения нужно просто разбивать на строки:
var result = Foo.Yoba.Batya.Childs.Include(Buzz.Peka.Age) ?
"Yoba and Peka are brothers" :
"Peka isn't brother of Yoba";
#79 #1015547
>>1015541

> 2017


> вбивать строковые константы в исходник, а не файл ресурсов

#80 #1015548
>>1015538
Тернарники это норм.
#81 #1015563
>>1015547
Я не умею создавать ресурсы без IDE.
#82 #1015747
>>1015259
чето хуйня какая-то. Объясни задачу подробней. Почему таска не может возвращать результат и мержить его в дальнейшем?
#83 #1015752
>>1015547
нахуя на сервере? какой профит, если их не нужно менять на лету? только сложность увеличивает
#84 #1015763
>>1015752
Профит в том, что если тебе их придётся поменять/перевести/удалить, тебе не придётся с вилкой по коду чистить. Но это не относится к тому примеру.
#85 #1015764
>>1015752

> нахуя на сервере?


Для упрощения локализации если она понадобится? Я не говорю про строковые константы в ассертах и подобном, которые кроме самих разработчиков никто не увидит.
#86 #1015770
Как можно синхронизировать текстовый и видеочат таким образом, чтобы сообщения у зрителей трансляции появлялись тогда же, когда они появляются у автора видеотрансляции
#87 #1015771
>>1015770
Это не совсем C#, ну да ладно.
#88 #1015772
>>1015770
Ну в смысле у автора трансляции на видео. То есть еще надо учитывать задержку видео
#89 #1015776
>>1015763
не придется переводить.
Если захочу удалить - удалю. Захочу поменять - поменяю. В чем проблема? Еще и тестирование усложняет лишними зависимостями.
#90 #1015778
>>1015776
А я не захочу, и пожалуюсь начальнику на тебя
#91 #1015781
#92 #1015784
>>1015781
Ну типо не буду я за тобой чистить, а если за тобой никому и не надо чистить, то сиди дальше в своём хардкоде один и не спорь
#93 #1015787
>>1015784
объясни в чем профит, если мне не нужна локализация?
#94 #1015791
>>1015787
Я же пояснил ещё 2 профита, проблема в том, что никому, даже тебе, через пару месяцев не будет интересно перелопачивать код ради нахождения всего этого хардкода хуй знает где, как ты его вообще будешь искать, если забудешь где он? По кавычкам? А их у тебя там миллиард, т.к. у тебя везде хардкод стринги. Если проект из двух файлов, то профита нет(тут я и не спорю), дальше уже начинается путаница и проблемы.
#95 #1015796
>>1015791
5-летний проект со 100+ csproj, каждый из которых немаленький. Вообще не пользуюсь ресурсами. Где путаница и проблемы-то? Ну надо мне ее поменять и не знаю, где она находится - найду полнотекстовым поиском и всё. Где проблема? На преждевременную оптимизацию больше похоже
#96 #1015805
>>1015796
Ну а ещё это раздувает бинарник, что тупо, никто не хранит 3д модели и музыку хардкодом в екзениках. Короче, нравится тебе хардкодить - хардкодь, я очень рад, что твоя мина ещё не рванула, надеюсь, другие программисты её не увидят никогда.
#97 #1015809
>>1015805
20+ разработчиков пишут со мной так же, бинари вроде не жирные, да и похер вообще, когда у тебя десятки сервисов в несколько реплик. Что рвануть-то может?)
#98 #1015814
>>1015809
Меня твои истории не интересуют, я таких тебе сто штук могу рассказать только с обратной стороны, если у вас какой-то говнокод и ничего не разваливается, это не проблема использования или не использования ресурсов и к теме вообще не относится.
#99 #1015819
>>1015814
Дак не говнокод там. Говнокод это как раз использовать хуйню, которая добавляет сложности разработки и тестирования, которая никогда не пригодится.
#100 #1015823
>>1015819
Не обращай внимания, это игродел. У них там своя музыка.
#101 #1015825
>>1015823
хуево им живется, если у них из-за строк почему-то все разваливается.
#102 #1015910
>>1015406

>Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов.


TPL Dataflow гугли. Годный actor-based фреймворк над стандартным TPL.
Можно, конечно, самому TaskScheduler пердолить, но нахуя писать бойлерплейт (который уже написан), когда можно писать код?
#103 #1015969
>>1015547
А можно сделать так, чтобы они автоматом записывались в ресурсы?
#104 #1015973
>>1015406

>Ну вообще мне надо что-то загрузчика. Я добавляю туда много загрузок, а он загружает ограниченным числом task'ов.


>Как это лучше сделать? Семафором или хранить список задач



await\async еще не завезли тебе?
#105 #1016136
Как правильнее делать: использовать закрытое поле внутри этого класса или открытое свойство
#106 #1016171
Гайз, мне нужен массив (преобразованный из строки) длинной 21 символ (по факту байт, но не суть), не зависимо от того был он больше или меньше до преобразования. Я конечно могу сделать ветвление типа if-else и в зависимости от больше-меньше обрезать или наращивать "\0" символами, но может есть способ ЭЛЕГАНТНЕЕ?
#107 #1016172
asdfCollection.Take(21).ToArray();
#108 #1016177
>>1016172
А если строка у меня меньше 21 байта, то в этой конструкци где указано что дополнить не достающие символами "\0"
#109 #1016181
>>1016177
Collection.Take(21).Concat(ArrayOf21NullBytes).Take(21).ToArray();
#110 #1016186
>>1016171
const int maxLength = 21;
var result = string.Length > maxLength ? string.Substring(0, maxLength) : string.PadRight(maxLength, '\0');
#111 #1016202
Бля, ну ребят, как правильнее: внутри определенного класса в его методах использовать приватные поля или публичные свойства?
#112 #1016206
Коль уж я в ударе
Есть некий файл таблицы где данные идут (условно)
номер (short - 4 байта), Единица измерения - (11 char символов по байту в блядской кодировке 866), коэфицент (float), имя - (21 char)
Считывая этот файл я загоняю его в "List<ListArray> resultTable" с помощью
ByteArrayConvert(new BinaryReader(new FileStream(path, FileMode.Open, FileAccess.Read), System.Text.Encoding.GetEncoding(866))) ну или вместо FileStram простой Stream
и очевидно цикла методов:

> this.tempList.Add(arr.ReadInt16());


> string unit = new string(arr.ReadChars(11));


> this.tempList.Add(unit.Remove(unit.IndexOf("\0")));


> this.tempList.Add(arr.ReadSingle());


> string name = new string(arr.ReadChars(21));


> this.tempList.Add(name.Remove(name.IndexOf("\0")));


> this.resultTable.Add(new ArrayList(tempList));


> this.tempList.Clear();



т.е. я гарантированно знаю что какой тип у меня находится по адресу массив[x][y] Когда же мне нужно записать в файл для преобразования элемента массив[x][y] в массив байтов приходится применять подобную конструкцию:
byteArray.AddRange(BitConverter.GetBytes(Convert.ToSingle(arrayOfData[k].ToString())));
Но необходимость перегона (допустим) float в строку, а потом во float кажется мне неразумной (а т.к. еще не проверял, то и не факт что рабочей), как сделать правильнее?
#113 #1016214
>>1016186

>const int maxLength = 21;


>var result = string.Length > maxLength ? string.Substring(0, maxLength) : string.PadRight(maxLength, '\0');


В выделеном разве не 20 будет?
#114 #1016217
>>1016202
свойства (автоматические офк) имхо
#115 #1016219
>>1016202
Если код за пределами класса не модифицирует, то приватные поля.
#116 #1016252
>>1016206
Пишу с поля боя, проблема в кодировке при сохранении, если в изначальной (cp866) допустим буква "к" это 33, то при сохранении получается буква "к" это уже 3a 04, и гугля ничего не выдает. Либо это не кодировка, а в механизме

byteArray.AddRange(BitConverter.GetBytes(Convert.ToChar(arrayOfData[k].ToString())));

что-то переебывается.
#117 #1016253
>>1016217
>>1016219
Так как всё-таки делать?
#118 #1016357
>>1016253
нахер тебе публичные поля, если они используются только внутри класса? Ты им сеттеры еще публичные сделай, поешь говна, а потом иди учи solid
#119 #1016543
>>1016206
Ты с крестов пришел, да?
#120 #1016559
>>1016252
В общем чтобы было нормально, сделал так
byteArray.AddRange(Encoding.GetEncoding(866).GetBytes(arrayOfData[k].ToString().Substring(0, 11).ToCharArray()));
#121 #1016560
>>1016543
их и джавы, по этому пишу this.
#122 #1016588
>>1013491 (OP)
бутте людьми
дайте ссылку на Goviajiy
И может у кого сохранились книги по нему
#123 #1016601
>>1016588
Goviaji правильно пишется, так не найдешь ничего. В даркнете есть литература. Корпорации стараются скрывать информацию, чтобы толпы безработных кодеров не начали бунтовать и все ломать вокруг.
#124 #1016672
>>1016206
Как всё исправить:
1) Сожги свою работу/шарагу нахуй, чтоб ничего не осталось
2) Прочитай про маршаллинг в решетках, в частности про StructLayoutAttribute (Kind = Explicit)
#125 #1016764
>>1016672
Лол, я геологом работаю и изучаю для себя, зачем мне сжигать свою работу?
#126 #1016766
>>1016672

>маршаллинг


Энивей за наводку спасибо.
#127 #1016830
Двач, помогите.
Допустим есть класс с приватными полями и публичными автоматическими свойствами.
Если мне в методе этого класса понадобилось значение которое, можно получить, офк, и через свойство и через поле, а также могу его назначить, опять же через что лучше?
#128 #1016873
>>1016830
Обычно свойства в таком случае делают с каким-то дополнительным кодом: например верификацией данных или созданием события, что свойство изменилось.

Если такого кода нет, то похуй.
#129 #1016874
>>1016873
Алсо, иногда так реализуют ленивые вычисление. При первом доступе свойство вычисляется и сохраняется в поле, а во втором и последующих выдаётся из поля.
#130 #1016986
дано:
json.net, json вида { huy : 30, pizda : 20 },
3 класса:
class Huy { public int huy }
class Pizda { public int pizda }
class HuyPizda { public Huy huy; public Pizda pizda; }

надо: десесериализовать этот json в класс HuyPizda
#131 #1017032
>>1016986
А от нас то что надо?
sage #132 #1017180
>>1016986
Почему не хочешь в
class HuyPizda
{
public int Huy;
public int Pizda;
}
?
#133 #1017183
>>1017180
Потому что не хочу. У меня в этих объектах методы, которые работают с этими данными. Я хочу сразу возвращать эти 2 объекта.
Дурное API возвращает данные из двух объектов вставленные в один json.
В общем я придумал алгоритм для конвертера. Но это придется все самому десериализовывать через рефлексию
#134 #1017187
>>1017183

>Потому что не хочу


Так себе причина.
>>1017183

>У меня в этих объектах методы, которые работают с этими данными


Было бы проще, если бы показал пример реального ответа. Потому что исходя из твоего примера - ты занимаешься херней.
>>1017183

>Но это придется все самому десериализовывать через рефлексию


Ну ели так хочется... Хотя прогрессивное человечество использует Json.Net.
#135 #1017227
>>1016986
Можешь использовать newtonsoft и заделать свой резолвер.
https://stackoverflow.com/questions/22268478/serialize-and-deserialize-custom-type-using-newtonsoft-json-without-attributes

Шо-то такое.
#136 #1017283
Двач, помогите.
Допустим есть класс с приватными полями и публичными автоматическими свойствами.
Если мне в методе этого класса понадобилось значение которое, можно получить или изменить/назначить, офк, я могу сделать это и через свойство, и через поле. Через что лучше делать по правилам хорошего тона?
#137 #1017286
Как запомнить выбранный ранее каталог в FolderBrowserDialog
#138 #1017293

>>>>1017283


Public class TestClass
{
private int varA;
private int varB;

Public int sum {get;set;} =0; // c# 6.0 feature

public MethodAB (int VarA, int VarB)
{

varA= VarA;
varB= VarB;

sum = VarA+VarB;

return sum;
}

}
#139 #1017294
>>1017283
Через свойство офк.
#140 #1017296
>>1017294
Хорошо, что я так и делал, спасибо!
#141 #1018040
Чет я заебался.
При каких ошибках WebRequest'ов нужно пытаться повторить запрос. Ведь такие временные ошибки могут быть на уровне соединения, так и на уровне протокола.
Где об этом можно почитать
sage #142 #1018125
>>1014628
.NET Core + Avalonia
Не знаю, насколько это вообще пригодно для реальных задач, но это лучшее, что сейчас есть.
Проще на линуксе вайн иметь.
#143 #1018138
Сап, програмач. Мне нужно сделать укоротитель ссылок. Пишу на сишарпе. Сделал вебприложение на .нет коре. На первом пике я ввожу ссылку - нажимаю кнопку шорт и она заносится в бд(пик 2), где ей в соответствие ставится новая ссылка(каждый раз она просто инкремируется на единицу пока)
Как мне сделать так, чтобы теперь при нажатии новой ссылки - у меня происходил переход на соответсвующую ей исходную ссылку?..
#144 #1018156
>>1018138
Селекти изначальную ссылку выбирая по короткой.
#145 #1018160
>>1018156
можешь поподробнее написать. Я тебя не понимаю.
#146 #1018468
>>1018160
Чего ты блять не понимаешь? У тебя две ссылки, первую тебе дали, вторую ты сгенерил. Запомни обе в базе данных. Когда тебе дадут обратно короткую, просто достань по ней длинную.
#147 #1018472
>>1018468
Я так и делаю, а оно все равно не работает. При нажатии на сокращенную ссылку он откывает локалхост../1070. Где 1070 - это последняя сделанная запись, хотя должен был быть редирект на иссходную.

namespace shorturlec.Controllers
{
public class HomeController : Controller
{
Class1 i = new Class1();
urlContext db;

public HomeController(urlContext context)
{

db = context;
}
public IActionResult Index(int number = 0)
{
ViewBag.num = number;
return View(db.urls.ToList());
}

public IActionResult About()
{
ViewData["Message"] = "Your application description page.";

return View();
}

public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";

return View();
}
public string Hello()
{
return "Hello ASP.NET";
}
public IActionResult Error()
{
return View();
}

public IActionResult sum(int number)
{
ViewBag.num = number;
return RedirectToAction("index");
}
[HttpPost]
public IActionResult adding(url website)
{
url prevWebsite = db.urls.LastOrDefault();
int i = prevWebsite.id + 1;
website.konecnoe = "/" + i;
db.urls.Add(website);

// сохраняем в бд все изменения
db.SaveChanges();
return Redirect(@"index?number=1");
}
public IActionResult LocalRed(url konecnoe)
{
url a = db.urls.LastOrDefault();
return LocalRedirect(a.konecnoe);
}
}
}
#147 #1018472
>>1018468
Я так и делаю, а оно все равно не работает. При нажатии на сокращенную ссылку он откывает локалхост../1070. Где 1070 - это последняя сделанная запись, хотя должен был быть редирект на иссходную.

namespace shorturlec.Controllers
{
public class HomeController : Controller
{
Class1 i = new Class1();
urlContext db;

public HomeController(urlContext context)
{

db = context;
}
public IActionResult Index(int number = 0)
{
ViewBag.num = number;
return View(db.urls.ToList());
}

public IActionResult About()
{
ViewData["Message"] = "Your application description page.";

return View();
}

public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";

return View();
}
public string Hello()
{
return "Hello ASP.NET";
}
public IActionResult Error()
{
return View();
}

public IActionResult sum(int number)
{
ViewBag.num = number;
return RedirectToAction("index");
}
[HttpPost]
public IActionResult adding(url website)
{
url prevWebsite = db.urls.LastOrDefault();
int i = prevWebsite.id + 1;
website.konecnoe = "/" + i;
db.urls.Add(website);

// сохраняем в бд все изменения
db.SaveChanges();
return Redirect(@"index?number=1");
}
public IActionResult LocalRed(url konecnoe)
{
url a = db.urls.LastOrDefault();
return LocalRedirect(a.konecnoe);
}
}
}
#148 #1018473
@model IEnumerable<shorturlec.Models.url>
@{
//ViewData["Title"] = "ASAS";

}
<section class="shape">
<div class="fromtop">
<form method="post" action="/Home/Adding">
<input class="a1" type="text" placeholder="input your url" name="iskomoe" required>

<input class="a2" type="submit" value="SHORT!">
</form>
</div>
</section>

<table>
@foreach (var urls in Model)
{
<tr>
<td><a href="@urls.iskomoe">@urls.iskomoe</a></td>
<td><a href="/Home/LocalRed">aaa</a></td>
</tr>
}
</table>
#149 #1018526
>>1018040
Ну можно почитать Таненбаума нужно, потому что вопрос элементарный
#150 #1018527
>>1018125
Авалония пока ещё в зачаточном состоянии, доков нет
Никита, ты?
#151 #1018666
Анон, я пхп-макака, уже год работаю. Времени мало, заебываюсь жутко. У меня такой вопрос: хочу перекатываться за бугор через 3-4 года (когда вуз закончу). Живу в мухосрани и у нас нет ни одной вакансии на шарпе. Стоит ли учить шарп? Бывает ли такое, что джунам высылают офферы крупные компании или джун сам шлет предложение, его рассматривают и берут работать?
#152 #1018698
как редирект сделать на сторонний ресурс?
кун>>1018473
>>1018472
>>1018138
#153 #1018730
Есть у кого-нибудь C# 6.0. Справочник. Полное описание языка. 6-е издание в pdf?
#154 #1018753
>>1018666
Бывает, но не с тобой, эмигрант ты мамкин.
#155 #1018754
>>1018730
Есть, а що
#156 #1018803
>>1018754
Скинь, анончик, пожалуйста.
#157 #1018806
>>1018803
Куда?
#158 #1018820
>>1018806
Сюда.ргхост
#159 #1018829
>>1018820
Мне лень лить гиг книг на ргхост
#160 #1018840
>>1018829
Ну залей на бесплатное облако мейла или яндекса, будь человеком.
#162 #1018882
>>1018875
Анончик, ты просто лучший!
#163 #1018898
>>1018875
Одна книга на целый гиг? Колись что в архиве.
#164 #1018902
Аноны, в C# можно делать запросы к базе без Entity Framework? Если да, то какие варианты?
#165 #1018924
>>1018902
ADO.NET же. На нем и построена EF. Для маппинга своих моделей можешь использовать dapper или свое накостыляй(у меня в одном старом проект это один экстеншон метод для ридера.
#166 #1018938
>>1018924

>ADO.NET


Оно еще не сдохло? У .NET беда с документацией. Язык отдельно, другие технологии отдельно, версии языка темный лес. Документация разбросана по разным сайтам.

C .NET Core совместимо не знаешь?
#167 #1018941
>>1018924
Слушай, я нуб, получается для доступа к базе нужен либо драйвер, либо ORM? Еще есть Data Mapper какой-то.
#168 #1018950
>>1018898
Интимный пак твоей мамаши.
#169 #1018954
>>1018938
В смысле сдохла? Это основная технология для работы с базами.
Все доки есть у мягких, просто гугли. Для ado.net нужен драйвер для твоей бд, все есть в nuget, доки к драйверу соответственно на сайте разработчиков. Хотя они там все реализуют одинаково, с небольшими особенностями под бд.
Ну типа просто гугли, доков навалом. SO завалено ответами на любой твой вопрос.
С net core все ок, в текущем netstandart оно реализовано.
#170 #1018955
>>1018954
Так что получается, кроме ADO.NET еще драйвер нужен? Я думал это и есть драйвер. Зачем тогда нужен ADO.NET? Можно ли одним драйвером обойтись?
#171 #1018958
>>1018955
Ты не понял. ado.net это просто набор классов и интерфейсов, которые реализуют провайдеры(драйверы).
Ты бы хоть литературу из шапки почитал, там все это должно быть расжевано.
#172 #1018969
>>1018958
Спасибо и на этом. Просто хочу понять как работают с базами с нуля, без всяких библиотек. Тем более классы всякие меня раздражают, оверинжинирг какой то. Можно и функциями обойтись. Я только учусь, мне как бы неохота тащить на себе весь зоопарк.
#173 #1018978
>>1018969
Лол, сярп это ООП-язык. Тут ты от этого никуда не денешься.
К тому же ado net это часть стандартной библиотеки, разве что драйверы для других баз, окромя скульсервера, поставляются другими разработчиками.
Я понимаю что новичку проще понять процедурное программирование, но типа миром правит ООП. Оно и вполне заслуженно.
Тебе для начала лучше с ооп познакомиться, а то ты явно будешь писать процедурщину на классах.
С каким яп ты знаком?
#174 #1019007
>>1018978
C# мультипарадигменный язык. Прибивать гвоздями данные к функциям считаю дурной идеологией.

И самое главное. Какое отношение классы имеют к моему вопросу? Когда пишут драйвер для БД, используют же какое то api, значит можно работать с базой без библиотек.
#175 #1019027
>>1019007
Вся мультипарадигменность это пара прикалюх с фп.
Чувак, это не похапе где в стандартной библиотеке есть функции и классы для работы с конкретной базой(расширения на сишечке), которые и используют в своих поделках и ОРМ.
Здесь драйверы низкоуровневые и они работают напрямую с сокетами.
5 Кб, 225x250
#176 #1019053
Жду вменяемых ответов. Беру пример JSON ответа с опенвезера, бью по классам. В них прописываю JSON атрибуты. В эти же классы буду десериализовать сам запрос. На этом шаге туплю. Энтити фреймворд сущности можно создавать на основе JSON классов, или пилить еще классы-прокладки, которые и буду записывать в БД? БДшить всеь джсон? Так, как у нас webapi, для клиента будут еще ДТО. Не много ли "одинаковых" классов и лишнего кода. Не могу въехать. Грамотный анон помоги.
#177 #1019060
>>1019053
Не совсем понимаю что ты хочешь. Можешь десереализовать ответ от стороннего апи сразу на свои ef сущности, сохранить их в бд, и затем отдать через свое апи.
Если я конечно правильно тебя понял.
#178 #1019067
Как именовать перечисления в единственном или множественном числе?
enum Figure {Huy, Pizda}
enum Figures {Huy, Pizda}
#179 #1019075
>>1019053

>Не много ли "одинаковых" классов и лишнего кода. Не могу въехать. Грамотный анон помоги.


Ну вообще много. Но по идее надо отделять EF-сущности от сущности запросов к стороннему сервису. К тому же обычно эти ответы нужно немного форматить под свою задачу, не знаю, как у тебя там. Automapper позволяет быстро перегонять из одного класса в другой. Такие дела.
#180 #1019182
Вопрос по студии, почему когда загружаешь решение из тфс через сурс контрол, он сдергивает вообще все проекты на уровне решения и ниже. Может есть настройка что бы он загружал локально только те файлы, которые входят в решение?
#181 #1019217
>>1019067
https://msdn.microsoft.com/en-us/library/ms229040(v=vs.100).aspx

Do use a singular name for an enumeration, unless its values are bit fields.
Do use a plural name for enumerations with bit fields as values, also called flags enumerations.
#182 #1019394
>>1019182

Отвечайте
#183 #1019575
Компадрес, так вышло, что мне на работе достался asp.net сайт, который, внезапно, весь на http handler'ах .ashx за исключением главной страницы. Вероятно, это сделано, потому что на сайте есть статичный сайдбар, и через .ashx меняется контент центральной части страницы.
Никаким MVC там и не пахнет, разметка выводится через статические расширения для string'ов - .Echo();. Для этого аж сделан отдельный проект .
Я вообще то не веб девелопер (не считая нескольких месяцев на php) и в особенностях ASP не особо силен. Собственно, мой вопрос - реально ли малой кровью переделать этот сайт с текущей архитектуры на MVC? Я это к тому, достаточно ли будет мне просто выдернуть логику с OnProcessRequest от .ashx и вставить его в контроллер страницы .aspx, а разметку закинуть в ассоциированный view, или при создании asp.net mvc проекта там создается много предварительно сгенерированных файлов и настроек, которые самому делать очень муторно?
2 Кб, 180x72
#184 #1019625
Добрый день, я новичок.

Мне хочется подключиться к БД оракл из C#. Сама БД и клиент у меня установлены, в самой вижуал студио у меня получается подрубиться к БД в качестве источника данных, см. пикрелейтед.

В C# я пишу

>using System.Data.OracleClient;



однако получаю ошибку

>The type or namespace name 'OracleClient' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)



Пробовал менять версию .NET, ничего не выходит. Как сделать так, чтобы C# видел, что у меня на компе присутствует System.Data.OracleClient.dll?
#185 #1019633
>>1019625
Извините, ради бога, я тупая мразь, мне просто следовало добавить соответствующий reference.
#186 #1019641
>>1019633
Я вот тоже по первой ссылке из гугла это понял, но ты решил насрать сюда вместо забивания ошибки в гугл. Хотя я - питонист, случайно завалился.
На самом деле жду пассива - шарп разработчика, который даст мне денег, чтобы я приехал к нему в Штаты и бомбил его в попку.
#187 #1019651
>>1019641
подразумевает, что пассивчики это не питонисты
#188 #1019656
>>1019651
Ну, по разному
#189 #1019680
Тут нихуя не отвечают, нахуя эту борду дегенератов вообще запилили.
#190 #1019688
>>1019680
Двачую
Пиши на стэковерфлоу, или ищи менторов в соцсетях
#191 #1019711
>>1019680
Это скорее проблема шарпотредов. В тредах про крестах и си активно помогают.
#192 #1019715
>>1019575

>aspx


Это же для Webforms. Оно вообще по другому работает. Так что малой кровью очень вряд ли.

>или при создании asp.net mvc проекта там создается много предварительно сгенерированных файлов и настроек, которые самому делать очень муторно?


Нет, там всё достаточно просто же.

>>1019680
Лол, а ты чего хотел то. Довольно вялый тред. Можешь на реддите темки создавать или стэк читать. Там народ шустрый.
#193 #1019727
>>1019711
Ты прав. Давно заметил, что по шарпу нет ни одного русскоязычного сообщества. Даже в тех чатах где есть комнаты по шарпу, никто не отвечает.
#194 #1019730
>>1019727
Не, ну почему. Если ты ИТТ скажешь, что Х лучше C#, то тебе тут же скажут, почему ты не прав и что тебе засунули за щеку.
#195 #1019735
>>1019688

Н SO стыдно писать, я как-то запилил глупый вопрос на ломаном английском, так там сам Джон Скин на него полез отвечать, так стыдно было перед ним. Тут хоть анонимно всё делается.
#196 #1019752
Ребятки-ребятушечки, хелпаните плес.
В общем, пытаюсь разобраться в сраном wpf, а именно в mediaelement. Как на кнопку запрогать паузу в воспроизведении видео?
private void Button_Click(object sender, RoutedEventArgs e)
{
MediaElement t = new MediaElement();
t.Pause();
}
Пусть так будет, лень в пастбин лить

Вот с этой херни вылет происходит
#197 #1019754
>>1019752
https://msdn.microsoft.com/ru-ru/library/system.windows.controls.mediaelement.pause(v=vs.110).aspx
Условие избежания InvalidOperationException выполнил?
17 Кб, 1003x84
#198 #1019761
>>1019754
Короче, немного другая проблема :))))))
#199 #1019784
Аноны, начинать лучше с c# players guide или курса на курсере?
#200 #1019848
>>1019784
Начинать лучше с задачи.
#201 #1019855
>>1019848
Ну я понимаю, я вообще хочу в игры или хотя бы крудошлепить за деньги. Фишка курса на курсере в том, что там учат игоры делать (типа база шарпа + введение в игрострой), но на xna, а он сдох.
#202 #1019859
>>1019855
Ну тогда проследуй в unity/ue тред. Игры это не только программирование и не только шарп.
#203 #1019870
>>1019784
С алгоритмов и структур данных, срсли, намного легче будет воспринимать всякое говно, которое часто используют в геймдеве, пасфиндинги, очереди, обджект пулы, спашиал хэшинг и прочие прелести жизни геймдевера.
#204 #1019873
>>1019859
Нуууу, у шарпа типа больше применений (я так пощупал, но чтобы учить и писать серьезно - нет). Можно накидать быстрокод для каких-то прикладных задач (фотки от дублей почистить, например), тот же сайт наговнякать. Я просто хочу работать в нормальной среде с нормальной поддержкой, со статической типизацией, с решениями, которые собираются в exe-шник, а не "слушай, тут надо прописать composer update/pip install, потом короче этот пакет не заработает, ты из гита пульни, ага, так, теперь надо исправить, закинь сюда шаблон с жсоном, чтобы исключение не кидал, так падажжи". Короче, скриптопараша - заебала, хочу в язык с хорошей поддержкой от майков и экосистемой. Скажи, пожалуйста, с чего начать.
5 Кб, 629x89
#205 #1019958
Что в этом коде не так? Метод должен заменять все URL в тексте на ссылки. Испробовал уже десяток regex, но ни одного совпадения нет.
#206 #1020033
>>1019958
Я не уверен что @ позволяет выполнять то, что ты там написал, он тупо работает со строкой вида, что ты указал после @ в кавычках. Но я могу ошибаться.
#207 #1020051
>>1020033
Бля. Я во второй строке метода хуйню написал, только сейчас заметил.

Но это не меняет того факта, что r.IsMatch(str) всегда false.
А без @ не работает из-за слэшей.
#208 #1020326
>>1018527
Дима?
#209 #1020338
>>1019784
С Троелсена до разделов с WPF, ADO.NET, Entity, ASP.NET...
Хотя я рекомендовал бы ознакомиться с WPF и ADO.NET с Entity Framework.
#210 #1020507
Мужики, поясните в паре слов за актуальность ASP. Net.
Пишу на шарпе около 2-3 лет, winforms/wpf/EF/DevExpress, вот это всё короче юзал и юзаю.
Да, я в курсе, что вэб перспективнее дэсктопа.
Да, я в курсе, что требуются пачками вэб макаки.
Собственно, как переехать в вэб, ASP востребован? Есть те, кто работают на дядю в ASP? Дайте пару советов,
1) как сделать мой перекат менее болезненным к моей жопе, испытывающей отвращение к JS.
2) если уж усаживаться на стул с вэбом, то на какой усаживаться?
asp/node.js/php/python?
#211 #1020533
>>1020338
Мимо другой анон. Вот сейчас как раз до второй главы по адо.нет дошел. Потом Entity будет. Хотел изучить всю книгу. Но мб ты что-то другое взять посоветуешь? В планах было дочитать эту, начать почитывать Рихтера и кодить какой проект для вката за еду, на asp.net и Entity.
#212 #1020543
>>1020507
Пилю стартап-проект на ASP.NET MVC, зависимость есть. На самом деле, вкатиться легко, если есть опыт в C#, ну и HTML + CSS знать желательно. Учился по книге Pro ASP.NET MVC 5 (Adam Freeman).
#213 #1020549
>>1020543

>HTML + CSS знать желательно


вот на этом моменте поподробнее, пожалуйста.
я читал про хтмл/цсс около года назад. я обкурился, или мне показалось, что в асп можно мышкой, как в винформсах делать страницу, причем там будет асп устанавливать "привязку" событий на клиенте с автоматическим отправлением ко мне на сервак?
или же придется все равно стать версталой?

>Pro ASP.NET MVC 5 (Adam Freeman)


за книгу спасибо, сегодня вечером скачаю.
#214 #1020552
>>1020533
По классическому ASP.NET - хз. Я сейчас коровский по официальной документации наяирваю.
https://docs.microsoft.com/en-us/aspnet/core/
Для меня годно, а также по нему можешь навернуть и Entity Framework Core.
https://docs.microsoft.com/en-us/ef/core/
Я почему не советую читать Троелсена дальше рефлекшена (или когда заканчивает о языке), потому что в основном дальше идут лишь введения, хотя WPF более чем полностью рассказан.
#215 #1020566
>>1020552
Спасибо, буду думать, в качестве обзора всех технологий можно пока и эту дочитать. Потом углубить тот же asp.net mvc, или что там в моде сейчас.
>>1020549
Мышкой то ты тыкаешь, но чтоб это нормально выглядело, всеравно css нужен, хотя бы чужой.
#216 #1020569
>>1020566
а бутстрап придется руками присобачивать в итоге, чтобы и на мобилочках, и на пекарнях выглядело хорошо?
про цсс....бля...
#217 #1020576
>>1020569
Мои познания mvc заканчиваются одним видео с утуба. Там чувак приколачивал бутстрап, но выглядело это не очень сложно.
#218 #1020579
>>1020576
asp.net быстрофикс.
#219 #1020580
>>1020576
ясно. ну спасибо на этом :3
#220 #1020658
>>1019958
используй онлайн сервисы для регексов, чтобы на лету тестировать их. Есть дотнетовские специальные. Собака не при чем.
#221 #1020713
>>1020658
Уже пофиксил. Лишним был символ '$' в конце регекса, из-за этого совпадения искались только в начале строки.
#222 #1021024
>>1020326
Нет.
17 Кб, 864x137
#223 #1021031
ЧЯДНТ
кукисы с указаным Path просто игнорируются. если Path=/, то все работает.
7 Кб, 371x246
#224 #1021032
>>1021031
В браузере эта страница устанавливает кукисы
#225 #1021034
>>1021031
>>1021032
Какого хуя. Это баг system.net?
#226 #1021040
>>1018969

>классы меня раздражают


Тогда пиздуй нахуй. Учи там свою хаскелле парашу, и сиди без денег. Зато без классов, и швятым функциональным программированием!!!
#227 #1021055
>>1021031
Короче, я разобрался. Эта тупая хуйня проверяет ResponseUri, т.е. кукисы для пути можно установить только из ответа пришедшего с этого пути.

C# в принципе не плохой язык, но есть некоторые части стандартной библиотеки, авторам которых хочется отрубить руки. System.Net относится к их числу.
#228 #1021208
Почему когда загружаешь первый раз решение из TFS через окно source control студия подтягивает (точно не знаю, но скорее всего) все каталоги с уровня решения и глубже, хотя в проекте используется малая их часть? При этом не загружаются многие файлы из других проектов, приходится передргивать решение рекурсивно?
#229 #1021300
>>1021040
А в F# тоже классы? Никогда не работал с ним. Есть ли там изменяемые данные или пердолинг с монадами как в Хаскале?
#230 #1021361
>>1021040
Тебя забыли спросить. Не захлебнись желчью.
#231 #1021546
Шарпаны, какие примерно требования к джуну у вас? Троелсена прочитал, что ещё? Просто понятно что для джавы достаточно знать Core и более-менее понимать как JVM работает, для шарпов не нашел внятных гайдов
#232 #1021566
>>1021546
Удвою этого господина. Написал диплом на дотнет коре, но в глубинную суть не вникал. Что надо знать, чтобы взяли джуном?
#233 #1021572
Entity framework создавая сущностный класс (При использованиии мастера в вижаке) расширяет dbcontext вместо objectcontext. Хотя если верить книге расширяться как раз таки должен objectcontext. Что то поменяли в более новых версиях вижака? Или я слепой мудак галку какую пропустил? Я, конечно, и так сделал задание, но синтаксис существенно отличается, думаю ,что ушел не туда.
#234 #1021578
>>1020507
только если живешь в нерезиновой или бушь работать на буржуев, в мухосрани более менее адекватную зп дают за то что ты написал (да и то не всегда), сам сейчас в ленивом поиске работы с проектом на asp net mvc, но как то негусто , звали в сбер у них там неплохая зп но работа ебаный пиздец, писать парсеры и кодить в формах , геморой тот еще
#235 #1021583
>>1021208
вроде как это фишка решарпера , сам такую хуйню решяю правой кнопкой на солюшене и свойства , после чего студия начинает все подгружать
#236 #1021599
>>1021572
https://msdn.microsoft.com/en-us/data/jj556581
Сам уже нашел. Как отключить понятно, как включить, хз чего это свойства, все перетыкал не нашел.
#237 #1021763
>>1021583

Главная фишка решарпера - валить хайенд системы.
#238 #1021884
>>1013491 (OP)
Добавь в шапку https://www.microsoft.com/net/learn/architecture
Это руководства по архитектуре приложений. Очень вкусные.
#239 #1022001
Аноны, я так понимаю, что эпохе десктоп-приложений пришел конец?
Или еще есть шанс вкатиться в десктоп разработку?
#240 #1022018
>>1022001
Сам грезил десткопом и презирал веб. Но за пол года, вакансий вообще не видел (мб пару сеньоров 100500лет опыта требовалось).С ляцом лягухи смотрю на asp.net.
#241 #1022023
>>1022018
Очень печально, а что же стало с десктопом?
#242 #1022029
>>1021763
че еще скукарекаешь?
#243 #1022051
>>1022001
>>1022018
Вы чо, лол, энтерпрайзового десктопа просто дохуя.
16 Кб, 1762x212
#244 #1022090
Скачал с гитхаба солюшен
На все три проекта в нем пишет пикрелейтед

Что не так?
Пример проджект файла.
https://pastebin.com/JnrZEpUf
#245 #1022091
>>1022001
Веб интереснее. Задачи сложнее. Твое творение могут видеть люди.
#246 #1022099
Xamarin бесплатный теперь?
#247 #1022113
>>1022091

>задачи сложнее


Ты там упал с горбатой горы что ли?
#248 #1022135
>>1021546
аналогично джаве - понимание базовых вещей и хоть какое то представление о технологиях, которые в работе будешь использовать
#249 #1022160
>>1022113
Ты видать кроме вордпреса и хоум пейджей ничего не видел. Сейчас бекенды огромные, никакой десктоп не сравнится по размеру кодовой базы. Фронтенд отдельная тема, интерфейсы все сложнее, нужно держать множество долгих соединений, не все технологии способны на это, управлять состоянием становится очень сложно.

Каждый день кто то кукарекает за вебмакак. Вот честно, почему вы такие тупые? Начните думать, хватит срать ртом.
218 Кб, 735x940
#250 #1022276
Возможно платина, сразу извиняюсь.

Несколько месяцев с перерывами учу шарп, первый язык. Учу по нескольким руководствам и учебникам, они годные, синтаксис освоил, код в примерах понимаю. Параллельно курю "Объектно-ориентированное мышление".
Но.

Учу, но понимаю, что при этом нихрена сам кодить не могу, и не учусь - в этих руководствах тупо дается материал, после глав нет никаких вопросов для закрепления, ни задачек и.т.п. Да и в голове "паззл не складывается" пока..

Вот и просьба - подсказать учебник с заданиями, либо сами задания отдельно, по возрастающей, от азов. Крайне желательно, чтобы еще были к ним потом варианты решений, с комментариями.
#251 #1022277
>>1022276
забыл добавить, англ или рус - пох.
#252 #1022278
>>1022276
СИКП
#254 #1023887
>>1022278
>>1022279
Я как-то начинал, но из-за того что все задачи в этом учебнике заточены под лисп, сразу дропнул.
#255 #1023895
>>1022091

>Веб интереснее.



С точки зреиня малолетнего долбоёба - безусловно.

> Задачи сложнее.



С точки зрения дегенерата - безусловно.

> Твое творение могут видеть



Пиздец, это теперь дебилам такие аутотренинги проводят? Небоесь еще шкура-манагер каждый день на планерках эту мантру зачитывает, лол.
#256 #1023897
>>1022160

>Ты видать кроме вордпреса и хоум пейджей ничего не видел.



Видел как три хача ебли твою мамку-шлюху в пукан, а потом она слизывала своё же говно с их елдаков.

> Сейчас бекенды огромные, никакой десктоп не сравнится по размеру кодовой базы.



Ты немного перепутал. На самом деле никакое ведро не сравнится с раздолбаной пиздой твоей мамки-шлюхи.

> нужно держать множество долгих соединений, не все технологии способны на это



Хуета, вот способность твоей мамки-шлюхи держать сразу 5 хачевских хуев во рту и жопе вот это тру скилл.

> управлять состоянием становится очень сложно



Хунта. Твоя мамка-шлюха легко управляется десятками клиентво за день.

> Каждый день кто то кукарекает за вебмакак. Вот честно, почему вы такие тупые?



Твомя мамка шлюха каждый день ебётся с десятком хачей, а ты всё еще листва. Почему ты такой тупой???

> Начните думать, хватит срать ртом.



Насрал толстую колбасу в рот втоей мамке-шлюхе.
(Автор этого поста был предупрежден.)
#256 #1023897
>>1022160

>Ты видать кроме вордпреса и хоум пейджей ничего не видел.



Видел как три хача ебли твою мамку-шлюху в пукан, а потом она слизывала своё же говно с их елдаков.

> Сейчас бекенды огромные, никакой десктоп не сравнится по размеру кодовой базы.



Ты немного перепутал. На самом деле никакое ведро не сравнится с раздолбаной пиздой твоей мамки-шлюхи.

> нужно держать множество долгих соединений, не все технологии способны на это



Хуета, вот способность твоей мамки-шлюхи держать сразу 5 хачевских хуев во рту и жопе вот это тру скилл.

> управлять состоянием становится очень сложно



Хунта. Твоя мамка-шлюха легко управляется десятками клиентво за день.

> Каждый день кто то кукарекает за вебмакак. Вот честно, почему вы такие тупые?



Твомя мамка шлюха каждый день ебётся с десятком хачей, а ты всё еще листва. Почему ты такой тупой???

> Начните думать, хватит срать ртом.



Насрал толстую колбасу в рот втоей мамке-шлюхе.
(Автор этого поста был предупрежден.)
#258 #1023949
>>1023887
Язык инструмент для решения задача, но не язык не сама задача. Зачем учить язык, если все равно не будешь знать как его использовать? Задания в СИКП можно перенести на любой язык, главное понять суть. СИКП очень мощный курс, его преподавали в MIT, не где нибудь. Другого такого курса сейчас не существует, если и есть, то они построены на СИКП.
#259 #1023985
>>1022135
Это какие технологии, например?
52 Кб, 540x456
#260 #1024097
Суп, скачал приложение на формах из инета, в нем есть таблица с данными. Мне нужно считать эти данные в мое приложение. Как мне это сделать? Ну я нашел окно этого приложения, потом дитё, в котором эта таблица, а дальше как считать данные по строчкам? Помогите ламососу!
#261 #1024154
>>1013894
Блядь, когда тебе нужно вернуть несколько значений из метода. Чтобы не хуярить свой класс для возвращаемых данных.
#262 #1024167
>>1024097
Сериализация же. Или тупой копипаст кода наполнения таблицы. Не понимаю твоей проблемы.
#263 #1024169
>>1024167
Ничего не понял из твоего ответа. Проблема в том, что я не знаю, как это сделать.
#264 #1024180
>>1024169
У таблицы есть источник данных. Скорей всего какой нибудь датаТейбл. Добавь строчку, которая будет этот источник в файл сохранять. Или скопируй метод который этот датаТейбл заполняет, и заполняй сразу в своем коде. Про сериализацию говорить не буду, ты в нее не смогешь.
#265 #1024188
>>1024180
У меня нет исходного кода скачанного приложения. Я думал это понятно из вопроса, иначе действительно просто скопировать можно было.
#266 #1024227
>>1016986
Пишешь свой десериализатор/метод.
#267 #1024228
>>1018138
Ты хочишь, чтобы при вбивании в браузере короткой ссылки редиректило на длинную?
#268 #1024229
>>1018472
Шапку прочитай, пидор, и залей куда-то свой код. Как твое ебанное дерьмо читать в посте?
#269 #1024257
>>1019053
В чем сложность записать в БД классы к которые парсишь json? Так же ебашишь атрибуты для EF, если сущности простые и ты создаешь базу на основе этих классов, то они могут и не понадобиться.
#270 #1024259
>>1019394
Ответил тебе за щеку, пидор.
#271 #1024260
>>1019680
Может потому что никому не всрались твои лабы, пидорас. Это не стековерфлоу, а форум для общения.
#272 #1024262
>>1019735
типичный омежка, выпились. есть стековерфлоу на русском, долбобеб
#273 #1024269
>>1022099
да, но он говно
1,8 Мб, 320x205
#274 #1024276
>>1023897
Лол, посмотри как порвало этого обиженку. Всегда проигрываю с таких даунов. Ты считаешь, что кого-то оскорбит твоя охуенная оригинальная пиздаболия про мамаш? Да подрыв твоей жопы за километр было слышно.
#275 #1024352
>>1023985

>которые в работе будешь использовать


если это веб, то одно, десктоп - другое и т.д.
Для веба asp.net mvc, ef, sql достаточно. Я уже в прошлом треде кидал ссылку на быстрый и крутой курс. Мб в шапку добавить? Он реально ахуенный.
https://www.pluralsight.com/courses/full-stack-dot-net-developer-fundamentals
#276 #1024354
>>1022160
Согласен. Микросервисы и распределенные системы вообще, базы данных, архитектура, DDD и т.д.
#277 #1024400
Есть желание написать свой контрол для WinForms. Конкретно хочу усовершенствовать GroupBox добавив в него несколько полей. Реально ли это вообще сделать? Не просто унаследоваться и писать все ручками, а что бы у него появился визуальный редактор укак у формы? Или студия такого неумеет?
#278 #1024489
>>1024276

Тебя никто не оскорблял, только лишь было преведена серия фактов про твою мамку-шлюху.
#279 #1024556
>>1023985
Получал кто сертификаты МС? Сложно? Какие профиты?
#280 #1024601
>>1024489
Лол, забыл написать, что ты сто пудов ответишь на этот пост оскорблением и скорее всего с мамкой. Я вообще не тот анон, которому ты эту хуету написал, чмоня. Жалко, что подобные тебе опущенцы пытаются влиться в профессию. Увижу, что пытаешься пройти собес, узнаю по затравленному взгляду и набью ебало, хуесос.
#281 #1024629
>>1022160
Гошизик, это ты?
#282 #1024630
>>1024097

> потом дитё, в котором эта таблица, а дальше


А дальше таблицу.
У таблицы должны быть строки столбцы ячейки.

А вообще, может тебе проще базу данных просто распарсить этого секретного приложения?
Зачем такие сложности?
#283 #1024718
>>1024601

Ты паиздливое хуйло. Каким же на надо быть ебанатом (хотя ты ведь вебмакака, чему тут удивляться, лол), что бы пытаться поменять аватар на анонимном форуме как будто это тебе поможет отмыть твою мамку - грязную шлюху. Сказочный долбоёб.
#284 #1024742
>>1022160
Лол, ты понимаешь, что сейчас выставил себя самой что ни на есть типичной веб макакой? Бэк+фронт у него сложные, соединения, ужас какой. Про размер кодовой базы вообще в голос, ты энтерпрайз на миллионы строк не видел что ли? не видел, конечно
#285 #1024788
>>1022160

Твоя мамка шикардос анусы лижет по цене 1500 в час. Попробуй, ещё захочешь.
#286 #1024878
Решарпер валит в окно лист еррор кучу ошибок, хотя проект собирается и запускается. Что делать?
#287 #1024942
Как в MVVM во вьюмодели различать обновление привязанной коллекции юзером в представлении и как изменение свойства внутри вьюмодели?
#288 #1025331
>>1024878

>Решарпер


>Что делать?


Удалить эту бесолезную мокропиську, очевидно же
#289 #1025369
>>1024942
Если тебе это необходимо, то ты делаешь что-то не так.

А вообще можной переопределить обработчк события PropertyChanged и проверять тип аргумента sender. Но не делай так, прошу.
#290 #1025398
>>1025369

> Если тебе это необходимо, то ты делаешь что-то не так.



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

> А вообще можной переопределить обработчк события PropertyChanged и проверять тип аргумента sender.



Это как? Он всегда же будет одним и тем же, т.е. изменение коллекции во вьюмодели так как движок байндинга прозрачно для вьюмодели подгоняет данные. Если как-то хакать байндинг, это действительно жесть будет.
#291 #1025431
>>1025398
>>1025398
Я бы сделал сделал следующим образом:
1. Список выбранных данных забинжен на ObservableCollection во вьюмодел и занимается только отражением данных из модели.
2. SelectedItems (выбранные данные для экспорта) забинжен на отдельную коллекцию во вьюмодел.
3. Доступность экспорта и видимость сообщения об ошибке привязано к SelectedItems.Any(). Например, через конвертер.

Кода под рукой нет к сожалению. Припоминаю наличие проблемы с биндингом SelectedItems. Решается использованием триггеров.
#292 #1025466
>>1025431

SelectedItems все равно же привязаны к объектам модели, как она поможет? Там нет информации о том, это юзер накликал строк или я программно из вьюмодели.
#293 #1025483
Сап, шарпач. Помоги разработать архитектуру REST сервиса и клиента. Как его правильно реализовывать? Стоит ли разбить сервис на сборки типа service.core и service.host?
#294 #1025485
>>1025466

Так отвяжи их. Сделай класс обертку над объектом модели.

class ItemView : INotifyPropertyChanged
{
public Item Item {get; set;}
public bool IsSelected {get; set;}
}
реализацию интерфейса опустил

И биндься к ObservableCollection этих объектов.
А в wpf добавь в ListView чекбоксы и забиндь их на IsSelected.

Соответствено в обратную сторону из ViewModel ты можешь их развыбрать.
Перед выполнением экспорта пробежаться и выбрать только те объекты, где IsSelected = true.
Ну и все такое прочее
30 Кб, 566x296
#295 #1025542
Суп, анон. Обоссы оцени мой прожект, если есть нечего делать, ну а если нет, то тогда иди на ну и ладно. Делал для обучения. До этого ничего подобного не делал всмысле веб и упор на таски. По времени почти 2 недели. Хочется какого-то фидбека по качеству кода.
Из библиотек Json.net и log4net для логов. API частично спиздил с другого проекта на гитхабе, частично брал сам из браузера.
Я уже синьор или еще джуниор?

https://github.com/qril/microscope
#296 #1025575
>>1025542
Рандомно потыкал пару файлов - ты пока ещё джун. Вот почему:
1) initial commit и всё.
2) CommandDeserializer логика в экстеншен методе, они предназначены для упрощения взаимодействия с интерфейсами (например - предопределенные вызовы фабрик)
3) CommandDeserializer - пиздец как дохуя вложенности
4) коллбеки
5) неконсистентное наименование папок
#297 #1025580
>>1025485

В том сообщении я имел ввиду вьюмодели, а не модели, просто у меня это одно и те же.

Я все равно не въехал в твою схему. Вот у нас есть грид G у которого источник данных это коллекция C во вьюмодели. Мы добавляем еще одну коллекцию S на которую биндятся только выбранные строки. Но в обоих случая привязка двусторонняя, поэтому что ты программно поменяешь S, что юзер будет тыкать - все это будет синхронно отображаться на экране и в коллекции S. Как я глядя из вьюмодели буду различать эти ситуации?
#298 #1025834
Анон, помоги разобратсья с geoJson, как его вернуть из мвц? По гуглу - выдает всякие фреймворки для работы с картами, а мне нужно вернуть чистый геоджейсон и распарсить его джсом на морде.
30 Кб, 500x500
#299 #1025957
Как понимаю метод Code First используется повсеместно, а не только в АСП.НЕТ?
А то я в своем техникуме сначала делал базу в СУБД и только потом ставил на нее приложение на делфи.
Как удобно. Описал классами базу, а она уже есть.
#300 #1025990
>>1025957
Часто, но не повсеместно. В Entity framework надо смотреть код миграций, потому что есть нюансы маппинга типов данных языка в типы СУБД, [DefaultValue(null)] на свойстве класса, вроде, не работает, надо руками прописывать. Ну и когда у тебя составные ключи, хранимые процедуры, функции, надо уже SQL писать, от этого при работе с базой не уйти.
#301 #1025993
>>1025957
Реально это никто не использует в более-менее крупных проектах. Специально обученные sql-макаки гораздо лучше мейнтейнят и структурируют базу чем .net-генератор.
#302 #1025994
>>1025990
Поэтому даже при всех охуенности Entity и Code First'а на больших энтерпрайз-проектах со сложной структурой БД используют обыкновенные чейндж-скрипты на голом SQL'е.
#303 #1025995
>>1025993
Опередил меня.
>>1025994

Кстати несложные скрипты у нас хуярят сами девелоперы, а вот замудрённую хуету уже DBA.
#304 #1026000
>>1025580
Что ты имеешь ввиду под тыкать? Какое-то создание записей? И добавление в коллекцию для последующей записи в модели? И тебе надо отследить какие записи новые?
Эта задача опять же решается через флаг.

Если ты не это имеешь вииду, то я вообще хуй знает. Зачем тебе волноваться о том, кто натыкал коллекцию S? Зачем тебе программно ее менять? Гарантируй на уровне логики, что в этой коллекции будут только данные, выбранные пользователем.

Или тебя волнует изменение данных в модели, пока пользователь работает с ней во View?
#305 #1026226
>>1026000

Да, чего-то обсуждение немного не туда зашло.

Короче, тут ключевое это поведение UI от которого все пляшет. Основной сценарий использования будет такой: сначала форма (точнее ее вьюмодель) подрубается к некоторому тонкому клиенту и считывает с него данные которые заносятся в таблицу формы которая (для простоты) хостится на сервере. В этой же таблице она добавит все возможные записи которые есть в БД сервера. Дальше юзер выбирает как угодно строки таблицы которые он хочет записать обратно на тонкий клиент. И что бы он не выгрузил пустой набор на форме работает валидация которая ругается если не выбрано ни одной строки. До этого этапа все ок, но после выгрузки визуально надо снимать выделения со всех строк, что бы юзер видел что ничего больше выгружать не надо. И если это сделать в лоб (я снимаю соотвествующее булево свойство в айтеме коллекции из вьюмодели) срабатывает ошибка валидации. Надо что бы валидация не применялась пока юзер не перевыберет что нибудь в таблице.
#306 #1026266
Вот небольшой код: https://pastebin.com/VYuMfLgM
Как грамотнее скомпоновать условия, а то напрягает почти одинаковый код в разных ифах.
#307 #1026368
>>1025575

>ты пока ещё джун


Хуево быть джуном
Из всех классов ты наткнулся на самый бесполезный лол. CommandDeserializer это просто написанный за 5 минут хелпер чтобы парсить командную строку. Это не extension, а просто один статический метод
Я понял что от внешнего вида проекта отдает васянством. Буду работать над этим.
#308 #1026381
Чому не работает: https://pastebin.com/d7V96mL7
Постманом проверил - джсон возвращается.
#309 #1026383
>>1026381
Ругается Cannot read property 'getJSON' of undefined на строке запроса джсона.
30 Кб, 604x428
#310 #1026397
>>1026381
Хей, приятель. Мне кажется, ты ошибся ссылкой. Клуб кожевников через два треда.
#311 #1026497
>>1026383
ты JSON подключил, мразь?
#312 #1026500
>>1026497
Блядь, Jquery
фикс
#313 #1026590
Поясните за неуправляемый код через DllImport. Вот если я выделю кусок памяти с сишном коде, а потом выкину шарпу указатель, то смогу ли потом закинуть в другую сишную функцию этот указатель и получить доступ к этой памяти? Что вообще происходит с данными неуправляемого кода во время выполнения управляемого? Их не похерит? Надо по человечески освобождать память?
#314 #1027582
>>1026368

>Из всех классов ты наткнулся на самый бесполезный лол. CommandDeseria


Остальные тоже потыкал, но причина все та же везде - опыт.
#315 #1027587
Поясните за .net core: на нём я могу написать class library/console проекты которые я смогу запускать/использовать как на винде, так и на линуксе/макоси?
И поясните за C# native, что это такое? Вохможность билдить в нативный код оси а не байткод?
#316 #1027599
>>1027587

>Поясните за .net core


Апи работающее на всех осях.
#317 #1027605
>>1027599
И что я могу на нём написать? Про asp.net core я слышал, это mvc/webapi на мультиплатформе. А что ещё?
Я правильно понял, что апи такой же будет как и в дотнет фреймворке только мультиплатформа?
#318 #1027634
>>1027605
Только про гуй забудь, формы и впф под кор пердолить не будут.
#319 #1027653
>>1027605
https://docs.microsoft.com/en-us/dotnet/standard/net-standard
А вообще все кроме гуйни. Ее портировать врядши будут т.к не приоритет. Что в общем то не мешает сторонним тулкитам.
#320 #1027667

> В качестве хранилища данных желательно использовать MSSQL, MS Access или SQLite. Базу


предоставить в виде SQL script-ов.

В таком случае, я могу использовать EF и его подходы, ведь он генерит сам под sql? Как мне предоставть им скрипты?
#321 #1027673
>>1026590

>смогу ли потом закинуть в другую сишную функцию этот указатель и получить доступ к этой памяти?


Сможешь. В этом как-бы и суть.

>Что вообще происходит с данными неуправляемого кода во время выполнения управляемого?


А что с ними должно происходить? Dll подгружаются в процесс net, вс дела.

>Надо по человечески освобождать память?


Ну это зависит от библиотки. Вдруг там модные shared_ptr.
#322 #1027674
>>1027587

>Поясните за .net core


Эта хуита а-ля node.js. Суть в том, что нет обычного фреймворка. Там даже исполняемого файла нету.
Собственно она и задумана в первую очередь для серверов. Суть в том, что все зависимости идут с самой программой. То есть можно просто копировать и запускать без ебли с установкой фрейморков.
#323 #1027708
Стоит ли выбирать c# основным стеком в 2017? Или все таки джава?
#324 #1027710
>>1027708
В офисе сидишь? Делове костюмы носишь?
#325 #1027711
>>1027708
пиши на питоне и не мучайся
#326 #1027716
>>1027710
Нет, начинаю учить cs в октябре
#327 #1027717
>>1027711
Нет, хочу строго типизированный яп
#328 #1027730
>>1027716
Ну если не хочешь начинать, то милости прошу к шарповому шалашу.
#329 #1027838
Анон, как пользоваться гитхабом? Нашел чувака, который запилил либу GeoJSON.NET
https://github.com/GeoJSON-Net/GeoJSON.Net
Как разобраться как она работает? Он пишет смотри тесты для использования, но я вот смотрю и нихуя понять не могу.
#330 #1027907
>>1027838

Да хуй проссышь как он вообще работает.
#331 #1027917
>>1027907
Я вроде разобрался, но он выдает невалидный геоджейсон. Решил наклепать сам, по классам но тут тоже хуйня:
https://pastebin.com/DRBT22mU
Вот в этом кусе ругается "Object reference not set to an instance of an object."
#332 #1027921
>>1027917
Бля, только написал и дошло в чем дело.
#333 #1028413
Анон, спасай.
Для Visual Studio 2017 нужен плагин подсветки SASS.
Web Compiler подсвечивает SCSS, а вот за sass очень обидно.
В гугле нашел только протухший SassyStudio.
#334 #1028466
Сап
Только начал разбираться с wcf и столкнулся с проблемой. Передаю в сервис message contract, в котором находится поток. Считываю этот поток в MemoryStream (создаю Таск) и передаю в метод для сохранения в бд. В создаю сущности DbSet'а и передаю их в AddRange. Отправляется insert запрос к базе, но ничего не записывает. Пробовал оборачивать код сохранения в TransactionScope, в using(db= new DbContext()) результат не изменился. Подскажите в чем я ошибся или что упустил?
https://pastebin.com/KM0ziZfC
#335 #1028474
Имеет ли смысл писать серьёзный проект на C# если ты расчитываешь в будущем на кроссплатформенность (Линукс/Мак/Прочие ОС) ?
103 Кб, 882x797
#336 #1028553
Короче вопрос.
У меня есть класс BaseClass. Есть его наследник ChildClass.
У BaseClass есть список List<mytype1>
У ChildClass есть список List<type_YOBA>, где type_YOBA наследник mytype1
Есть функция do_shit(BaseClass bc), которая делает что-то с элементами списка у класса.
Можно ли как-то заставить эту функцию жрать наследника с его списком? Если делать перегрузом, то надо будет дублировать кучу кода, а это как-то не очень, или по-другому никак?
#337 #1028554
>>1028474
.NET Core кроссплатформеный. Уже 2 версия в бете.
#338 #1028653
>>1028553
Используй интерфейс, люк
13 Кб, 618x374
#339 #1028662
Что представляет из себя переменная типа класс?
Это тот же объект что мы можем создать с помощью конструктора только являющийся частью другого класса или как? Просто уже прохожу полиморфизм а такого ни в книге Троелсена, ни на лекциях ITVDN не видел. Нашел только в готовом решении одной из практический задач.
#340 #1028668
В чем отличия вызовов делегата через:
-метод его объекта Invoke()
-определение специального делегата, соответствующего сигнатуре метода, на который он указывает
-создание экземпляра специального делегата с передачей имени метода в качестве аргумента конструктора.
Или отличий нет?)
248 Кб, 346x347
#341 #1028669
C#-боги, объясните мэм
#342 #1028672
В чем суть инкапсуляции через автоматические свойства? Можно же просто модификатор доступа public пилить
#343 #1028674
>>1028662

Очередное подтверждение, что троллсена лучше не читать.

В С# нет глобальных переменных, так что все переменные внутри какого либо класса.
#344 #1028675
>>1028672
автоматические свойства потом легче заменить на обычные и прикрутить туда логику
337 Кб, 600x776
#345 #1028676
>>1013914

>system.diagnostics


Почему не в using?
#346 #1028678
>>1028662
переменная типа класс это просто адрес, в котором хранится адрес другого объекта.
#347 #1028680
>>1028674
Да я просто представить не могу в чем суть Title title. Это переменная? Это объект? Это вообще что? Про глобальные переменные я и не говорил. Кстати, а что с Троелсеном не так?
#348 #1028726
>>1028668
делегат компилируется в объект класса MulticastDelegate. При его вызове выполняется метод Invoke. По идее в любой форме все будет сводиться к такому сценарию выполнения.
#349 #1028727
>>1028726
Thanks
#351 #1028805
>>1028680

Это переменная член типа.

Троллсен просто плохо пишет. Кроме того он предполагает что ты знаком с с++ (а это проблема почти всех книг по си шарпу, я вообще не видел ни одной которая бы была написана с нуля), а ты судя по вопросу вообще не знаком ни с одним алгоритмическим языком.
#352 #1028807
>>1028731

А кстати, все приемущества связаны так или иначе с возможностью внести изменения не ломая кода. Но ведь если до этого было поле, то клиентский код все равно не сломается, разве нет?
#353 #1028821
>>1028805
Нормально он пишет, правда я знаком с Си и плюсами но на пол шишечки, но про генерики конечно суперхуево, у шилдта лучше.
#354 #1028822
>>1028669
java долбоёбы даже в шутки не могут
#355 #1028824
>>1028807
Смысл не в том, чтобы не упростить модификацию кода. Это просто возможность прикрутить логику к процессу установки и выдачи значения переменной. Работает как обработчик события записи или установки значения в это поле. При модификации тоже очень удобно, если бы не было автосвойств и захотелось бы как-то обработать доступ к переменной, то пришлось бы как-то менять все обращения к этому полю или в самом классе, или в классах использующих его.
#356 #1028827
>>1028822
Бля, объясни
#357 #1028849
>>1028824

Так если у тебя раньше было поле, ты просто меняешь на свойство с навороченными сеттерами и все. Что тебе даст если до изменений было авто свойство а не поле???
#358 #1028855
Как делать валидацию гридов винформс в MVVVM?
#359 #1029023
>>1028849
Ну в твоем случае разницы нет. Но если кто-то будет использовать твою либу, то после апдейта, где ты поменял поля на свойства, то у него все наебнется, придется все пересобирать. Это в студии они отличаются только пиктограммой при подсказки IntelliSense, а по факту свойства разворачиваются в закрытое поле и 2 метода get_X и set_X
Почувствуй разницу (разметка слетит и ты наврядли что поймешь конечно):
Поле
.class public auto ansi beforefieldinit ClassLibrary1.B
extends [mscorlib]System.Object
{
// Fields
.field public int32 Pizda

// Methods
.method public hidebysig specialname rtspecialname
instance void .ctor () cil managed
{
// Method begins at RVA 0x2069
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method B::.ctor

} // end of class ClassLibrary1.B

Свойство:
.class public auto ansi beforefieldinit ClassLibrary1.A
extends [mscorlib]System.Object
{
// Fields
.field private int32 '<Pizda>k__BackingField'
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)

// Methods
.method public hidebysig specialname
instance int32 get_Pizda () cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)
// Method begins at RVA 0x2050
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: ldfld int32 ClassLibrary1.A::'<Pizda>k__BackingField'
IL_0006: ret
} // end of method A::get_Pizda

.method public hidebysig specialname
instance void set_Pizda (
int32 'value'
) cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)
// Method begins at RVA 0x2058
// Code size 8 (0x8)
.maxstack 8

IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld int32 ClassLibrary1.A::'<Pizda>k__BackingField'
IL_0007: ret
} // end of method A::set_Pizda

.method public hidebysig specialname rtspecialname
instance void .ctor () cil managed
{
// Method begins at RVA 0x2061
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method A::.ctor

// Properties
.property instance int32 Pizda()
{
.get instance int32 ClassLibrary1.A::get_Pizda()
.set instance void ClassLibrary1.A::set_Pizda(int32)
}

} // end of class ClassLibrary1.A
#359 #1029023
>>1028849
Ну в твоем случае разницы нет. Но если кто-то будет использовать твою либу, то после апдейта, где ты поменял поля на свойства, то у него все наебнется, придется все пересобирать. Это в студии они отличаются только пиктограммой при подсказки IntelliSense, а по факту свойства разворачиваются в закрытое поле и 2 метода get_X и set_X
Почувствуй разницу (разметка слетит и ты наврядли что поймешь конечно):
Поле
.class public auto ansi beforefieldinit ClassLibrary1.B
extends [mscorlib]System.Object
{
// Fields
.field public int32 Pizda

// Methods
.method public hidebysig specialname rtspecialname
instance void .ctor () cil managed
{
// Method begins at RVA 0x2069
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method B::.ctor

} // end of class ClassLibrary1.B

Свойство:
.class public auto ansi beforefieldinit ClassLibrary1.A
extends [mscorlib]System.Object
{
// Fields
.field private int32 '<Pizda>k__BackingField'
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)

// Methods
.method public hidebysig specialname
instance int32 get_Pizda () cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)
// Method begins at RVA 0x2050
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: ldfld int32 ClassLibrary1.A::'<Pizda>k__BackingField'
IL_0006: ret
} // end of method A::get_Pizda

.method public hidebysig specialname
instance void set_Pizda (
int32 'value'
) cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = (
01 00 00 00
)
// Method begins at RVA 0x2058
// Code size 8 (0x8)
.maxstack 8

IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld int32 ClassLibrary1.A::'<Pizda>k__BackingField'
IL_0007: ret
} // end of method A::set_Pizda

.method public hidebysig specialname rtspecialname
instance void .ctor () cil managed
{
// Method begins at RVA 0x2061
// Code size 7 (0x7)
.maxstack 8

IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method A::.ctor

// Properties
.property instance int32 Pizda()
{
.get instance int32 ClassLibrary1.A::get_Pizda()
.set instance void ClassLibrary1.A::set_Pizda(int32)
}

} // end of class ClassLibrary1.A
#360 #1029104
Нормально ли передавать объект класса, в котором порождаются другие классы, в них же?
Есть класс представляющий собой нечто вроде сервера, которым можно управлять, вызывая команды. Команда - класс, наследующий интерфейс IRoute, в котором есть метод для её исполнения. Как лучше реализовать взаимодействие команды и сервера? Передавать объект сервера в неё / сделать сервер статическим (или синглтоном) / какой-то другой вариант?
#361 #1029105
>>1029104
Встречу на улице — убью!!!!
ТОПОРОМ ПО БАЩКЕ ГАВНЮК
#362 #1029170
>>1029104
если я правильно понял (ты как-то сложно написал), то гугли иммутабельность
#363 #1029210
>>1028653
Боже, наконец-то до меня дошло для чего они нужны. Спасибо!
#364 #1029215
>>1013491 (OP)
Господа, у меня возникла проблема
с ASP.NET MVC проджектом
и возникла она еще на самом начале
т.кк в эту хуиту я ток начал вкатываться.
Заключается она в том что в браузер у меня не выводятся нужные мне данные а почему я не пойму.
Пихать сюда весть код думаю нет смысла поэтому мне просто нужно понять каким образом отлаживать веб проекты Ф11 не работает ведь ?
Как пробежаться по программе что бы узнать на каком месте фейл ?
#365 #1029226
>>1029215
и еще вдогонку вопрос
почему я не могу создать представления с такой моделью (на пике)
и будет ли представление работать с такой моделью если я ее непосредственно в коде укажу (1 пик)
#366 #1029233
Антуаны, вопрос к работающим. Есть год опыта разработки на .net в энтерпрайз конторе бэкенда - стажировка + младший разработчик. Хочу поменять работу или идти на повышение, куда метить вообще и какую зарплату просить?(по уровню думаю на нижнюю границу мидла тяну)
ДС 2
#367 #1029256
>>1029233

100 000
#368 #1029303
>>1029226
В папке Views должен быть файл web.config. Добавь в него неймспейс, где лежит нужный тебе класс модели.
#369 #1029349
При сравнении двух вещественных чисел результат должен быть одинаков, а получается расхождение.
Как победить "это"? У меня из-за этого юнит тесты не проходят.

https://pastebin.com/n6XZV3Jm
#370 #1029368
>>1029349
Гугли сравнение вещественных чисел. При сравнении на равенство нужно чтобы модуль разности был меньше эпсилона.
#371 #1029372
>>1029349
студия должна тебе хинты показывать, когда ты пытаешься сравнивать числа.
#372 #1029391
Имеет ли смысл выносить не локализуемые строки в файл ресурсов? Будут ли какие-то профиты, кроме единообразия?
#373 #1029424
>>1029368
>>1029372

Спасибо, разобрался. Но остался один вопрос. Стоит ли делать проверку <= (меньше или равно). Может ли выпасть так, что разность будет равна точности?

https://pastebin.com/K7xxa7X1
#374 #1029459
>>1013491 (OP)
Суп, шарпач.

Такая хрень: пусть будет enum xyuTa { xyz='dick', nu3ga='cunt', 3aJIyna='doucebag'}.

Так вот. Такой энам сделать можно? Можно. Но... Как по названию получить велью? Не xyuTa.3aJIyna, a xxx = '3aJIyna', и SomeMethod(xxx) чтобы выдал это велью? Выражение нужно, которое так может. Неужели в ебучем шарпе нельзя так? Все перегуглил уже. Ну просто столкнулся, и охуел, что не могу такую простую штуку сделать.

И еще вопрос: пусть нам нужна какая-то штука, которая будет хранить в себе костанты. Раз с энамом не получается. Чтобы по велью или по ключу получать ключ или велью, соответственно? Мапа приходит на ум. Но... Как ее инициализировать? Это ж уебанство будет, если в мапу добавлять что-то. И как добавлять? Некрасиво. В общем, нужна структура.

Разъясните, плиз)

Мимо нубас в шарпе, но стемящийся.
#375 #1029460
>>1029215

> Пихать сюда весть код думаю нет смысла поэтому мне просто нужно понять каким образом отлаживать веб проекты Ф11 не работает ведь ?


Весь твой проект состоит из серверного кода и клиенсткого. Серверный отлично отлажывается как и любая программа. Браузерный уже надо в браузере отлаживать. F12 тебе в помощь.
#376 #1029461
>>1029459

> xyz='dick'


Это уже не enum. enum это по сути имена для генерируемых переменных. Если нужно сопоставление, то юзай словарь.
#377 #1029463
>>1029461
Спасибо. Гляну на словарь. Даже не знал, что есть такое)
#378 #1029488
Сап, програмач. У меня есть проблема - изучив основы языка с#, написав ради интереса пару быдлокодских приложений, не знаю в какую сторону двигаться дальше, что изучать. Постоянно мечусь от одного к другому ничего не понимая, все стало слишком сложно. Посоветуйте пути движения и хорошую литературу, и что нынче востребовано на рынке труда.
#379 #1029585
>>1029488
Для начала определись веб или десктоп. Если веб то учишь асп.нет, если десктоп то впф или формы. Книжки есть в шапке. Также очень желательно почитать что-нибудь по SQL и EF.
#380 #1029591
>>1029585
SQL я изучал - запросики, реляционные базы данных в среде SQL server, но с EF дела не имел. На самом деле даже писал многослойное приложение с автосозданием в Azure(с сервером и бд), но проблема в том что там лютый говнокод и грубые нарушения целостности, хотелось бы про это еще почитать.
#381 #1029647
>>1029488

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


А нам откуда знать куда тебе надо?

> что нынче востребовано на рынке труда


Грамотные люди.
#382 #1029648
>>1029647
Только нужно помнить, что будь это веб или декстоп - это бездушный Энтерпрайз а любом случае
#383 #1029735
>>1029591
Почитай пока про патерны, солиды и вообще методики избавления от говнокода. Потом постарайся реализовать какой-то сложный серьезный проект.
#384 #1029741
Пишу проект на формах из двух классов: Program.cs и MainForm.cs.
В Program объявлено поле public static List<>. В MainForm описано событие: по нажатию кнопки вызывается функция из Program. Она меняет список List.
Но после того, как там же в формах я считываю List, на самом деле он не изменился.

Кусок кода (все лишнее вырезал): https://pastebin.com/a1gA1ykT
#385 #1029785
>>1028824

>Работает как обработчик события записи или установки значения в это поле.


Работает как мокрописечная хуита, делающая семантику функций для переменных. Даже не обязательно вообще в гетере и сетере куда-то записывать значения, тащемта. По сути это просто ебанутый вызов функции, где первый параметр как результат присваивания

Когда я вижу переменную, я понимаю что тут просто чтение данных, когда я вижу функцию, я понимаю что тут какой-то код. Когда я вижу property, я понимаю что автор кода мудак, потому что там скрыто в этой property нихуя не очевидно. Может там, блеаять, каждый раз обращение к БД или еще что-нибудь покруче.
#386 #1029809
>>1029741
Расстреливал бы за такую хуйню.
#387 #1029860
>>1029849

>Есть одна игра написанная на c sharp. И мне нужно модифицировать один класс в ней. Как декомпилировать и деобфусцировать код я разобрался, но не знаю как скомпилировать этот класс обратно и заменить его в бинарниках. Может кто-нибудь уже это делал и может рассказать как это сделать?

#388 #1029888
>>1029860
Что-то сомневаюсь, что ты сконпелируешь декомпилированный проект без ошибок.

Можно например IL-код через Mono.Cecil редактировать.
#389 #1029895
>>1029888

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


Если бы это было так я бы не спрашивал.

>Можно например IL-код через Mono.Cecil редактировать.


Попробую так.
#390 #1029904
>>1029860
Что за игра?
#391 #1029942
>>1029895
в dnSpy можно сразу редактировать декомпилированный класс и сохранить как модуль
#392 #1029949
>>1029942
Сейчас потестил, вроде работает. Мощная штука. Там даже intellisense есть. Для open source проекта выглядит очень круто.
#393 #1030017
>>1029904

>Что за игра?


7 days to die. Хочу модифицировать генератор случайного мира.
#394 #1030021
>>1029888

Я так делал, когда надо было исправить ошибку (поменять значение константы) в старой сборке.
661 Кб, 811x608
#395 #1030082
Привет, анон. Хочу возобновить изучение, но не знаю с какой стороны следовало бы зайти. Раньше писал игру на Unity, все возникающие вопросы решил по ходу дела, сначала шли простые скрипты, потом ООП, коснулся немного linq и рефлексии, но тут уже начал рваться и понимать что слишком много пробелов. На кодакадеми обобрался с первых заданий, как стейт машину /спеллы/итемы делать ясно, а нарезать текст нет. Поэтому хотелось бы пройтись с самых основ, чтоб от зубов отскакивало. Вообще, порой складывается впечатление, если попытаться объять все, то жизни не хватит, или это ложное ощущение из-за незнания? И вот еще что, скажи, это нормальная программа? Если мыль либо пойти на обучение, либо просто изучать материал последовательно по программе самому.
https://itcloud.academy/course/c-sharp/
#396 #1030127
Анон, доброго времени суток. В универе дико угорал по c#, но устроиться не смог, в итоге джва года занимаюсь не тем битриксом. Есть ли шанс перекатиться в любимый язык? Как вообще подойти к этому вопросу? Синтаксис языка знаю (если что забыл/упустил, то могу быстро наверстать), диплом писал на шарпе, но реального опыта разработки нет. 26lvl-кун, from Мухосранск.
#397 #1030128
>>1030127
Шансы есть.
У меня мамка в 30 вкатилась в айти.
Только это было в начале нулевых.
#398 #1030209
Шарпиньоны, курс от ITDVN C# стартер норм для начала?
#399 #1030210
>>1030128

Так и скажи дала начальнику.
#400 #1030353
Шарпаны, начал читать Рихтера, дошел до приведения типов к другим типам. И что-то не пойму:

1. Вот есть класс Animal, от него наследуется класс Cat.
Что происходит в этой команде?:
Animal a = new Cat("Barsik");
Создается объект "a" класса Animal, для создания которого используется конструктор класса Кэт? Но для чего такие ухищрения? Для чего нам понадобиться создавать объект родительского класса, и при этом использовать конструктор дочернего класса? А если в конструкторе дочернего класса инициализируются переменные, которых нет в базовом классе, то тогда что - они игнорируются?

Теперь если мы хотим при создании нового объекта установить его свойства такие же как свойства дочернего класса(не только дочернего, а вообще - любого класса)? Мы ведь можем использовать такую команду?:
Animal a =(Cat)c; // с - объект дочернего класса Cat.
Что тут произойдет? Объектные переменные "а" и "с" будут указывать на один объект или это будут два разных объекта с идентичными значениями в свойствах?

2. Теперь наоборот:
Cat c = (Cat)a; //a - объект базового класса Animal
Тут создается объект класса Сat, у которого свойства будут такими же по значению как и у класса а? А как же значения свойств, которых в базовом классе "а" нет? Они так и останутся нуллами? Или опять же - объекты a и с будут лишь ссылаться на первоначальный объект а.

А тут, если я правильно понимаю будет ошибка, так ведь?:
Cat c = new Animal("Кот");
Но я не понимаю, почему мы не можем создать объект дочернего класса, используя конструктор базового класса? Да, часть свойств(которых нет в базовом классе) дочернего класса останутся нуллами, но что в этом плохого?

Быть может если у меня уже в самом начале Рихтера полное непонимание, то может уже нужно подумать о смене профессии программиста?
356 Кб, 1000x1500
#401 #1030357
>>1030353
Животное - базовый класс, самое "общее" понятие. Ты можешь погладить любое животное с помощью метода .Pogladit()

Кот - более конкретная сущность, которая обладает всеми свойствами животного (ты можешь погладить кода просто зная что он животное) и некоторыми новыми свойствами (ты можешь бросить коту клубок ниток методом .BrositKlubokNitok()).

Кот (как объект) не перестает быть котом, как бы ты к нему не обращался. Если ты трактуешь кота как животное (Animal a = new Cat("Barsik");) то тебе доступны только те методы кота которые есть у всех животных.

Когда ты снова начинаешь работать с котом как с котом (Cat c = (Cat)a;) тебе открываются все методы класса "кот", и теперь ты можешь ему .BrositKlubokNitok()

Но ты не можешь привести с фермы рандомное животное и начать обращаться с ним как с котом (Cat c = new Animal("Кот");) потому что если ты попытаешься бросить клубок лошади то она тебя просто нахуй пошлет.

>Но я не понимаю, почему мы не можем создать объект дочернего класса, используя конструктор базового класса?


У всех классов свои собственные конструкторы (даже если они определены неявно), ты не можешь создать кота методом который делает животное.
Зато можешь создать кота и обращаться с ним как с животным используя ограниченное подмножество его свойств/методов которые есть у всех животных.

Ты путаешься не в конструкторах и создании инстансов а в приведении типов.
#402 #1030385
У меня есть 3 недели времени, прорешанный Andrew Troelsen. Остаточные знания структур данных и прочих алгоритмов, околотематическая вышка. Нужно найти работу, чтоб не сдохнуть с голоду и не остаться на улице. В процессе поиска буду доучивать асп.нет и sql, но это время надо как то жить и где-то работать. Как не сдохнуть? Сам подумывал о около it хуипинательной работе за 3.5копейки, в процессе доучивания и поиска ваканасии.
#403 #1030398
>>1030385

>Сам подумывал о около it хуипинательной работе за 3.5копейки, в процессе доучивания и поиска ваканасии.


Не надо. Либо у тебя титаническая сила воли, либо эта "временная" работка сожрет всё твоё время и силы и станет постоянной.
#404 #1030409
>>1030385
Я вот сисадминил нихуя не делая и попутно c# учил прям на работе. Щас джуном работаю.
#405 #1030412
>>1030409
Хуёвый пример. Вот я тоже 3 года сисадминил, нихуя не делая, и попутно учил интересные мне ЯП, надеясь переползти на позицию джуна. Угадай, кем я сейчас работаю? Начальником технического отдела той же компании. А в программисты пойти не вышло, увы. У нас в миллионнике вакансий на тот же C# просто нет.
#406 #1030423
>>1030357
Спасибо за такое хорошее пояснение.
Ещё не до конца понятна разница между созданием нового объекта, и созданием ссылки на уже существующий объект. Вот например:
Cat c = (Cat)a; - тут мы создаем абсолютно новый объект, со своими атрибутами.
А если мы хотим создать новый объект, который будет лишь ссылаться на другой? Можно ведь сделать так?
Cat c = a; - при условии что а тоже относиться к типу Сat.
#407 #1030432
>>1030210
Ну тогда, да.
Других вариков нету, остается тебе дать начальнику.
#408 #1030444
>>1030423

>Cat c = (Cat)a;


>Cat c = a;



В твоём случае это не особо отличается. Семантика такой записи в том что мы берем правую часть и начинаем обозначаем её именем и типом записанным слева. Создается ли правая часть на месте (new Cat("Pushisti pidor")) или берется уже существующая (а) - не важно.
#409 #1030480
>>1030444
а как тогда создать объект-копию другого объекта? Чтобы не ссылался на существующий, а чтобы имел свой комплект атрибутов, точь в точь списанный с другого объекта?
#410 #1030481
>>1030082
Бамп, полагаю нужно начинать с книжечки, но какой?
#411 #1030483
>>1030480
Реализовывать в своем классе интерфейс iСloneable
#412 #1030495
>>1030480
Запилить в своём классе конструктор принимающий экземпляр такого же класса, и тупо копирующий его данные. На основе такого конструктора можно потом сделать то что говорит >>1030483
будет что-то типа
public Cat(Cat other)
{
this.AnusDepth = other.AnusDepth;
this.Weight = other.Weight;
...
}

Создавать копии котов тогда будешь так
Cat vtorojKot = new Cat(pervijKot);

Для структур это реализовано по умолчанию, но в это тебе вникать рано.
#413 #1030503
>>1030432
До чего у вас тут милая манера общения.

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

А про "дала начальнику" запостил не я. 1030127-кун
#414 #1030520
>>1030353
Кто так объекты создаёт? Создавай абстрактную фабрик абстрактных животных и уже через неё инстанси своих котэ всех сортов и мастей.
#415 #1030524
>>1030398
Вот с волей косяк. Троелсена под конец и то через адское нехочу дотягивал (но все же книга за 1.5 месяца). Может аналитиком каким? Даже если кодером не выгорит, не самая плохая работа у парней.
#416 #1030531
Откуда можно скачать шкурки для контролов Winforms и WPF? Я не поверю, что кроме Telerik/DevExpress нет свободных открытых скинов для графических элементов. Фиг с функционалом, но есть ведь красивые няшненькие кнопочки, окошечки, менюшечки, чтоб как в Эполе выглядело все?
#417 #1030533
>>1030531
Хочешь красивый фантик - плати бабосы.
#418 #1030627
>>1030531
Syncfusion. Имеют фри лицуху.
#419 #1030656
>>1030627

Как считать разработчиков под эту лицуху - вообще всех, или только непосредственно связанных с их либами?
#420 #1030658
>>1030385
за такое время только в продавца-консультанта можно вкатиться, и то если повезет.
#421 #1030668
>>1030658

Тут у одного выше мамка выучилась.
16 Кб, 200x250
sage #422 #1030767
>>1013491 (OP)
Гайс. Читаю Герберта Шилдта. Читается очень медленно. Всё важно конспектирую в тетрать.
Можете рассказать как вы учили/учите? Мне кажется конспект занимает дохуищу времени, но так легче запоминать. Может у вас свои методики какие-то?
#423 #1030768
>>1030767
блэт, соре за сагу
#424 #1030769
>>1030768
Ещё и тетрадь написал как мудак, блэт
102 Кб, 1096x958
#425 #1030773
Сап, пытаюсь вкатиться, смотрю курсы от itvdn, просмотрел 8 уроков по ~90 мин каждый, параллельно делаю примерчики из уроков, пока что все понятно.
Все ли делаю правильно? Или все же стоит читать литературу по теме?
Посоветуйте чего-нибудь.
#426 #1030780
>>1030767

Нахуй конспектироватЬ? Я в голове всегда повторяю. Определения учу.
#427 #1030785
>>1030780
Джуниор? Чо читаешь? как оно? Забывается быстро?
#428 #1030788
>>1030767
Берешь
А
Пишешь код
А лучше всего конечно на практике вот это вот все применять.
#429 #1030789
>>1030773

>itvdn


Найс под них спится.
#430 #1030793
>>1030788
Я пишу код, сразу практикуюсь, использую каждый новый метод, и чекаю правила в студии. Хотел конкретно про конспекты узнать и про усваивания инфы. Может кто-то записывает их в ван нот, хотя по сути это будет копипаста, и так же можно будет в учебнике поиск устраивать. ХММ...
#431 #1030807
>>1030785

Наверное миддл.
Щас читаю c# unleadhed.
С памятью беда, видимо старею (36 лвл).
#432 #1030809
Я еще когда читаю что нибудь по языкам, стараюсь все это представить как формальную систему. Очень помогает.
#433 #1030839
>>1030789
Двачую этого, хотя даунам-аутистам может норм. Попробуй лучше Metanit/ProfessorWeb,- чётко, ясно, быстро, по делу.
#434 #1030852
>>1030773
Кодить надо. Примеры чужие перебивать. Свои хуярить.

А видосы- от них мало толку. И меньше, чем от книжек. В разы.

Мне они полезны были, если что-то такое делают, walk through какой-нибудь, делаем там приложение такое-то, например. Смотришь и кодишь тоже.

Или если уже книжки почитал, примеры накодил, и смотришь видос, повторяется, закрепляется, что-то новое добавляется. И уверенность появляется, что ты выучил тему.
#435 #1030874
>>1030839
Тоже двачую. Я когда их слушать пробовал, то увеличивал скорость воспроизведения x1.7
#436 #1030884
Никогда не понимал упоротых, которые слушают все эти лекции с кучей воды.
Ваш мозг не воспринимает информацию в текстовом варианте?
#437 #1030888
>>1030884
Я слушаю только чтобы тренировать английский.
#438 #1030893
Кто-нибудь знает, как подписать оси в компоненте DevExpress XtraCharts? Никак не могу найти, как это делается.
#439 #1030965
>>1030888
Есть у меня френд, учит по книгам в оригинале, ну как учит, с английским ебется. Учебы 5 страниц в день выходит.
sage #440 #1030996
>>1030965
знаю английский отлично, темп еще меньше (из-за лени и дэпрессии)
#441 #1031030
>>1030353
Тебе ответили на вопросы кастов, но не сказали что у тебя неправильное понимание о создании обектов.
1. В данном случае в начале объявляется переменная класса Animal, затем создается объект типа Cat и ссылка на этот объект присваивается переменной a. Что здесь нужно понимать? Первое: объявление переменной и присвоение этой переменной значения - это две разные операции. Т.е. мы можем написать так:
Animal a;
a = new Cat("Barsik");
Второе: Ты в любом случае создаешь здесь объект класса Cat, однако в данном случае происходит неявный апкаст(upcast, т.е. приведение вверх по иерархии) объекта new Cat("Barsik") к классу Animal.

Animal a =(Cat)c; - данное выражение лишено смысла, объект и так является экземпляром класса Cat, а ты его еще раз приводишь к этому типу и опять же здесь происходит апкаст к типу Animal. В переменной a будет лежать все та же ссылка что и у объекта c, однако здесь мы лишь меняем свою точку зрения - смотрим на объект Cat как на объект Animal, с его свойствами, методами и т.д.
2.
Cat c = (Cat)a - здесь не будет ошибки компиляции, потому что компилятор не может знать какого типа был объект лежащий по ссылке a изначально. Однако этот код выкинет ошибку во время исполнения, потому что объект a не может быть объектом типа Cat, так как он лежит выше по иерархии.
#442 #1031097
>>1030353

>Шарпаны, начал читать Рихтера, дошел до приведения типов к другим типам. И что-то не пойму:


Ну короче, у каждого класса есть интерфейс к нему: это все поля и методы, которые ты видешь в intellisense, когда ставишь точку после имени переменной. Это понятно?
Что касается приведения типов, то тут очень просто: ты можешь присвоить переменную Б в переменную А, если переменная Б включает в себя интерфейс А. То есть, если у тебя в А есть метод Method1() и в Б есть такой метод, то ты можешь присвоить. Если ты наследовал Б от А, то очевидно, что в Б по дефолту есть весь публичный интерфейс А

Вот так все просто.
4 Кб, 240x246
#443 #1031201
Есть json такого вида:
https://pastebin.com/jdxtyWFr
Массив в массиве. Объект array имеет всегда только один элемент и по сути является контейнером. Из-за такой структуры работа с внутренним массивом values становится неудобной.

Можно ли как-то избавиться от этого контейнера, для облегчения работы с внутренним массивом?
https://pastebin.com/5wwJREGb
#444 #1031309
Шарпач, есть тут кто-нибудь, кто может помочь разобраться немного с EF и БД.
Просто есть буквально пара вопросов о том
1) как разворачивается БД на сервере(не на моей мащине, а где-то там, далеко-далеко на хостинге).
И как при этом применять изменения в БД.
2) как сервер обрабатывает запросы, для каждого клиента создается поток или что-то другое? как это дело проконтроллировать.

В общем, при личном общении объясню, что именно я хочу понять.
Денег у меня не много, я думаю не больше пары часов это займет в скайпе. Могу заплатить касарь, честно не спизженный у мамки из кошелька.
На этих выходных в скайпе провести такое своего рода репетиторское занятие.
#445 #1031320
>>1031309
связь пока что в телеге могу
@SukaBlyadt
#446 #1031856
Как правильно юзать cancellation token'ы? Кто их должен создавать и когда?
В простых примерах все понятно, но в реальном приложении где на форме могут быть десятки кнопок и разных фоновых операций как все это правильно организовать? Эти токены еще и одноразовые...
#447 #1032550
Анон, помоги, уже все мозги выел. MVC 5
Есть вьюмодель, в которой есть список объектов (модель точки с координатами), мне нужно во вьюхе на основании того что выберет пользователь (точки или линия) создать этот список. Я так думаю генерировать скрытые инпуты и туда вставлять, но не понимаю как создать именно список объектов во вьюхе, чтобы оно адекватно байндилось в контролере.
#448 #1032648
Ребята, а вышка сильно бьет по вкату, у меня есть она, но инженегра энергетика?
#449 #1032650
>>1032648
В рашке особо не смотрят.
#450 #1032670
>>1032648
Только для эмиграции.
#451 #1032692
Как можно загрузить символы и дебажить установленные нугет пакеты?
#452 #1032745
>>1032550
напиши свой хелпер, который будет работать как список отображать имя твоей вью модели и возвращать уже целый объект.
#453 #1032748
>>1032692
поясни за загрузку символов
#454 #1032840
>>1030807
Бля, не старей.
Развивай память как-то
Я стараюсь запоминать любую инфу нужную почаще
Там все данные документов, номер, дату, и код на дебетовой карте. Количество каллорий во всякой хавке, которую ем. Примеры ещё решать на скорость нормас тема
#455 #1032874
>>1032748

Ну когда можно под отладкой зайти внутрь либы и посмотреть что там делается.
#456 #1032876
>>1032840

Я думаю, может флешкарт наделать с полезной инфой. А то чего всякую бесполезную хуергу заучивать, лучше то что пригодится.
#457 #1032886
У меня многопоточная (через таски) форма внезапно повисает где-то в локах внутри мввм фреймворка. Т.е. ничего не происходит, форма ни на что не реагирует, когда нажимаю паузу под отладкой вижу два тредя на инструкциях lock(...){} в разных местах, и вроде даже аргументы в ... разные. Как такое может быть? Локи же наоборот должны упорядочивать доступ и вообще если аргументы разные, то они не должны никак друг на друга влиять.
#458 #1032901
>>1013491 (OP)
Что больше востребовано у буржуев: десктоп или веб(асп.нет)?
#459 #1032926
>>1032901

>Что больше востребовано у буржуев: десктоп или веб(асп.нет)?


Java
#460 #1033167
#461 #1033327
Ребят, как я могу скопировать файл бэкапа БД с локального пека на удаленный и развернуть там БД?
У меня есть файл newDB.bak, мне нужно отредактировать его, пересохранить и развернуть новый бэкап на удаленном сервере SQL Server.

Всё что я нагуглил, это то что я должен как итог сперва скопировать его туда, а потом там средствами sql managment studio разворачивать.

Помогите, плиз. Горит очень.
#462 #1033341
>>1033327
"Экспорт приложения уровня данных" чтобы получить bacpac и "Импорт приложения уровня данных" на удаленке.
57 Кб, 700x525
Обфускация и сериализация #463 #1033350
Привет, /pr. Есть один класс, объекты которого необходимо сохранять в отдельные файлики, чтобы в дальнейшем иметь возможность их прочитать. Используются для этого сериализация и десериализация соответственно. Все бы ничего, но проект обфусцируется, а обфускатор, конечно же, переименовывает классы, и в конечном итоге получается так, что после каждой обфускации невозможно прочитать файлы, созданные ранее. Как решить проблему, если есть строгая необходимость в обфускации? Может быть, есть какой-то другой способ сохранить объект класса во внешний файл? Пикрандом.
#464 #1033405
>>1033350
Пиши свой сериализатор
#465 #1033556
>>1031201
Бамп
#466 #1033632
>>1033405

Думаю, что есть вариант проще. Так что бамп >>1033350 вопросу.
#467 #1033682
>>1033350
Просто пиши бинарный блоб, в чём проблема то?
39 Кб, 499x307
#468 #1033714
Анон, необходимо написать программу, работающую с БД. Нужно начинать со скачивания https://dev.mysql.com/downloads/file/?id=471661 и установки всего, или можно обойтись без MySQL сервера? Просто, как я полагаю, для работы программы нужно будет сначала установить мусклес, а потом каждый раз его поднимать, а программу ведь нужно будет запускать на других компьютерах.
хочу использовать mysql без mysql сервера
#469 #1033743
>>1033350

>Может быть, есть какой-то другой способ сохранить объект класса во внешний файл? Пикрандом


Ну ебанный в рот.
А просто взять и сохранить данные не пробовал?

С одной стороны, C# вроде вин, но вот из за подобного говна, вроде сериализации, этот вин никогда не уйдет за пределы тухлого офиса с вонючими турпрайз макаками.
50 Кб, 376x450
#470 #1033744
>>1033714

>хочу использовать mysql без mysql сервера

#471 #1033773
>>1033714
Нихуя не понял че ты хочешь. Если тебе нужна на каждом компе доступ к общей бд, то должна общая сеть с серваком, на котором установлена бд. Если на каждом пк своя собственная локальная бд, то ставь SQLite.
Сериализация #472 #1033795
>>1033743
Чтобы отдельно сохранять данные из объектов, то для этого нужно писать дополнительный код, который и будет этим заниматься, дёргая всё из полей / свойств.
Сериализация же позволяет сразу на стадии компиляции пояснить компилятору за поля и свойства, которые нужно будет хранить.
Шарп поддерживает XML, Binary и Json (очень удобно использовать для хранения в MongoDB) виды сериализации.
#473 #1033815
>>1033773

> SQLite


Этого и хочу
#474 #1033826
>>1033795

Проблема частично решена: оказывается, нормальные обфускаторы сами понимают, что сериализуемые классы не нужно переименовывать, то есть имена классов и полей остаются прежними, а методы и их тело шифруются. Хотелось бы, конечно, зашифровать и имена классов с полями, так как это все-таки дает стороннему наблюдателю некоторое представление о структуре программы, но из вариантов с полным отсутствием защиты и с открытыми именами некоторых классов и полей, я все-таки выберу второй.
#475 #1033935
SQLite унижает меня на собственном пека, не желая подключаться к студии. Ошибка - не может найти данный .net, но у меня все стоит. В гугле предлагают переустановить шиндошс студию, но это не помогло
293 Кб, 620x417
#476 #1033944
>>1033795

>сложна, для этого нужно писать код


Обосрался с современных "программистов".
#477 #1033957
>>1033935
Скорее всего проблема в тебе. Если ты скачал официальную dll и указал на нее ссылку, то васе замечательно увидится.
#478 #1033959
>>1033957
Я даже через nuget накатывал, ожидая работы из коробки, но и тут обосрался
#479 #1033962
>>1033959

> даже через nuget


Никогда не надейся на иснсталляторы всего. Лучше скачай точ то надо и подключит руками.
311 Кб, 1200x900
#480 #1034210
На каком уровне надо знать жабаскрипт что бы быть асп.нет фуллстак макакой?
И стоит ли стремиться в фуллстак, или бекенда асп.нет мвс5 хватает что бы найти непыльную работу?
#481 #1034220
>>1013491 (OP)
Друзья, уже возможно ставить net core на linux x32 ?
#482 #1034472
Ну как там посоны, стоит переходить на 2017 ВС?
#483 #1034476
>>1034472
Ну если есть на копьюхтере свободные 50 гигов жесткого диска , терпения пока это все будет устанавливаться 1 час, и осознание , что в в вижуал студио присутствует нано телеметрия, которая отправляет всю информацию о твоей разработки на сервера Microsoft
#484 #1034479
>>1034476

>всю информацию


Инсайд 1000%?
#485 #1034499
>>1034476

>Беспокоишься такой что в майкрософт все отправляет ВС


>Сидишь на видавс 10.

#486 #1034505
>>1034499

>сидишь на виндовс 10


Мимо python/golang программист , Линукс пользователь 24/7
116 Кб, 1024x749
#487 #1034521
>>1034505
А че тут делаешь?
Пришел нам всем ПРАВДУ ОТКРЫТЬ?
#488 #1034528
>>1034505
C# тред
#489 #1034534
Привет, посоветуйте книжку по 6 шарпу. Из шапки для себя подчеркнул

>C# 6.0 Pocket Reference


Но пока еще не качал. На шарпе пишу уже несколько месяцев, но из-за того сил перешел на него с java, то у меня соответствующие проблемы. Пока всем было плевать лишь бы работало, писал как на яве, только конструкции типа var x= new X(), linq и ?/?? Выучил. Сейчас появилось время посидеть и привести свой код в норму. Будет ли карманного справочника достаточно для этих целей?
#490 #1034566
>>1034534
Нет
#491 #1034626
>>1034476
Какие 50 гигов, ебанутый? Даже если в инсталляторе все установить, хотя тебе столько не нужно, выйдет не более 10 гигов. А все для шарпа вообще гигов 5 занимает, учитывая тонну хуйни типа эмулятора ведра и тд и тп, которые можно не качать
#492 #1034702
Почему в шапке нет ссылок на книги? Где можно скачать the c# player's guide 3rd edition?
#493 #1034710
>>1034702
poshel na hui
#494 #1034733
>>1034566
А что тогда читать?
#495 #1034749
Объясните принцип работы дополнения до 1 (~). Например, почему при Console.WriteLine(~0xD) в консоль выводится -14, а не 2?
#497 #1035009
>>1034626
Ксамарин, например, весит 40 гб.
#498 #1035017
Сап, котаны.
Хочу вкатиться в этот ваш asp.net mvc.
Внимание, вопрос: чтобы взяли джуном на галеру обязательно учить javascript и Entity на хорошем уровне или дадут время подтянуть?
#499 #1035025
>>1030481
magnet:?xt=urn:btih:833ac8f2133a3694bd0b985eb07d7d003490eb32&dn=ITVDN
#500 #1035056
>>1035017
Еще дадут личную тянучку и 2.5 литра смузи каждые будни. Тянучку можно забирать с собой.
#501 #1035057
Смузи нельзя.
#502 #1035127
Задался на днях вопросом, правильно ли я пользуюсь трайкетчем.
Допустим есть несколько строк кода, одна из них может вызвать исключение. Я обычно оборачивал все три строки в трай. Будет ли профит, если я оберну только ту строку, которая и вызывает исключение. Или похуй?
88 Кб, 640x480
#503 #1035175
>>1013491 (OP)
Всем привет, сишарперы.
У меня 2 вопроса к вам.
1. Вот в инете куа гайдов по асп.нет, как там все здорово, но хотелось бы понимать, как все это работает. Есть какая-нибудь инфа о том, как без всяких шаблонов написать вею-сервер, чтобы в итоге получился тот же асп, но самписный? В гугле я такого не нашёл.
2. asp.net core - новая шняжка от мелкомягких. Все здорово, но я вот не любитель ентити фрейморка, я задрот sql, мне хочется напрямую с БД взаимодействовать. В asp.net 5 я мог юзать такую охуительную вещь, как DataTable, и пихать в нее результат хранимки, возвращающей Select. А в Core я что-то вообще не наблюдаю, как мне результат select-а куда-то прочитать.
Мб есть что-то, чтоб я мог в List<T> его запихнуть, например?

Так, сразу предупреждаю, что я работаю разрабом бд, а шарпич пока что по фану изучаю, так шо не надо орать, что я днище, я это и так знаю
Картинка для привлечения внимания
#504 #1035277
>>1030852
>>1030839
Спасибо, слез с этих курсов, сейчас читаю metanit параллельно пишу консольные/оконные небольшия приложения, обучение пошло куда быстрее
#505 #1035478
>>1035175
Ты ленивое хуйло. 0.0001 секунда в гугле.
https://stackoverflow.com/questions/42098922/using-datatable-in-net-core
#506 #1035562
Как выполнять запросы в SQLite параллельно? Сейчас про наложении команд происходит фейл.
#507 #1035586
Как в MVVM резолвить уже созданную вьюмодель? Я вижу только геттеры или ресолверы которые создают новый экземпляр по типу, а надо уже сущетсвующий.
#508 #1035610
>>1035562

>async?

#509 #1035666
>>1035562
никак
через mutex
#510 #1035700
magnet:?xt=urn:btih:42a049b0e9c6c5d0078b353032be2347bd321abb&dn=Unity%20%20Game%20Developer

unity
#511 #1035721
Поясните за SharpDevelop. Последнюю версию запилили еще в начале прошлого года, то есть получается, что он последние фичи языка нихуя не поддерживает?
#512 #1035724
Братишки, поделитесь Writing High Performance .NET Code (Ben Watson). В гугле только ссылки на сэмплы и трояны
#514 #1035732
>>1035724
magnet:?xt=urn:btih:763B25C4802C6C2E42E42F75A12CC86CA5973433&dn=Ben%20Watson%20-%20Writing%20High%20Performance%20.NET%20Code%20-%202014.pdf

magnet:?xt=urn:btih:D956693918E4070BF56C04F640B561DF631B0740&dn=Ben%20Watson%20-%20Writing%20High%20Performance%20.NET%20Code.pdf
#515 #1035755
>>1014628
лол. я, наверное, тут самый поехавший, но я писал на юнете.
самый удобный гуи.
но опять же, в зависимости от того, что тебе нужно сделать.
если поработать с графикой и чтоб было красиво, то юнити.
#516 #1035757
>>1035732
от души!
#517 #1035776
>>1035755
поехавший

покажи скрины:3
31 Кб, 736x414
#518 #1035807
Я немножко не вдупляю как это реализовать и возможно будете тыкать что это не тот ЯП
Короче, есть форма и подключенный по скажем lpt сервопривод с атмегой/stm32, задача-с помощью кнопок на форме управлять частотой вращения привода
Я немного не понимаю, что за прослойка нужна между формой и кодом для контроллера
#519 #1035821
>>1035017

>javascript


>С# тред

#520 #1035880
>>1035175
Работаю на asp net core. Datatable жив.
#521 #1036004
>>1035821
сейчас требуют, чтобы fullstack кодер был
#522 #1036058
>>1035776
показал бы. там еще и анимация была ахуенная, типо менюшка сверху прилетает, сворачивается и прочее.
только я её на прошлом ноуте оставил, а он сгорел вслед за ним и моя жопа.
#523 #1036080
Как перекатиться с десктопа (C#), в веб, накидайте годных книжек.
#524 #1036082
>>1036080
мне в прошлом треде посоветовали эту
Pro ASP.NET MVC 5 Platform (Adam Freeman)
#525 #1036092
Захотел изучить C#, но я абсолют бегиннер, т.е. совсем. Взял овер дохуя книг, в том числе и из шапки. Стал читать, параллельно повторять код из примеров пытаясь хоть что-то запомнить и разобраться. Хэлоу ворлд и калькулятор повторил. Но дальше, что делать не понимаю. Вот я придумываю себе задачу и начинаю искать, как это сделать, но блять я нихуя не понимаю. В лучшем случае копирую куски чужого кода и вставляю себе, пытаясь разобраться о чём он. Только дело в сторону я НИХУЯ не понимаю блять. Сука, я уже почти в отчаянии.
Для вэба есть codeacademy и htmlacademy, там уроки, и решаешь задачи, всё поясняется, что за что отвечает. Как мне в C# это всё понимать я хуй знает.
#526 #1036182
>>1036092
Нахуя оно тебе если нет никаких целей?
Да и как первый ЯП шарп или жава слишком сложны.
#527 #1036244
Аноны выручайте, не могу найти ответ на свою проблему. Суть такова:
Есть 100 элементов (в моем случае это pictureBox), они уже созданы и надо их все загнать в один список (List<pictureBox>).
Вручную можно, но этот вариант не рассматриваю.
Как? Пытался по имени:
string s = "pictureBox"
foreach (pictureBox p in picArr)
{
s+=(picArr.Count+1);
picArr.Add(s);
}

Разумеется не работает, так как он пытается добавить в список строку, а не элемент с указанным именем.
#528 #1036256
>>1036244
Обходишь все элементы в Form.Controls и проверяешь тип контрола. Нужные добавляешь.
#529 #1036274
>>1036256
Спасибо, попробую
#530 #1036278
>>1036082

А на русском есть?
#531 #1036301
>>1036182
Цель есть, хочу перекатиться в программирование.
#532 #1036448
https://medium.com/altdotnet/on-the-need-for-a-c-renaissance-634078d4e865

https://trends.google.com/trends/explore?date=today 5-y&q=c#,java

Дискас, господа. Спасет ли нас .net core от дошираков? Какие есть альтернативы java и c#
#533 #1036482
>>1035880
Ну так шо надо заюзать? Мб референц какой или нугет пакет?
#534 #1036550
>>1036301
Ты гуглить не пробовал? Они в 2.0 доступны.
#535 #1036605
Можно ли как нибудь сократить выражение?

if (a != b && a != c) {}
#536 #1036794
для устройства на работу в кач-ве asp.net девелопера нужно знать патерны проектирования?
#537 #1036819
>>1036794
Нет конечно, для веб петушаринга достаточно 9 классов закончить.
#538 #1036830
>>1036819
Их все знать надо или только mvc?
#539 #1036951
>>1036830

Для всей цепочки (от морды до БД) все, так как они там активно испльзуются. Если только фронт, то наверное огрызка хватит.
#540 #1036987
>>1036951
Сколько на это времени уйдет примерно?
#541 #1037037
>>1013491 (OP)
Сап. Я php-макакен, хочу вкатиться в C# веб разработку, так как понимаю что на моей работе потолок это небольшие проекты на laravel. Что посоветуете почитать/посмотреть? Я так понимаю в шапке литература для полных новичков, где показывают как написать HelloWorld. Стоит ли читать это? Подойдёт ли оф. документация? Пока что выбор пал на Троелсена.
#542 #1037110
>>1036830
чтобы вкатиться достаточно асп знать, ну и мвс, конечно, т.к. он в основе фреймворка лежит
#543 #1037130
>>1036987

Сильно зависит от IQ, у кого как
#544 #1037151
>>1037110
просто есть курс уроков по asp mvc 5
а есть просто asp

таки что учить то? Если всё - то долго пиздец
#545 #1037163
>>1036256
Сработало
foreach (Object obj in MyForm.Controls)
{
obj is PictureBox ? ListPic.Add(obj)
}
#546 #1037186
Шарпаны, есть вопрос.

Допустим есть список:
Инавнов
Петров
Сидоров

Иванов всегда должен быть перед сидоровым и петровым. Так же петров должен быть после Иванова, но перед Сидоровым. И вот нам приходит две записи, в одной стоят {"Сидоров", "Иванов"}, а в другой {"Сидоров", "Петров"}. Нужно их в цикле обработать, но в правильной последовательности. Как это сделать наиболее красиво и правильно?
#547 #1037192
>>1037186
Компаратор.
#548 #1037519
>>1036794
MVC, IoC через DI достаточно
#549 #1037522
>>1037037
Вот по этой книжке легко вкатишься в основы asp.net, она небольшая и пример там неплохой, только технологии немного устаревшие, та же реализация DI от Ninject, но для понимания сути самое оно.

https://smarly.net/pro-asp-net-mvc-4/introducing-asp-net-mvc-4
#550 #1037540
>>1037186
using System.Linq;

foreach (string Name in new List<string>{ "Петров", "Иванов"}.OrderBy(x => x)) { . . . }
216 Кб, 576x358
#551 #1037673
Ребзя , хочу написать на шарпах под винду Гуй для базы данных с возможностью изменять значения полей в базе, делать отчеты. База данных буквально состоит из 6 полей (хотя это особо и не важно). На работе стоят порядка 20 машин на винде (в основном XP, ное сть и 7 и 10). Есть знания SQL и частичные познания в программировании (гуй никогда не писал)
Помогите советом, с чего начать в общих чертах ? Выбрал шарпы потмоу что насколько я понял гуй там легко напсиать. Спасибо аноны.
#552 #1037675
>>1037673
Скачай студию.
#554 #1037677
>>1037676
Да зачем ему книжка, приложение за полчаса-час пишется
#555 #1037679
>>1037676
Спсибо анон, давно присматривался к этим курсам, но пока времени маловато
>>1037677
Дружище, можешь пояснить в общих чертах за порядок написания ?
#556 #1037681
>>1037679
Через часа два смогу расписать подробнее, поставлю напоминалку, качай и ставь пока студию. Как раз наверное успеет поставиться.
#557 #1037682
>>1037681
благодарочка, бро
#558 #1037785
>>1037682
Скачалась студия?

- Открываешь ее, жмешь создать, там выбираешь Windows Forms приложение.
- Идешь в какую-то из вкладок меню, открываешь управление пакетами nuget
- Качаешь EntityFramework
- Создаешь папку для моделей
- Описываешь классы моделей (это кстати можно автоматически сделать)
- Описываешь контекст БД (и это вроде тоже)
- Прописываешь строку подключения в app.config
- Кидаешь на форму gridView и кнопку
- Щелкаешь по кнопке два раза, у тебя создается автоматически обработка события клика
- Там пишешь using (var context = new класс_контекста)
{
dataGridView1.DataSource = context.НазваниеНабораДанных.Top(10).ToList()
}
- Запускаешь приложение, жмешь на кнопку, данные выводятся в таблицу

Это если совсем по-простому (делов минут 15) чтобы начать(чего ты и просил), дальше настройка как там и что тебе нужно, плюс создание новых форм, проектирование архитектуры приложения и всего такого. Если нужно еще подробнее про стартер этап, спрашивай.
#559 #1037791
>>1037785
Спасибо за труд, бро, приеду домой обязательно запилю и отпишусь.
#560 #1037804
Вопрос про EF Core.

Есть таблица MySQL в который есть поле id с типом UNSIGNED BIGINT
В моей моделе оно имеет тип ulong
Если делать DbSet.Find(id) то всё работает.
А вот когда надо выбрать через IN , тоесть DbSet.Where(x => Ids.Contain(x.key)).ToList()

выкидывается исключение:

MySql.Data.EntityFrameworkCore.Query.Internal.MySQLQueryCompilationContextFactory[1]
An exception occurred in the database while iterating the results of a query.
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The call is ambiguous between the following methods or properties: 'Microsoft.EntityFrameworkCore.Storage.RelationalSqlGenerationHelper.GenerateLiteralValue(float)' and 'Microsoft.EntityFrameworkCore.Storage.RelationalSqlGenerationHelper.GenerateLiteralValue(decimal)'

Как фиксить?
#561 #1037816
Скоко можно поднимать сишарпом на апворке?
#563 #1037841
>>1037832
И как это поможет по нему селектить если оно не мапится?
#564 #1037870
>>1037841
Попробуй тип decimal вместо ulong

https://www.devart.com/dotconnect/mysql/docs/DataTypeMapping.html
#565 #1037884
>>1037841
Короче конвертируй в строки, похоже не получится у тебя ничего сделать. Зачем тебе вообще такой тип понадобился?
#566 #1037890
>>1037884

>Зачем тебе вообще такой тип понадобился?


Он уже есть.
#567 #1037895
>>1037884
Да и чего в нём особенного?
#568 #1037898
>>1037895
Не представляю где он может понадобится, слишком уж большие числа. Для Id уж лучше guid.
#569 #1037899
>>1037898
Это вообще CRC64 хеш от строки ...
Но собственно что есть с тем и приходится работать.
#570 #1037901
>>1037816
Сишорп не для фриланса.
#571 #1037918
#572 #1037926
Как в MVVM динамически сопоставлять иконки разным диалогам? В размету их не поместишь, так как одно и то же вью может инициироваться разными вьюмоделями (которая собственно и должна как-показать свою иконку).
#573 #1037936
>>1037926
DataTrigger во вьюшке, какое нибудь DialogType свойство во вьюмоделе.
#574 #1037967
>>1037936

А если винформс а не впф?
#575 #1037994
Шарпаны, как получать доступ к контролам в MainForm из других классов, если сам объект этого самого MainForm нам по умолчанию не доступен?(вызов главной формы осуществляется без создания объекта, строчкой Application.Run(new MainForm1)) Может быть я с самого начала не туда пошел? Может быть МэйнФорм нужна только для создания и вызова других форм, в которых и должна быть вся логика?
Вот смотрите: есть программа, в которой пользователь сперва коннектится с БД(кнопкой), используя имя_БД, логин и пароль из текст_боксов на этой форме, а потом уже начинает манипулировать с самой базой. Сперва я решил всю логику разместить только на одной MainForm, но теперь мне понадобилось получить доступ к контролам этой формы из других классов. Быть может нужно использовать Мэйн Форм только для соединения с БД и в случае успешного соединения -создавать и показывать на экран другие формы, в которых уже будет логика взаимодествия с самой БД? А если мне понадобиться переподключиться к другой бд/или под другим логином? Опять вызывать Мэйн Форму?
И как сделать так, чтобы при создании-вызове другой формы, весь фокус программы переключался только на эту другую форму,то есть чтобы MainForm вообще исчезал для пользователя?

Аноны, что вы посоветуете?
#577 #1038005
>>1037994
Почему у тебя классы с логикой взаимодействия с БД вообще как-то воздействуют на форму?
#578 #1038012
>>1038005
Хочется чтоб прям из классов с логикой я мог в форму вставить результат селекта или результат юниксовой команды. Или так делают только обмороженные быдлокодеры и по хорошему надо:

результат_запроса = вызываем метод с параметрами, который возвращает нам результат;
текст_бокс.Текст = результат_запроса;
#579 #1038022
>>1038012
Так и нужно, а еще лучше чтобы вся логика взаимодействия с БД находилась через какую-то абстракцию для меньше связанности картинок и sql запросов. Но если нужно быстро и немного, погугли что есть static.
#580 #1038036
Шарпаны, вы тонете.
#581 #1038039
Алсо, есть ли либы или фреймворки, которые позволяют работать с ms excel/word документами с использованием шаблонизаторов? Типа взял документ, напихал в него yield@section, а потом создаёшь в коде новый и пишешь в секцию что там нужно.
#582 #1038040
>>1037994
friendly class, геттеры. А вообще у тебя проблемы с архитектурой
#584 #1038055
>>1037151
Классический ASP-это вообще хуета не связанная с дотнетом. Скажи точно, что за версия во втором курсе. Хотя в принципе похуй, MVC щас самый передовой и только его и стоит учить.И да, вкатывальщики, вы заебали. Хули вы по видиоурокам учитесь? Вам вообще удобно сидеть час втыкать в экран, вместо того, чтобы ту же информацию прочитать за 10 минут?
#585 #1038064
>>1037901

а как же асп нет?
#588 #1038279
>>1035277
Бтв, достаточно ли будет одних уроков metanit? Сейчас на 11 главе.
Мб есть, что параллельно почитать?
Тяжело даются различные действия с ООП.
#590 #1038705
Шарпаны, нужна помощь. Есть один массив строк. Нужно устроить ему цикл по себе. Т.е. берем 1 элемент, сравниваем его с собой, потом со вторым , потом с третьим и так дальее. И потом второй лемент с первым, собой, третьим и так до конца. Занимет это дохуя времени. Можно это как то распараллелить?
#591 #1038733
>>1038705
сравний по сразу n символов
#592 #1038750
>>1038055

>Хули вы по видиоурокам учитесь? Вам вообще удобно сидеть час втыкать в экран, вместо того, чтобы ту же информацию прочитать за 10 минут?


так проще + акцентируется внимание на важных вещах, которые сам можешь пропустить
#593 #1038751
>>1038705
чем тебя Dictionary не устроил? Там дублей не будет в принципе
#594 #1038758
Короче смотрю курсы, всё понятно. Но стоит открыть готовый чей-то проект - и хуй проссышь: что откуда и куда, нахуй блять
#595 #1038762
>>1038758
проще с нуля написать, чем разобрать
#596 #1038825
>>1038733
>>1038751
Поясню на примере

string[] stroki = new {массиав из миллиона строк}

for (int i1 = 0; i1 < stroki.count; i1++)
{
for(int i2 = 0; i2 < stroki.count; i21++)
{
//Тут идет куча алгоритмов неточного сравнения строк. Хуй и Куй будут считаться одним и тем же словом.
}
}

И вот эту ебату нужно ускорить разложив на ядра. т.к. ядер много, а времени мало.
#597 #1038883
>>1038825
Parallel.ForEach
#598 #1038971
>>1038883
Можешь показать пример в котором такой цикл будет работать не падая?
#599 #1038991
>>1038971
String[] files = Directory.GetFiles(args[1]);
Parallel.For(0, files.Length,
index => { FileInfo fi = new FileInfo(files[index]);
long size = fi.Length;
Interlocked.Add(ref totalSize, size);
} );
Console.WriteLine("Directory '{0}':", args[1]);
Console.WriteLine("{0:N0} files, {1:N0} bytes", files.Length, totalSize);
#600 #1039027
>>1038991
А если взять пример из жизни?
>>1038825
Как такую штуку в этот цикл запихнуть?
#602 #1039645
>>1039027

>А если взять пример из жизни?


Ты што, дурак?
Parallel просто запускает кол-во тредов по число процессоров с заданной функцией, куда передает объект или индекс.
Что там у тебя падает?
#603 #1040052
Шарпаны, какие у вас зарплаты? в том числе не в ДС
#604 #1040082
>>1040052

40к, десктоп (winforms/wpf), мухосрань.
#605 #1040105
>>1040082
сильно устаёшь?

30к, мухосрань, типаадмин, пинаю хуи
#606 #1040145
>>1040105

Когда как.
#607 #1040273
https://2ch.hk/pr/res/1040269.html (М)
Запилил кривой перекот
Тред утонул или удален.
Это копия, сохраненная 27 августа 2017 года.

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

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