Двач.hk не отвечает.
Вы видите копию треда, сохраненную 3 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
204 Кб, 1075x1024
.NET THREAD (C#/F#/VB) #6 Perekoter !JLHGEtxGTk #902499 В конец треда | Веб
Тред единственной элитной платформы в мире программирования.

Шапка: https://github.com/CSharpShapka/SharpHat/wiki

(пока просто перенесена шапка из ОП-поста, в ближайшее время приведу к более-менее адекватному виду, не стесняйтесь слать свои пулл-реквесты)
906576906991
PEREKOT Perekoter !JLHGEtxGTk #2 #902502
Прошлый тред >>887100 (OP)
#3 #902504
поднимаю вопрос/обсуждение
>>902381
#4 #902505
>>902496
Посмотрю еще раз.

>>902497

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



Я, допустим, гуглю этот вопрос и читаю такой ответ.

>The basic concept of OOP is this: Class >> Object >> Instance.


>The class = the blue print. The Object is an actual thing that is built based on the 'blue print' (like the house). An instance is a virtual copy (but not a real copy) of the object.



Его считать безграмотной хуйней или нет?
902509
#5 #902509
>>902505
я ж пишу:

> это вопрос внутреннего понимания собеседников


кроме того, люди с разной тягой к языкам программирования, трактуют понятия по-разному. от многих я вообще видел непонимание слова "instance" как такового, уже без опускания в разницу между ним и "object"

конечно,

> считать безграмотной хуйней или нет?


нет
но если ты найдешь супер-пруф от какого-нибудь Рихтера, который водит хуем по лбу из-за неправильного использования этих понятий, нуок, выкладывай. я спорить не буду
902510
#6 #902510
>>902509
Оке, спс.
193 Кб, 477x800
#7 #902875
На форме data grid view с привязанным .mdb, как в эту срань добавлять строки?
Add.Rows здесь не робит
#8 #903031
Шарпач, а есть ли какой-нибудь фремворк, который бы за меня генирил вью модели? Ну типо в доменной модели я вешаю атрибуты на свойства, а фремворк по ним строит модель. заебло после правок доменки изменять вью модели
903145
#9 #903145
>>903031
не изменяй домен
#10 #903308
>>902091

> for(...) {


> someMethod();


> ...


> }



> ... someMethod(){


> string str = "intern pool";


> ...


> }


Вот это поворот. Вяло ковыряя мануалы, я узнал что в дотнете есть такая вещь как "пул интернирования строк". А это значит, что строка будет создана единожды. И переживать о постоянным выделением памяти для такой строки в цикле нет необходимости. Хардкор в лице разбора работы оптимизатора для других типов, пока не проверял.
903366
#11 #903366
>>903308
не, такое работает только для строк ибо с ними возможно интенсивное засирание памяти
причем, если отключить оптимизацию и сделать что-то вроде "intern "+"pool", или сымитировать такое поведение в коде, то сиэлэр создаст четыре отдельных экземпляра
sage #12 #904116
Я могу выбрать для data grid view исочником data set и grid view заполнится таблицей из data set. Что делать, если я хочу взять лишь определенные по условию значения из data set, пропустить ряд таблицы, а потом снова взять определенные значения из data set?
904117904127909868
sage #13 #904117
>>904116
Сажа приклеилась.
904118
#14 #904118
>>904117
Дважды, блять.
#15 #904127
>>904116

> взять лишь определенные по условию значения из data set, пропустить ряд таблицы, а потом снова взять определенные значения из data set


это что все значит?
904157
#16 #904157
>>904127
Я хочу в один data grid view записать результаты нескольких запросов, делая между ними пропуск в одну строку таблицы.
904158904160
#17 #904158
>>904157
Вот мой нерабочий код. Обосрите, пожалуйста..
http://pastebin.com/3mG3j0QZ
Без внешнего цикла, перебирающего номера складов, работает хорошо.
904183
#19 #904183
>>904158
Все починил. Вот почти (все еще не хватает пары проверок) нормальный код, если кто-то вдруг столкнется с похожей проблемой.
http://pastebin.com/aRK4D2At
904199
#20 #904199
>>904183
Вообще, это вель лютейший говнокод. Мне вообще не нравится посылать запросы таким образом, но через tableadapter нельзя нормально форматировать результат запроса, особенно если в запросе используются джойны. Короче, параша, блять. Реквестирую более адекватных способов реализовать всю эту хуйню.
#21 #904261
Есть приложение на C#, под .Net FrameWork 4,5 и есть виртуальная машина на Azure под Windows Server 2012.
Приложение собрано в VS15 через Publish.
А теперь суть проблемы: когда я кликаю по ексешнику то открывается установочник и сразу же сворачивается.
Как решить эту проблему?
Я первый раз имею дело с Windows Server 2012
904264
#22 #904264
>>904261
забей хуй, новый год жы
90 Кб, 1012x498
#23 #904366
Поясните дауну за сборку мусора.

Я думал, что сборщик мусора просто рекурсивно пробегает по корням и маркирует используемые объекты. Сегодня я таки добрался до Рихтера и прочитал про поколения.

Вопрос - как сборщик мусора в фазе маркировки может игнорировать объекты из 1-2 поколений, ведь, для поиска всех неиспользуемых объектов из 0 поколения, нужно пройтись по всем корням, включая объекты из 1-2 поколений?
904390
#24 #904390
>>904366
вроде jit конпелятор генерирует барьеры записи при присвоении части объекта поколения >0 инстанса поколения 0. наткнувшись на такой барьер, сборщик понимает, что все серьезно
10 Кб, 217x160
10 Кб, 553x79
10 Кб, 438x51
26 Кб, 817x144
#25 #905051
Будь тупым ньюфагом@Еби анону мозги

Добавляю стороннюю библиотеку CsQuery в пока еще пустой проект. Intellisense при вводе ее видит, решарпер даже предлагает включить ее пространство имен при вводе класса этой библиотеки (CQ), однако потом говорит что такого не существует.
Что делать с этой хуйней?
905247
#26 #905247
>>905051
Я сам слабый конечно.
Если ребилднуть - упадет?
Если очистить кеш решарпера - починится?
Если добавить эту зависимость через нугет - проблема повторится?
905250
38 Кб, 1240x107
15 Кб, 696x32
#27 #905250
>>905247

>Если ребилднуть - упадет?


Нет

>Если очистить кеш решарпера - починится?


Нет

>Если добавить эту зависимость через нугет - проблема повторится?


А вот тут выдает что не существует для Mono данной библиотеки. Видимо, в этом проблема.

Но тогда идем дальше.
Окей, нахуй CsQuery, если нугет на него ругается. Создаю проект Android-библиотеки. Беру связку HTMLAgilityPack+Fizzer для той же благородной цели HTML-парсинга. Они отлично без вопросов накатываются из нугета. Сборка завершается без ошибок.
Забираю dll-ку, добавляю к пустому стороннему Android-проекту, и... Скрин1. Ноупраблем, может я что-то не так подключил? Переношу код классов из библиотеки напрямую в сторонний проект, подключаю ту же связку библиотек - проблема остается. Удаляю свой класс - проблема остается.
Ладно, окей, накатим эту библиотеку. Авотхуй, скрин 2.

И как мне дописывать курсач?
905272
#28 #905272
>>905250

>Забираю dll-ку, добавляю к пустому стороннему Android-проекту


Откуда ты ее забираешь?
905276
#29 #905276
>>905272
Из /bin/debug|realise
Мне кажется это знание здесь не особо критично с учетом нижесказанного.
Как я понял, если создавать проект андроид-библиотеки, то после подключения через nuget Fizzer'а все окей, если просто андроид-проект - то вываливается ошибка. PInvoke после установки виден нугетом и лежит в папке проекта, но реакции у студии 0.
905313
#30 #905308
Сорян за ламерский вопрос, но как вернуть диалоговое окно об ошибке сборки? Один хрен в нем на галку нажал и все. Без него жесть как не удобно. Пользуюсь Visual Studio 2015 русской версией.
917882
#31 #905313
>>905276
Ты вообще какой-то неведомой хуйней занимаешь

System.Runtime.InteroptService.PInvoke - это часть Core CLR и не совместим с моно.
В mono есть свой pivoke из его стандартной библиотеки и он должен использовать, а не выкаченный из нугета.

А в Xamarin надо вообще юзать pcl версию agility pack
https://www.nuget.org/packages/HtmlAgilityPack-PCL/
905327
#32 #905327
>>905313
Ок, благодарю. Но что тогда вместо Fizzler-а использовать? HAP.CssSelectors тоже не под моно. Как-то без него слишком геморрно выходит.
Ну, или посоветуй другую библиотеку для парсинга.
905336905474
#33 #905336
>>905327

>Fizzler


Нафиг он тебе вообще, юзай обычные xpath это почти тоже самое.
#34 #905474
>>905327
AngleSharp

>designed as a PCL - supporting .NET Standard 1.0


>The advantage over similar libraries like HtmlAgilityPack is that the exposed DOM is using the official W3C specified API, i.e., that even things like querySelectorAll are available in AngleSharp

#35 #905635
Создаётся массив textbox. Как его удалить и создать на его месте новый, другого размера?
905641905646
#36 #905641
>>905635
Использовать List<T>?
905646
#37 #905646
>>905635
если ты преследуешь задачу увеличить коллекцию при достижении потолка, то сей >>905641 крендель прав, List внутри так и делает
если это единичный случай, то this._array = new TextBox[_array.Length * n]. но только есть микронюанс, ссылки на старый массив не перепишутся магическим образом но адрес нового объекта
905668
#38 #905668
>>905646

> _


фи
905719
#39 #905719
>>905668
разве так не по феншую?
#40 #905822
Всем привет. Короче ситуация такая ребята: я студент второго курса, до этого шарпе не писал. Для того, чтобы устроиться на стажировку мне за 2 недели надо написать сайт в котором можно слать сообщения прямо своим друзьям из вк. Можете посоветовать, что почитать. (как видите нету времени, чтобы читать книги на 1200 страниц, которые могут и не помочь)
905828906002906266
sage #41 #905828
>>905822

>Можете посоветовать, что почитать


АПИ вкудахта.
sage #42 #906002
>>905822

>прет. карочь надо на атомную станцию устроится


>да этово работал на стройки


>физику в школяндии прагуливал еси чё))))


>падскажите че как вайти карочь

906766
#43 #906211
Посоны, а как вообще получают данные от запущенного какого нибудь левого приложения для работы с ними в шарпе?
906223906224
#44 #906223
>>906211
вопрос слишком общий
906234
#45 #906224
>>906211
Какое приложение, какие данные?
снимай скрины экрана
@
читай память
906234
#46 #906234
>>906223
>>906224
Бля ну хуй знает как конкретизировать. Ну например, хочу я бота написать к ммошке какой. на самом деле не хочу, это пример
906243
#47 #906243
906269
#48 #906266
906769
81 Кб, 550x420
#49 #906269
>>906243
Спасибки
#50 #906276
сколько сейчас получает хороший c# джуниор в Москве, ребятки?
студент-слоупок, относительно много писал на шарпе (и не только), но опыта работы ноль. На что надеяться поначалу?
906305906318
#51 #906305
>>906276
открываешь hh.ru, выкидываешь из указанной з/п 25%.
алсо там указаны навыки, что тебе придется выучить до устройства на работу.
#52 #906317
Всем привет!
В программировании ничего не шарю, был убогий курс шарпа на первом курсе и все.
Сейчас понадобилось выучить шарп, так как через пол года придется активно работать с программой Petrel (геологическое моделирование и всякие такие штуки), для работы с ней очень важно знать шарп, чтобы можно было быстро дописать какие-то модули/плагины, которые не предусмотрены в стандартном пакете.
Собственно вопрос, с чего начинать? Есть что-то такое, чтобы после какой-то темы следовало что-то типа домашнего задания, задачи, через решение которой можно было бы усвоить материал? Просто тупое заучивание в голове плохо откладывается, а хорошо бы, чтобы все ключевые вещи остались со мной.
Нашел на ютубе канал
https://www.youtube.com/user/CBSystematicsTV
годнота? Что именно оттуда смотреть, от курсов шарпа для новичков там разбегаются глаза и непонятно, есть ли разница между ними и что выбирать.
Спасибо за совет, анон!
906319
#53 #906318
>>906276

> много писал, но опыта ноль


лаба1-лаба100 не делает тебя хорошим джуниором
906664
#54 #906319
>>906317
на курсере для курсов есть самостоятельные/домашние задания
26 Кб, 1120x107
#55 #906527
Охуенная ошибка.
#56 #906576
>>902499 (OP)
часик в радость.
Глубоко уважаемые аноны, расскажите, пожалуйста, какие вопросы будут задавать junior-у ASP.NET.
906636
#57 #906636
>>906576
jq,
css,
sql,
ооп,
value type vs object,
solid и прочая хуйня.

ну там за ORMы можно
907333
#58 #906664
>>906318

> не делает тебя хорошим джуниором


А что делает?
Я нихуя не делал, почти нихуя для себя не писал, но на работу взяли. Также и знакомый, кодит только на работе, работает ради бабла, так ему кодинг нахуй не сдался.
907025
#59 #906766
>>906002
Ты такой, смешной)))
147 Кб, 433x450
#60 #906769
>>906266
Спасибо, уже читал. Хотелось бы книгу про ASP наподобии прикла.(по нему я синтаксис учил как раз), чтобы быстро освоиться и написать простой сайт.
906773906834
#61 #906773
>>906769
очень годный мануал стоит здесь: metanit.com
906809
#62 #906809
>>906773
Спасибо
906810
#63 #906810
>>906809
Там очень много полезной инфы по .НЕТ, так что дерзай, советую начать ASP.NET MVC 5, потом почитать про Web Api
#64 #906834
>>906769
Значит так. Тебе нужен asp.net Web api или asp.net core.

Для фронт-энда тебе нужен будет ангуляр или реакт, главное помоднее, конечно и ещё куча всякой херни, конечно всё это ставится через npm, далее тебе конечно нужен инструмент для минификации и прочего прямиком из npm, бери webpack, далее тебе нужен конечно babel, чтобы превращать твой ES2016 код в привычный джаваскрипт, ты же не плебей какой-нибудь. Ну и стили пишутся на less или sass, а потом уже конвертятся в css, и это всё делается через webpack, у него и сервер свой есть, кстати.

Далее тебе нужен Nlog для логирования, IoC контейнер типо ninject, structure map вполне хватит. И конечно нужна база данных, которая поддерживает async, ведь все операции ввода/вывода должны быть асинхронными, 2017 же. И конечно, должна быть поддержка LINQ и Code First, и Entity Framework. SQLite подойдёт, если прикрутить пару штук костылями. На самом деле тебе почти по каждому наименованию выше придётся просидеть пару часов на стэк оверфлоу, но это неважно, важно написать modern приложение.

Чуть не забыл про тестирование, ты же не быдло какое-нибудь. Нужен Moq фреймворк для тестирования, юнит-тесты, интеграционные тесты и acceptance-тесты, которые тестируют через UI, ну селениум там, все дела, ну и лоад-конечно же, ты же профессионал. Для нормального лоад-тестирования не подойдёт твой IIS с компа (Кстати, нужна же прослойка типо OWEN), нужен нормальные Windows Server. А, да ещё с докером можешь поиграться, я пока до него не дошёл.

мимо с разорванной жопой
906842
#65 #906842
>>906834

>2017


>asp.net Web api


>Windows Server

906867
#66 #906867
>>906842
- кто ты по гороскопу?
- OWEN
#67 #906941
Возможно ли в dataGridView программно добавить чекбоксы только в определенные ячейки колонки?
907123
#68 #906991
>>902499 (OP)
Мужики, как сделать пересохранить картинку с измененным размером на си шарпе в консольном приложении?

Стековерфлоу говорит, что нужно юзать System.Drawing, но когда я подключаю это, студия говорит, что нет классов Image, BitMap и прочих, наверно потому что приложение консольное.
907008
#69 #907008
>>906991
неправильное предположение
откуда ты берешь Сустем.Дравинг? в референсах к проекту -> Ассемблиез?
#70 #907025
>>906664
Нужно программировать с 10 лет, написать несколько десятков рабочих коммерческих проектов для крупнейших компаний России, иметь опыт фриланса не менее 5 лет, и только тогда ты можешь претендовать на работу джуниором за 10к в Москве
#71 #907030
Почему размерность зубчатого массива указывается слева направо, а не наоборот?

Т.е. надо как int[][] v = new int[5][], хотя если читать левую часть как массив целых массивов - (int[])[], что логично, то правая должна быть new (int[])[5] или опуская мета скобки int[][5].
907034
#72 #907034
>>907030

>что логично


Нет.

Допустим ты пишешь
int[][] v = new int[][5];
v[0] = new int[10];

Как по твоему должна работать вторая строка?
907036907038
#73 #907036
>>907034

Т.е. цель такого синтаксиса что бы при индексации размерности стояли в тех же местах где и в объявлении. Просто в книжках пишут что это просто рекурсивное взятие массива от массива, а почему при этом синтаксис немного меняется не поясняют.
#74 #907038
>>907034

Кстати, вторая строка работает вполне понятно как, строго по определению, никаких противоречий не вижу.
907047
#75 #907047
>>907038
У первого индекса не задана размерность, поэтому непонятно к чему идет обращение. Поэтому нужно было бы писать что-то вроде
v[][0] = new int[10];
907199
#76 #907123
>>906941
У меня получилось. Вот так:
dataGridView2.Rows[lastGridRow].Cells[0] = new DataGridViewCheckBoxCell();
dataGridView2.Rows[lastGridRow].Cells[0].Value = false;
dataGridView2.Rows[lastGridRow].Cells[0].ReadOnly = false;

Проблема в том, что чекбоксы нельзя чекнуть. Как сделать так, чтобы было можно? Отключение РидОнли не помогло.
305 Кб, 1920x1080
#77 #907139
Друзья,
собираюсь создавать вложенные классы в один надкласс, который будет содержать методы обращения и извлечения инфы из вложенных.
Где найти годное руководство по такому шаманству? Гугл выдает какие-то наркоманские примеры, в литературе практически не описывается.
В С# есть другие способы это сделать?
Спасибо.
907183
#78 #907183
>>907139

> найти годное руководство


создаешь класс Pizda. в тем создаешь класс Hui. и получается у тебя одно в другом, тебя такое руководство не устраивает?

> другие способы это сделать


другие способы вытягивания данных/обращения к методам другого класса? ну композиция например
907343
#79 #907199
>>907047

Зачем такие сложности, инициализация только говорит о том что создается массив массивов, дальше ты с ним обращаешься как с обычным массивом, т.е. v[0] = new int[10]
#80 #907209
Посоны, а таки шо надо знать по шарпу, чтобы можно было идти пробоваться на джуна?
907211907333
#81 #907211
>>907209

Если выглядишь норм, можно вообще ничего не знать, главное что бы начальник была бабёнка.
907212907215
212 Кб, 461x371
#82 #907212
>>907211

>на должность male secretary

907215
#83 #907215
>>907211
>>907212
Ну будьте же вы людьми.
907313
#84 #907313
>>907215
заебал, в каждых тредах такие вопросы, полистай архив
907328
#85 #907328
>>907313
Я просто недавно тут.
#86 #907333
>>907209
>>906636
тренд хоть читал? или вообще не можешь в чтение?
#87 #907337
Как захуячить виндовый сервис, чтобы с ним можно было общаться по сети?
907340
#88 #907340
#89 #907343
>>907183

>создаешь класс Pizda. в тем создаешь класс Hui. и получается у тебя одно в другом, тебя такое руководство не устраивает?



Лол, можно пример с конструкторами вложенных классов, про условии что внешний - static?
907360
#90 #907360
>>907343

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


нипанятна какими конструкторами. ты про такие? https://dotnetfiddle.net/eLvuYa
907368907710
#91 #907368
>>907360
Да, спасибо большое. Все гораздо проще, чем я думал.
Уже голова кругом идет, в простых вещах путаюсь.
907710
#92 #907416
Всегда интересовало. В чем различие собеседований на джуна, миддла, сеньора и тимлида? Я правильно понимаю, что на тимлида надо знать все параметры метода хуй в классе пизда пространства имен джигурда, и как потом вся эта ебола компилируется в байткод, а потом и в машинный?
907418
#93 #907418
>>907416
Тимлид не кодит, тимлид смотрит чтобы остальные кодили правильно и продумывает архитектуру приложения чтобы не въебаться на кучу человекочасов, тк это убытки. Но не для галеры, что там делают тимлиды я вообще хз.
907555
#94 #907422
Господа, соррян за очень тупой вопрос: как вывести число строго с определённым количеством знаков после запятой? Т.е. (123)/3=2 нужно выводить как (123)/3=2,000. В жаве, знаю, это делается System.out.printf("%.3f", x);, а в шарпе как (пробовал round, но он не отображает обязательное количесвто знаков)?
907439
#95 #907439
>>907422
ToString("0.000")
907442907556
#96 #907442
>>907439
спасибо
#97 #907472
Добрый день. Есть такая иерархия в EF:
Класс Отзыв с полями "Автор", список "Лайкнувших" и список "Комментарии", которые также имеют поля "Автор" и "Лайкнувшие". Нужно отобразить их на странице. Запроси имееешь вид:
db.Include(x => x.Author).Include(x => x.LikedUsers).Include(x => x.Comments).Include(x => s.Select(y => y.Author).Include(x => x.Select(y.LikedUsers)....
Всё приводится к ViewModel.
Как это можно оптимизировать?
907476907557907782
#98 #907476
>>907472
чиво ты оптимизировать собрался, ты даже не видел получившийся sql
907480
#99 #907480
>>907476
я видел. и он на 768 строк.
907499
#100 #907499
>>907480
это норма.жпг

Можешь свой запрос разбить на куски попроще тип посты с комментами, потом отдельно всех людишек нужных, в надежде что и sql уменьшится. Можешь хранимочку написать или view лучше. Можешь забить
#101 #907555
>>907418
Хуй знает, где это тимлиды не кодят. Кодят, и ещё как, только попутно ещё и распределяют задачи по команде. А архитектуру продумывают выше. Хотя, конечно, от размера организации зависит. Если в компании пара десятков человек, то всё может быть.
#102 #907556
>>907439
Если производительность критична, рекомендую самому расписать. Парсинг формата отнимает нехило ресурсов.
#103 #907557
>>907472
Тебе, скорее всего, все данные не нужны. Первая очевидная оптимизация - сделай Select(x => new {x.Field1, x.Field2, ...}), тогда тащиться будут только те поля, которые тебе реально нужны.
Во-вторых, рекомендую расписать джоинами: это нагляднее, и в процессе, скорее всего, станет очевидно, что где можно сократить.
57 Кб, 473x720
#104 #907652
ЧЯДНТ?

[code]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.IO;
using System.Windows.Forms;

namespace tiny_basket
{
public partial class AddProduct : Form
{
public AddProduct()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}

private void AddProduct_Load(object sender, EventArgs e)
{

}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
textBox2.Focus();
}

private void Price_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
button1.Focus();
}

private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
Price.Focus();
}

private void AddProduct_Click(object sender, EventArgs e)
{
{
if (textBox1.Text == "")
{
MessageBox.Show("Заполните все поля.", "Ошибка.");
}
else
{
DataSet ds = new DataSet(); // создаем пока что пустой кэш данных
DataTable dt = new DataTable(); // создаем пока что пустую таблицу данных
dt.TableName = "Table"; // название таблицы
dt.Columns.Add("Название"); // название колонок
dt.Columns.Add("Где");
dt.Columns.Add("Цена");
ds.Tables.Add(dt); //в ds создается таблица, с названием и колонками, созданными выше
foreach (DataGridViewRow r in dataGridView1.Rows) // пока в dataGridView1 есть строки
{
DataRow row = ds.Tables["Table"].NewRow(); // создаем новую строку в таблице, занесенной в ds
row["Название"] = r.Cells[0].Value; //в столбец этой строки заносим данные из первого столбца dataGridView1
row["Где"] = r.Cells[1].Value; // то же самое со вторыми столбцами
row["Цена"] = r.Cells[2].Value; //то же самое с третьими столбцами
ds.Tables["Table"].Rows.Add(row); //добавление всей этой строки в таблицу ds.
}
}
}
}
}
}
[/code]
57 Кб, 473x720
#104 #907652
ЧЯДНТ?

[code]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.IO;
using System.Windows.Forms;

namespace tiny_basket
{
public partial class AddProduct : Form
{
public AddProduct()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}

private void AddProduct_Load(object sender, EventArgs e)
{

}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
textBox2.Focus();
}

private void Price_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
button1.Focus();
}

private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
Price.Focus();
}

private void AddProduct_Click(object sender, EventArgs e)
{
{
if (textBox1.Text == "")
{
MessageBox.Show("Заполните все поля.", "Ошибка.");
}
else
{
DataSet ds = new DataSet(); // создаем пока что пустой кэш данных
DataTable dt = new DataTable(); // создаем пока что пустую таблицу данных
dt.TableName = "Table"; // название таблицы
dt.Columns.Add("Название"); // название колонок
dt.Columns.Add("Где");
dt.Columns.Add("Цена");
ds.Tables.Add(dt); //в ds создается таблица, с названием и колонками, созданными выше
foreach (DataGridViewRow r in dataGridView1.Rows) // пока в dataGridView1 есть строки
{
DataRow row = ds.Tables["Table"].NewRow(); // создаем новую строку в таблице, занесенной в ds
row["Название"] = r.Cells[0].Value; //в столбец этой строки заносим данные из первого столбца dataGridView1
row["Где"] = r.Cells[1].Value; // то же самое со вторыми столбцами
row["Цена"] = r.Cells[2].Value; //то же самое с третьими столбцами
ds.Tables["Table"].Rows.Add(row); //добавление всей этой строки в таблицу ds.
}
}
}
}
}
}
[/code]
907697907833
#105 #907697
>>907652
Постишь код здесь.
907892
#106 #907710
>>907360
>>907368

Не работает если вложенные - private, а они мне нужны именно private.
Внешний класс - содержит только конструкторы внутренних и способы вытягивания информации.
Есть такой вариант?

public class Program
{
public static void Main()
{
new Outer.Inner();
new Outer.Huinner();
}
}

public static class Outer
{
private class Inner
{
}

private class Huinner
{
}
}
907782
#107 #907782
>>907472
оптимизировать запросы EF это дела такое болотное и неблагодарное, что я ебу
если есть задача реально оптимизировать, то иди в SP. если тебе никак от еф не отвертеться, то в Include включай только тот набор полей таблицы, который тебе действительно нужен для маппинга (а не для условий) во ВМ

>>907710
если вложенные private, манипулировать ими может только тот класс, в которые он вложен. в любом другом случае ничего не выйдет
907836910814
#108 #907833
>>907652
Используешь не шарповский стиль именования.
907892
#109 #907836
>>907782

>если вложенные private, манипулировать ими может только тот класс, в которые он вложен. в любом другом случае ничего не выйдет



Извини, я наверное неправильно объяснил.
Доступ к полям внутреннего класса - только через внешний, который static.
Но почему конструктор не может быть privat? Я же нигде не вызываю его
Не работает:
http://pastebin.com/3315c1gK

И еще, объясни пожалуйста область видимости public конструктора в privat вложенном классе, в коде выше.
907874
#110 #907874
>>907836

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


а это что?

> new Nested(a);



он может быть private, но ты тогда не вызовешь его вне собственно же самого себя

> область видимости public конструктора в privat вложенном классе


если класс-контейнер приватный, то весь доступ к вложенному классу, включая конструктор, происходит не далее, чем в самом контейнере, не считая рефлексии
907962
#111 #907892
>>907697
Зачетная шутка (нет)
>>907833
Поясняй
907963
407 Кб, 720x1280
#112 #907899
Bump
#113 #907962
>>907874

>он может быть private, но ты тогда не вызовешь его вне собственно же самого себя



Стоп, ты же говорил

>если вложенные private, манипулировать ими может только тот класс, в которые он вложен.



Вложен он в static Outer, но Outer его не может вызвать, дает ошибку.
907967
#114 #907963
>>907892

>Зачетная шутка (нет)


С тобой никто не шутит, мудило, размещай код нормально, а не в посте.
#115 #907967
>>907962
ну так при области видимости private объект доступен только его непосредственному окружению:

outerClass -> innerClass -> ctor

- приватный конструктор может только inner
- приватный inner может только outer
- ???
- PROFIT

но прелесть вложенных классов такова, что ctor может в приватные объекты outerClass, но это не суть разговора
908337
12 Кб, 499x443
15 Кб, 638x445
#116 #908041
Я совсем-совсем ньюфаг и не понимаю, как приводить пользовательские типы к стандартным. У меня есть класс, в котором есть свойство, которое разделяет строку в массив строк сплитом. Далее по заданию нужно создать метод, который бы из строки вида Happy New Year делал массив из первых букв строки.
Как мне сделать так, чтобы в Abbreviation не писать string[] str = s.Split(' '), а раскомментировать зеленое? Тогда у меня получается ошибка на втором пике.
Программач, скажи, что нужно написать, чтобы избавиться от этого, или дай полезную ссылку, второй день мучаюсь. Я уже пытался использовать implicit operator, но это забивание гвоздей телескопом.
извините за код
#117 #908042
>>908041
indexer о напиши своему классу
#119 #908154
>>908041
Зачем тебе собственный класс? Зачем ты в статичном методе класса создаешь инстанс этого класса?
С линком это в одну строку написать можно вообще.

return s.Split(' ').Select(s=>s[0]);
#120 #908177
>>908041

> @string



Ты ипанулся приватные члены так называть???
908226
5797 Кб, 2489x3500
#121 #908220
Недавно попробовал EF Core и у меня возник вопрос.
DbSet для работы с данными предоставляет как обычные, так и асинхронные версии методов(например, Single и SingleAsync, SaveChanges и SaveChangesAsync и тд).
Когда лучше использовать обычные версии, а когда асинхронные?
Сейчас по возможности везде использую асинхронные. Правильно делаю?
908233908268
#122 #908226
>>908177
Хочу и называю, законом не запрещено.
#123 #908233
>>908220
Допустим, есть случай, когда асинхронный метод не выполнился, не успел, а твоя программа вызывает его результат по ссылке. Итутуру ты соснёшь nullцов и похаваешь ексепшанав. Удачи.
Обычно асинки ебашат к большим данным и ессно расчитывают их поведение
908268908296
#124 #908236
Есть Datagridview и необходимость создать программно колонки разных типов, в том числе комбобоксы с наборами значений ссылающиеся на таблицу бд.
Есть способ сделать это в 3 клика?
#125 #908268
>>908233
пиздец, знаток асинков в итт

>>908220
с поддержкой асинхронно выполняемых методов, конечно, желательнее использовать их, если ситуация позволяет
908296
#126 #908274
Господа, как там дела с .NET и в частности ASP.NET Core под прыщами? Или лучше не пытаться?
908298908309
#127 #908280
Молодые люди, ковыряюсь в ASP.NET MVC 4 (в учебных целях, да и визуалка только 13ая есть, 15ая коммьюнити не встает на крякнутую винду без обновлений).

Подскажите, как реализовать следующее:
Есть Модель привязанная к вьюхе;
Суть - List из объектов;
У каждого из объектов есть category;
Я хочу чтобы при нажатии соответствующей кнопки/радиобатона назначалась соответствующему объекту category равная value кнопки/радиобатона;
Соответственно кнопки/батоны рендерятся в фориче для каждого объекта как и его текст;
category это просто стринг-свойство;
Желательно без обновления всей страницы.

Не шарю в js, шарю в C#
908604
7411 Кб, 2489x3500
#128 #908296
>>908233

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


Я использую await.

>твоя программа вызывает его результат по ссылке


Насколько я знаю, если я Обращаюсь к свойству Result работающего таска, то текущий поток "заморозится" до завершения выполнения этого таска. Хз про какие null'ы и исключения ты пишешь. >_<

>>908268
Спасибо. ^_^
#129 #908298
>>908274
Только недавно на .NET Core + Angular 2 делал тестовое задание. Проект собирается через Docker и крутится на дебиане. Брат жив, зависимость есть.
908302
#130 #908302
>>908298
Спасибо, анонс, попробую и тоже со вторым ng!
#131 #908309
>>908274

>как там дела с .NET и в частности ASP.NET Core под прыщами?



Качаешь и устанавливаешь .net core с https://dot.net/
Вбиваешь в консоли dotnet new -t web

И у тебя сразу готовый "толстый" asp net проект с авторизацией, razor и прочей хуетой
#132 #908330
у .нет кор ориентирование только на веб или можно локальные приложения на нем писать?
908332
#133 #908332
>>908330
Можно консольные приложения писать
908333
#134 #908333
>>908332
Вроде же писали что System.IO еще не реализован
908359
#135 #908337
>>907967
Спасибо, теперь в голове порядок.
Вообще, если есть задача (я повторюсь):
1. Внешний класс static, и содержит методы доступа к объектам вложенного класса.
2. Вложенный класс private.

Проблемы: %The name '_kList' does not exist in the current context%
http://pastebin.com/gqgT7aZj
908344908345908352
SAGE #136 #908344
>>908337
Ты тупой.
908346908507
489 Кб, 193x135
#137 #908345
1601 Кб, 300x166
#138 #908346
#139 #908352
>>908337
Ты запихал _kList в функцию, а не в поле класса. Вытащи его наружу и сделай статическим.
908507
#140 #908359
>>908333

>Вроде же писали что System.IO еще не реализован


Наверное какой-то узкий кейс или это очень старая инфа.

Обычные операции с файлами читать/писать/удалять и тд работают на Linux/OSX как минимум уже год.
Написал пару консольных утилит (качалку webm и простенький DSL для сборки приложений).
#141 #908507
>>908352
У меня реально проблемы с пониманием области видимости.
http://pastebin.com/zgaAGxB4
Выдает 'Outer.Nested.field' is inaccessible due to its protection level
Почему, ведь обращение к полю field только внутри класса Outer? Неужели надо использовать свойство Field?

>>908344
Тебе хорошо, а я, кроме сишечки и протухшего паскаля, ни с чем дело не имел.
908515908519
#142 #908515
>>908507
в сишке и паскале область видимости работает также
твой филд field является приватным. т.е. доступ к нему возможен только в рамках объявленного контейнера коим является класс nested
908521910231
262 Кб, 450x655
sage #143 #908518
ЧЯДНТ?
Вот, собственно, весь код
http://pastebin.com/RmQdcCnT
А вот с чем возникли проблемы
Чому-то не добавляется строка
http://pastebin.com/C77dE0PM
908524908540
#145 #908521
>>908515
Спасибо!
#146 #908524
>>908518
разве newrow не добавляет запись в таблицу? нахера rows.add юзать
908542
sage #147 #908540
>>908518
Ты про "форматирование текста" слышал
908542
#148 #908542
>>908540
Краем уха
>>908524
Хм, ступил
#150 #909358
Как лучше в BackgrounWorker'е вызывать синхронно ProgressEvent?
#151 #909576
Привет, ананас.
Интересует вопрос, на просторах есть слитый этот полный курс (на трубе только первых 2 части полные)?
https://itvdn.com/ru/video/csharp-starter?utm_source=yb_full_csstart
https://www.youtube.com/watch?v=xsaRhgD7XL4
909611
#152 #909611
>>909576
Есть. Ищи.
19 Кб, 851x184
#153 #909662
Посоны, решил поставить решарпер, хорошая штука помогает местами, но вот не пойму, что он у меня ругается, что он хочет от меня, все работает отлично, если сделать как он просит, то я не пойму что получается, еще и выделяется как ошибка, если сделать как он просит.
909704
#154 #909665
Сап бойс, накидайте годных статей про многопоточность. Статья с рсдн еще же актуальна с учетом использования нового паттерна TAP?
909704
#155 #909672
Еще вопросы, шарпаны.

Вот я делаю тут ебалу для вывода показаний с датчиков и т.д. и т.п.

Вот у меня например 100 лейблов, я получаю с сервера данные каждую секунду в словарь Dictionary<String, Object>, где String - название датчика(устройства), Object - значение, оно может быть и Int, и Double и Bool, и даже String.

В общем мне надо каждую секунду обновлять значения на этих 100 Label из словаря, как это лучше сделать, как привязать каждый Лейбл к своему элементу словаря?

Пока придумал говнокод или не знаю, Ставлю в лейб в x:Name="Dictionary.Key(определенный ключ словаря". Делаю Foreach по всем элементам словаря и если Findname(Dictionary.Key) != Null, тогда ((Label)Findname(Dictionary.key)).Content = Dictionary.Value.

Есть ли нормальный способ?
909676909678
#156 #909676
#157 #909678
>>909672
Зачем тебе 100 отлельных лейблов, поехавший? Возьми любой контрол для работы с коллекциями и бинди его к своему словарю.
909682
#158 #909682
>>909678
Ну нужно физически в разных местах, на разных вкладках разной вложенности и с разными фонами, разными шрифтами отображать значения.

Например на вкладке 1 вверху нужно отобразить "15 м3ч" 14 шрифтом. На вкладке 6, внутри контейнера, нужно отобразить "23 МПа" 20 шрифтом динамически с разным цветом фона(красный, зеленый, желтый).

Как это по-другому сделать? Кроме как лейблами или текстблоками?
909684909688909704
#159 #909684
>>909682
О, автоматизацию вижу я. Дай код на OPC.
909685
#160 #909685
>>909684

>Дай код на OPC


Что ты имеешь ввиду? Код для подключения к OPC-серверу? Или код на самом контроллере?
909687
#161 #909687
>>909685
К серверу, у меня правда стоит Codesys поэтому только DA подойдёт.
909705
#162 #909688
>>909682
Сделай словарь устройство-лэйбл и в фориче labels[dic.Key].Content = dic.Value.
Но нужно предварительно все лейблы закинуть в этот словарь при старте программы.
#163 #909704
>>909662
решарпер тупой и не понимает датаконтекста, который ты применяешь на окно

>>909665
если ты совсем не в многопоточность, статья рдсн даст тебе многое

>>909682
ты юзаешь впф, но не применяешь мввм?
909706
#164 #909705
>>909687
http://pastebin.com/DRpVWApN

Вот, это я сейчас переделал немного, на работоспособность еще не проверял полностью в сравнении со старой версией, вроде соединяется, берет все теги, значения и т.д. Заодно подскажите, как можно тут лучше сделать?

Сразу скажу, что на сервере, почему-то нумерация идет не с 0, а с 1. Поэтому такие костыли. И использую List вместо уже существующего browser, потому что перечисление элементов из браузера идет в 10 раз дольше.
909712
#165 #909706
>>909704
WPF начал применять только потому что заказчику не нравится winforms, про MVVM ничего еще не знаю, поэтому и спрашиваю, как лучше реализовать это все, если кратко - да, юзаю впф, но не применяю мввм, совет какой по вышеописанному мной, кроме "читай мввм"?
909711918319
#166 #909709
Как в OPC читать и писать массивы данных через Item?
909712
#167 #909711
>>909706
C помощью мввм создаешь модель где свойства (твои теги) сами сообщают о своем изменении и передают новое значение. Те тебе будет достаточно лишь присвоить новое значение во ViewModel части. Выглядит оче удобно, но я пока не пробовал - руки никак не доходят Все вожусь с многопоточностью и компортом, блядская прокрастинация
#168 #909712
>>909709
>>909705
Вот же я дал код. Там есть метод для записи одного итема, там минутное дело поменять его для массива, вместого одного элемента, соответственно тебе нужно будет передавать в него не string в качестве названия тега, а string[], и не object value, а object[] values, например.
909713
#169 #909713
>>909712

С записью прокатит, а как читать? Проблема в том что нужно как-то грамотно через Item передать число байт для чтения. Каждый раз выделять в Value память нужного размера как-то тупо по-моему.
909716
#170 #909716
>>909713
Вон в методе GetAllValuesDictionary().

Смотри в _group.SyncRead((short)OPCDataSource.OPCCache, _items.Count, ref _handlers, out _values, out _errors, out _qualities, out _timestamps);

Вместо _items.Count сколько нужно тебе значений забрать и _handlers - массив адресов этих итемов на сервере, изначально я просто ВСЕ итемы занес в _handlers, ты соответственно можешь в него занести только те, что тебе нужно и соответственно с сервера заберешь то что нужно.
909721
#171 #909721
>>909716

Я так понял это массив айтемов? А мне надо прочитать айтем который на сервере (удаленном устройстве) представлен динамическим массивом байт (но перед запросом клиент знает из других источников его размер).
909732
#172 #909732
>>909721
Я такого не помню, но тут насколько я знаю 2 варианта.

1)Если этот массив как один итем на сервере, то используй GetItemValue, он примет этот массив в виде Object, потом его преобразуй в Array да и все
2)Насколько я работал с массивами в контроллерах и передавал их по протоколам передачи они все передаются не как массив, а как набор элементов, то есть есть у тебя массив Byte из 8 элементов, то ты передаешь 8 отдельных item, тогда тебе нужно массив[0].serverhanle, массив[1].serverhandle.

Как-то так.
909735
#173 #909735
>>909732

Я должен сам реализовать этот сервер, но не могу придумать как грамотно выразить это в терминах OPC. Т.е. GetItemValue как-то должен получить инфу сколько ему запросить у устройства.
909741
#174 #909741
>>909735

>Я должен сам реализовать этот сервер


Ааа, даже так. Не, то что я дал это пример клиента, а не сервера, он соединяется с сервером, который все это берет с контроллера.

Ну если ты реализуешь сервер, то тебе нужно ссылаться на адрес этого массива и соответственно забирать значения по этим адресам, по какому протоколу все это передается? Modbus, Can, Ethernet? Смотри настройки в зависимости от протокола передачи, какой адрес у этого массива, если это через модбас, то первая переменная адрес 0, вторая 1 и т.д. А по езернету я серверную часть никогда не реализовывал, в интернете и так 1000 OPC серверов.
909758
#175 #909758
>>909741

По modbus, с адресами легко выкрутился, коды айтема OPC я отобразил в адрес регистра modbus (тут повезло, у них даже тип один - ushort), а вот как передать через OPC еще и скоко регистров брать хз.
909765
#176 #909765
>>909758
Накидай функционалку и сбегай в воркач, там переодически теребятся в асу треде парни с хорошим опытом программирования этого дерьма, могу чего толкового посоветовать.
909814
#177 #909814
>>909765

спс, гляну.
#178 #909826
Вот поясните. Когда использую string вместо Dictionary, то разобрался, жму кнопки, текст меняется, все в порядке. А со словарем как?

http://pastebin.com/cq9xFBin
909834
#179 #909834
>>909826
тебе нужен Converter для биндинга
909849
#180 #909849
>>909834
http://pastebin.com/mwGFwQDz

Вот сделал, не понял зачем конвертер, можешь пояснить? Вот все работает, при старте выводит 2.3, потом жму на 1 кнопку, выводится false, жму на вторую - выводится 5.
909852
#181 #909852
>>909849

> private void Button_Click(object sender, System.Windows.RoutedEventArgs e)


mvvm/binding предполагает отсутствие подобного дерьма в коде Window. иначе нахера тебе делать привязку, если ты прекрасно общаешься событиями?

конвертер нужен для правильной связки данных. например в твоем случае, где нужно в текст загнать словарь. в общем случае стандартный механизм просто сделает valueObj.ToString(CultureInfo) и получишь ты вместо адекватной записи какую-то хуиту. конвертер добавляет кастомной логики в эту операцию
909854
#182 #909854
>>909852
Не, это я просто для примера сделал. Сейчас все эти кнопки убрал, сейчас все работает без событий. Насчет конвертера понял, спасибо.
#183 #909868
>>904116
Это ты в каком году написал? Какие нахуй датасеты, маня? Но ваще тут посмотри http://stackoverflow.com/a/10049875/229949
762 Кб, 1024x768
#184 #910231
>>908515
Ну что за ебля со свойствами, гетами сетами хуетами!
Немогли зделать friend как в C++!!!Не рекоминдую такой язык!!!
910347
#185 #910347
>>910231
свойства == методы в конечном итоге
с полями все то же самое, как и в сях
910541
#186 #910420
Чому dynamic нельзя использовать в лямбдах и анонимных методах, а в обычных методах можно? Просто интересен смысл ограничения.
910433910442
sage #187 #910433
>>910420
Скорее всего просто ниасилили, как и var'ы в объявлении филдов.
910439
#188 #910439
>>910433
ну и надо же какие-то фичи добавлять в новых версиях
30 Кб, 513x442
30 Кб, 552x431
#189 #910442
>>910420
Вот пример сделал, чтобы понятнее было.
910459
#190 #910459
>>910442
о, так тут же фигня в том, что lambda != Action
для обычных типов оно автоконвертит одно в другое. а для динамиков -- нет.

когда делается вызов динамика, оно ищет нужную перегрузку метода по типам передаваемых аргументов. А тут у лямбды тип хуй знает какой, при том, что метод ожидает Action.
910462
#191 #910462
>>910459
А тут у лямбды тип хуй знает какой, при том, что метод ожидает Action.
Но для обычных переменных компилятор же может определит тип лямбды, чому в динамиках он этого не может?
910477
#192 #910477
>>910462
потому что по факту ебаться с этой лямбдой будет DLR, а она наверное не хочет быть очень умной, чтобы не отгрести говна случайно.

Конечно, компилятор мог бы понять, что там лямбда, и она превратиться в Action, но, возможно есть какие-то edge cases, когда это будет плохо работать. И поцоны выбрали явный кастинг к Action.
#193 #910486
http://ru.stackoverflow.com/questions/503128/tableadapter-update-не-сохраняет-измененения

Столкнулся с точно такой проблемой. Код похож. Есть какие советы?
#194 #910497
Посоны, как с помощью MVVM поменять Background и IsEnabled свойства у кнопки.
910499910505910655
#195 #910499
>>910497
Точнее, если у меня много кнопок и полей, у которых нужно по-разному менять цвет фона.
910505
#196 #910505
>>910497
>>910499
Хуево написал наверое, в общем вот код http://pastebin.com/SwUM54Jc

Вот у меня например в словаре поменялись значения с ключами ["BackGroundGreen"] = 0, ["BackGroundRed"] = 1, ["BackgroundGray"]=0. Значит я должен изменить цвет фона кнопки на красный, в какую сторону смотреть?
#197 #910541
>>910347

>Немогли зделать friend

22 Кб, 1103x272
#198 #910544
Шарпач, ничего не понимаю.
Тереблю многопоточность и выявил какой-то косяк в работе приложения, закинул в дотфидл - там все работает так, как нужно! В чем моя проблема?
https://dotnetfiddle.net/EAfBxN
910560910621910751
#199 #910560
>>910544
в голове проблема
#200 #910621
>>910544
Не разбирался в сути проблемы, но сука, используй TPL. 2017 как-никак
910629
#201 #910629
>>910621
А как это делается с помощью TPL?
#202 #910655
>>910497
вообще, на твой вопрос можно по разному ответить. зависит от того, при каких условиях тебе необходимо менять цвет и активность кнопки.
можно
а) Расширить класс кнопки, создав CustomControl, наследующий Button и имеющий какой нибудь dependency property, на изменение которого есть триггер в стиле/шаблоне нового кастомного контрола, который тебе необходимо еще и написать и применить к каждому экземпляру (или просто оставить стиль/шаблон без свойства Key в заголовке, чтобы он автоматом применялся ко всем экземплярам)
б) для каждой кнопки, если их не очень много, создать свойство, изменение которого дергает событие PropertyChanged. думаю, наврядли у тебя 500 абсолютно не связанных кнопок, то есть их можно условно разделить на категории. тогда кнопкам своим, в зависимости от категории хуячишь

<button IsEnabled="{Binding Path=SomeCategoryEnabled}" Content="#YOLO" Background="{Binding Path=SomeCategoryBackground}"/>

где SomeCategoryEnabled - булевое свойство, дергающее PropertyChanged при изменении, а SomeCategoryBackground - свойство цвета SolidColorBrush/RadialGradientBrush/LinearGradientBrush.

в) ну или, если тебе пиздец как хочется скастовать "анус-запеканус" и привязать всю эту хуйню к ОДНОМУ словарю для РАЗНЫХ полей и кнопок, то...
ну хз. я не до конца понял твой проблемы, но если всё оставлять в том виде, в котором ты это предполагаешь, то тебе для каждой ебучей кнопки придется делать свой ключ, и биндить параметр следующим образом:
<Button IsEnabled={"Binding Path=theDictionary[\"theButtonKey\"]"}

Да ты там вообще охуел чтоли? Хуйню какую то пишешь. Менять, блять, цвет фона по словарю через значения 0 и 1 для разных оттенков? Совсем наглухо пизданулся? Иди нахуй.
910830910832
#203 #910751
>>910544
lock(object(int)) не будет получать эксклюзивную блокировку для потока
911062
#204 #910814
>>907782

>то иди в SP


Какое сп?
910901
#205 #910830
>>910655

>а ты там вообще охуел чтоли? Хуйню какую то пишешь. Менять, блять, цвет фона по словарю через значения 0 и 1 для разных оттенков? Совсем наглухо пизданулся? Иди нахуй.



Ну а хуле делать, на сервере только 3 адреса по которым я могу отследить, во что красить кнопку, если первый в true - авария, цвет красный, если второй в true - нормально - цвет зеленый, если третий в true, то неактивно - серый.

Соответственно все значения с сервера ко мне приходят словарем <string, object> где string - название, object - значение.

Не я это придумал, лол.
910832
#206 #910832
>>910655
>>910830
Ну я уже все сделал в приципе, разобрался.
#207 #910901
>>910814
семейное положение блять
910987
#208 #910951
Есть ли какие то хорошие гайды по Xamarin, на русском языке, и реально ли на нем писать нормальные ведроприложения?
910999
#209 #910987
>>910901
Таким шутникам тут не место
911182
#210 #910999
>>910951
если верить их сайту - возможно. сам хз, я сайты клепаю. xamarin.com/customers
обязательно на русском? сам же знаешь, перевод добавляет ошибки + часто отстаёт на год минимум
911014
#211 #911014
>>910999
Нет. Просто внезапно залез посмотреть а там блядь награмождено всего пиздец. Не пойму как написать сранную кнопку с хелоуворлдом. Все какие то блядские сдк и фреймворки ставлю. Ой блядь.
#212 #911031
Блядь блядь блядь.

Ебанный ксамарин уже просто доебал.
http://stackoverflow.com/questions/41552653/xamarin-android-player-is-installed-but-not-recognized

Как пофиксить эту хуйню?
Я установил блядский андройд плеер, так какого хуя ВС его не видит?
У меня уже сука зла не хватает.
ВС 2015 комьюнити, спермерка 64бита.
911145
#213 #911062
>>910751
Спасибо, создал отдельно ссылочный тип и с ним вроде даже заработало. А почему так криво работает с кастом инта?
911182
#214 #911145
>>911031

> 0.6.5


> Released: November 4th, 2015


Забей, они его убили.

Юзай VS Android Emulator или из Android SDK
911239
31 Кб, 430x405
#215 #911151
Посоны, как автоматически увеличивать версию билда вот этого? 1.0.0.0., чтобы с каждым билдом увеличивалось?
911156911158
#216 #911156
>>911151
Если ставлю галочки, то в программе System.Reflection.Assembly.GetExecutingAssembly() меняется, а когда захожу в папку - bin - Release, то версия файла все еще 1.0.0.0 и версия продукта 1.0.*
911158
#217 #911158
>>911151
>>911156
Все, разобрался
#218 #911182
>>911062
ну почему криво. экземпляр ссылочного типа создается у тебя в момент упаковки. т.е. при каждом lock(int) ты будешь получать упаковку текущего инта и размещение его в куче. если бы ты обьявил где-нибудь в пределах класса object syncObj = someInternalIntValue, то было бы все окей
а как ты ожидал? что в случае с (object)int CLR будет искать каждый раз тот инт в памяти, который по значению равен упаковываемому? это ж охуеть не встать. ну и, к тому же, сам смысл упаковки терял бы смысл по большому счету

>>910987
ну ничего себе мы серьезные какие
Stored Procedure, мог бы и знать-то в 2017
911283
#219 #911186
Посоны, а расскажите про тесты, что это такое вообще для чего нужны, с чем едят, есть ли в студии уже встроенный механизм? Вообще где прочитать про тесты в вижуал студии и C#. А то меня спросили на собеседовании, мол чем я тестирую ПО свое, я чет ответил что не я тестирую, а тестировщики, а мне что-то вроде "МММ... ясно" ответили и не перезвонили.
911200911202911452
#220 #911200
>>911186
Красавчик. Просто ты пишешь софт так, что его и тестировать не нужно.
#221 #911202
>>911186

>а тестировщики, а мне что-то вроде "МММ... ясно" ответили и не перезвонили


Кекнул. А если я, например, пишу функции для крипторов с ограниченным числом способов применения, которые просто не могут быть багнутыми, если их использовать по назначению? Это у десктоп-опущенок что ли ехал баг через баг?
#222 #911203
Как можно быть десктоп-опущенкой? Что вы там пишете для развития? Вам это интересно?
911204911221911227
#223 #911204
>>911203
Пишу на работе софт для своего отдела, оче удобно.
#224 #911221
>>911203
Написал тебе за щеку
#225 #911227
>>911203

Веб-макака закукарекала с параши.
#226 #911239
>>911145
Я боюсь что все дело в ебанной семерке.
911308
#227 #911283
>>911182
Шутка о наболевшем
Что там за ВМ?
911291
#228 #911291
>>911283
Ооой я затупил, снмиаю вопрос
#229 #911308
>>911239
Плеер от студии вроде как работает через Hyper-V, а в семёрке его нет по дефолту, надо отдельно ставить.
911320
#230 #911320
>>911308
Всё, с плеером разобрался.
Но теперь почему то мой хелоуворлд не запускается в киткате. Просто загружается оболочка. В меню приложения тоже нет.
Может есть какая то комбинация клавишь?
911355911417
#231 #911355
>>911320
Попробуй файрвол вырубить. Ещё можно логи девайса каким-то образом вывести, может там будет ошибка.
#232 #911417
>>911320
Поставь десяточку то, ну не будь 2007к. И новую студию, и новое все.
#233 #911452
>>911186

>есть ли в студии уже встроенный механизм?


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

Но вообще тебе как разработчику должно быть известно о концепции Unit тестов и интеграционных тестов, и писать их тоже должен ты, по идее. Может поэтому и не перезвонили, кек, кто их знает.

Где прочитать - сам не знаю, гугли по ключевым словам сверху. Ещё заодно к этому тебе нужно иметь представления о Moq и роли IoC в тестировании.
#234 #911499
Господа специалисты, есть ли для c# портативный компилятор? Прям совсем портативный, который можно установить на флешку/хард. Есть комп, на котором придётся порой прогать не имея прав админа, т.е. не смогу установить даже библиотеку для компиляции через блокнот. Есть вариант, как всё это обойти и среда, не требующая установки? P.s. тырнета там нет, так что онлайн сервисы не выбор
911604
180 Кб, 459x597
#235 #911601
Начал писать библиотеку для работы с торрент трекером https://www.nyaa.se/ (сделать поисковый запрос, скачать торренты из его выдачи) и столкнулся с небольшой проблемой.
Там есть такая штука как категории. Категория состоит из двух частей: дружелюбная для человека строка вроде "Audio - Lossless" и строка для URL вроде "3_14".
Я не совсем понимаю как по-нормальному протащить их в библиотеку. Т.е. я хочу в свой метод поиска передавать что-то вроде "Category.Audio_Lossless" или "Category.Software_Games" и чтобы оно под капотом превращалось в строчку для URL.
Пока самое лучшее что я придумал это создать класс с кучей свойств вроде "public string Audio_Lossless => "3_14"".
911613911688
#236 #911604
>>911499
csc.exe чтоли?
Он есть на любом коспе с виндой.986965
912025
#237 #911613
>>911601
ну, либо Disctionary<string, string>, либо перечислялка с атрибутом. в такой ситуации - все говно, нужно выбирать по обстоятельствам/перфомансу
911860
#238 #911688
>>911601
Вытягивай актуальные категории с этого же сайта, делов то
#239 #911860
>>911613
Спасибо за ответ :)

>Disctionary<string, string>


Я забыл уточнить 1 важную штуку. Хочу чтобы работало автодополнение в IDE. С ключами словаря оно не работает.

>перечислялка с атрибутом.


т.е. мне нужно будет доставать значение через рефрексию? Это ж вроде "дорого". Зато с автодополнением.

>нужно выбирать по обстоятельствам/перфомансу


На производительность похуй. У меня ж по сути качалка торрент файлов, а не крупная корпоративная йоба.
911879912050912128
#240 #911879
>>911860

>приложение для работы IO (диск/интернет)


>рефрексия - дораха


Хватит блять перформанс в уме считать.

Тормозит приложение - берешь профайлер.
Нужны микробенчмарки тебе не нужны - берешь https://github.com/dotnet/BenchmarkDotNet АндреяА
#241 #912025
>>911604
И как его завести?
Я пытался прописывать в командной cd [путь до csc.exe]/csc.exe D:[путь до файла]/TestApplication,cs
Что я сделал не так?
#242 #912050
>>911860

>Это ж вроде "дорого"


дорого делать через рефлексию то, для чего уже существуют конструкции в коде, т.е. доставать значение филда, вызывать метод и т.д. атрибут - это же метаданные типа или его членов, и не является чем-то катастрофическим для перфоманса
#243 #912128
>>911860
А если список категорий или урлы в них изменятся? А? Новую версию будешь пилить?
912166
#244 #912166
>>912128
Скорее всего да т.к. я не знаю как "на ходу" сгенерировать пары "название категории" - "url" чтобы оно потом работало с автодополнением IDE. Я мог бы просто закинуть в словать, но это без автодополнения.
#245 #912309
Как в визуал студии включить отладку с устройства?
Отладку на телефоне включил.
USB Сдк от гугла скочал.

Мое устройство автоматически должно появится в меню отладки, или надо включать?
912330
#246 #912330
>>912309
А все разобрался.
Если у кого то будет та же проблема - надо просто в диспетчере устройств выбрать свой телефон и в ручную подключить драйвер который качает СДК на комплюктер.
912341
#247 #912341
>>912330
А нет нихуя. Иде видит устройство.
Дебаг идет нормально, за исключением того что блядь приложение на телефоне не запускается.
Блядь.

Android application is debugging.
The application could not be started. Ensure that the application has been installed to the target device and has a launchable activity (MainLauncher = true).

Additionally, check Build->Configuration Manager to ensure this project is set to Deploy for this configuration.

Че он хочет? Мне надо самому ставить свою приложуху на телефон? Так это же уже релиз а не отладка.
912408
63 Кб, 707x444
#248 #912408
>>912341
Не уверен что поможет, но советую проверить что:
1). В качестве целевой платформы ты выбрал ARM.
2). У тебя стоит галочка с картинки.
3). Посмотри появилась ли твоя приложуха на телефоне вообще.
912872
57 Кб, 599x337
#249 #912478
Господа,
Сам я юнга в C#, изучаю в свободное время.
Я пишу небольшое приложение с формочками, для работы.

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

Приступил собственно к написанию кода - и тут вопросы на каждом шагу.
Создавать классы на каждый объект? А если они отличаются не значительно, наверное, нужен базовый класс и от него наследовать? Каждому классу свои методы, или один статический класс со всеми методами?

Я понимаю, что это все приходит с опытом, но есть какое-то направление?

Спасиб.
#250 #912483
>>912478
ну создаешь отдельный тип на какой-то отдельный процесс или параметр, имеющий состояние. статический метод подходит для случая, когда нет зависимости от состояния. хз, понял ты или нет
912714
#251 #912551
>>912478

> Создавать классы на каждый объект?


Смотря что у тебя там за объект. Если дохрелион мелких, то лучше ограничится структурой. Если парочка больших, то можно и классы хуярить. А может быть достаточно массива строк.

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


Наверное нужен. Я хз что ты называешь объектом.

> Каждому классу свои методы, или один статический класс со всеми методами?


Опять же, сколько у тебя классов? Сколько методов? Если надрачивать ООП, то там лучше много специализированных методов, чем один универсальный. Ну ты понел.

> Я понимаю, что это все приходит с опытом, но есть какое-то направление?


Напрвавлен е одно - "Хуяк-Хуяк и в продакшн". Главное что бы тебе самому было удобно потом этот код поддерживать.
912714
#252 #912562
>>912478

>но есть какое-то направление?


Читать книжки до просветления минимального. Ты такие вопросы создаёшь как будто в первый раз что-то на ООП пишешь.
912714
#253 #912714
>>912483
Внезапно понял.

>>912551
Ок, спасибо,

>>912562

>Читать книжки


Какие?

>Ты такие вопросы создаёшь как будто в первый раз что-то на ООП пишешь.


Как будто что-то плохое.
#254 #912726
Пишу приложение на wpf, по нажатию кнопки мне надо открыть модальное окно, провернуть кое-что там и закрыть. Пишу:
var ModalWindow = new ModalWindow();
задаю овнера и вызываю ShowModal() делаю что надо закрываю окно, но из памяти оно почему-то не удаляется, то есть каждое открытие приложение кушает еще памяти.
Почаны что гуглить, как быть? Нагуглил что сборщик мусора сам придет и съест ненужное говно, но я стремаюсь, хочу подразобраться.
912735912749
#255 #912735
>>912726
значед где-то есть ссылка на эт окно, ест сборщик не сжирает мусор, либо внутренности окна зависят от какого-то хлама, от которых зависит еще какое-то еще не удаленное дерьмо. либо проблема не в конкретно этом окне, такие дела

хочешь разобраться - читай про модель памяти и сборку мусора
#256 #912749
>>912726
Сборщик мусора запускается не в тот момент, когда объект перестал быть нужен, а когда приложение суммарно начинает потреблять много оперативной памяти, т.е. ненужные объекты могут долго болтаться в памяти (если ты не создаёшь новых объектов), это нормально.
912780
#257 #912780
>>912749

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


ну нет. эта фраза довольно неоднозначна, и, скорее всего, незнающим будет расценена неверно. посему не путай людей
912788
18 Кб, 320x154
#258 #912785
Есть/будет ли когда-нибудь возможность обмазаться VB.NET/SB под ЖМУ/Пинусом?
#259 #912788
>>912780
Поясни, пожалуйста. Не понял суть претензии.

Из Рихтера:
"При инициализации CLR выбирает пороговый размер для поколения 0, например 256 Кбайт (конкретный размер может варьироваться). Если в результате выделения памяти для нового объекта размер поколения 0 превышает пороговое значение, должна начаться сборка мусора."
912796912871
#260 #912796
>>912788
пороговый размер поколения 0 в какой-то момент времени работы приложения != потреблять много оперативной памяти

> суть претензии


->фраза довольно неоднозначна
912813
#261 #912813
>>912796
Да, пожалуй, ты прав.
#262 #912871
>>912788
Издательство Питер7

Есть ли последнее издание, четвертое вроде, на торрентах? Которое в зелененькой обложке.

Его вроде переводил как раз специалист.
#263 #912872
>>912408
Мне надо закинуть АПК своего приложения на телефон самому, или оно появляется автоматически?
913105
#264 #913105
>>912872
оно само деплоит.
913198
#265 #913198
>>913105
Проблема походу в самой студии.
А то я сделал релиз своего хелоуворлда. Закинул на телефон АПК из папки прожект/бин/релиз.
У меня оно не устанавливается.
На других телефонах устанавливается но не появляется иконка приложения.

Наверное я проебланил какой то СДК или ЕКСТРА для несосания залуп.
Где можно полный список посмотреть?
913420
#266 #913349
Возникло несколько вопросов про List<T>:
1). Правильно ли я понимаю, что увеличение Capacity значит что под капотом был создан новый массив и туда было скопировано содержимое старого?
2). Стоит ли из-за этого переживать если проект это игра?
#267 #913402
Правда, что почти вся работа, связанная с шарпом, которую может получить джун, связана с вебом?
913560
#268 #913420
>>913198
Да.
Нет. можешь какой-нибудь линкед лист использовать, но зачем
sample text #269 #913546
Привет програмач.
Нужен твой совет. Меня попросили прийти на собеседование, но не в качестве нового сотрудника, а качестве рекрутера.

Собственно вопрос: какие мне задавать вопросы, так как я вообще не знаю куда копать?

Стек технологий: .NET/ASP.NET MVC 5/Web API/HTML/CSS/Jquery
913552913563
#270 #913552
>>913546
как же тебя пригласили-то?
913555
#271 #913555
>>913552
Да толком сам не понял.
Вообще это маленькая кантора и там пока два с половиной дотнетчика, все остальное это пых, фронтенд, дизайнеры и т.д.

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

А что спросить я хз. Чем отличается абстрактный класс от интерфейса))
913606
97 Кб, 1280x720
#272 #913560
>>913402
Еще есть десктоп/автоматизация тестирования/Unity3D. Я, например, авто-тесты для десктопной приложухи пишу/поддерживаю.
#273 #913563
>>913546
WebAPI это суть реализация REST сервисов. Спрашиваешь все про них, какие методы используются, какие запросы приходят и какие ответы уходят, как оно все работает на низком уровне. На каком-нибудь примере типа чата.

HTML - что нового ввели в 5-й версии, как правильно задавать кодировку, чем отличается <span> от <div>.

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

CSS программисту помнить наизусть не нужно.
913565913574
#274 #913565
>>913563
Спасибо большое за помощь.
913571
#275 #913571
>>913565
Про REST еще модно спросить, какие есть другие способы реализовать эту задачу? Если чел в теме, а не студент с хабры-жаборашей, он обязательно расскажет про SOAP, почему тот сосет, и какой у него единственный плюс (WSDL).
Можно, наверно, еще спросить, почему именно такие HTTP-методы были выбраны (например, GET для чтения данных), но это для гуру-хакеров, джун/миддл про тонкости протокола HTTP может и не знать.
А по синтаксису спрашивать не нужно, никто это глупости не помнит, тем более студия сама создает шаблон.
913606
#276 #913574
>>913563

>WebAPI


>На каком-нибудь примере типа чата.


Это же реалтайм. Так что тут скорее SignalR чем WebAPI.
913580
#277 #913580
>>913574
SignalR это просто оболочка для веб-сокетов. Это больше нужно для игр, видео и т.д.
Чат достаточно обновлять раз в секунду, AJAX для этого прекрасно подходит.
915086
#278 #913588
Зачем в с# так много всяких врайтеров, ридеров, если они делают одно и то же?
913998
#279 #913606
>>913555
спрашивай то, что сам знаешь. если не знаешь нихуя, то хз)

>>913571

>почему именно такие HTTP-методы были выбраны


где об этом прочитать?
#280 #913652
Посоны, если у меня к TextBox text={Binding variable}. Ну то есть я хочу чтобы у меня в текстбоксе выводилось значение переменной, но при этом я мог туда ввести значение и по Enter выполнить какую-то функцию, в общем мне не дает ничего ввести в текстбокс, как сделать так чтобы биндинг работал, только когда текстбокс не в фокусе ввода?
913696
#281 #913696
>>913652
Если честно, я нихуя не понял твоего вопроса. Что значит, чтобы биндинг работал, когда текстбокс не в фокусе? Как тогда ты текст будешь вбивать? Или ты будешь в текстбокс данные вводить через другие источники (по нажатию кнопки/по загрузке текста и т.д.)?

Если тебе нужно, чтобы ты мог изменять значение переменной через текстбокс, то выбери режим биндинга OneWayToSource, если тебе нужно, чтобы менялся текст, когда что то другое изменит переменную - режим TwoWay. Если тебе нужно, чтобы изменения применялись только после того, как ты уберешь фокус с текстбокса - делаешь свойство UpdateSourceTrigger = LostFocus. Если тебе нужно по энтеру это делать - то можешь либо попытаться разобраться, как работает режим обновления Explicit хз, возможно у DependencyObject, который ты привязываешь и которым является text у TextBox'а есть какой нибудь метод типа submit или ещё какой нибудь AcceptChanges и вызывать сабмит командой, которую привязываешь в KeyPress, в команде которой проверяешь, что если нажат Enter - то submit, или вовсе без биндинга обойтись - вешаешь на текстбокс обычный обработчик события KeyDown/KeyUp/KeyPress, смотришь там, нажат ли энтер или хуй, ну и делаешь свои грязные дела.
913701913707
#282 #913701
>>913696

>Если тебе нужно, чтобы изменения применялись только после того, как ты уберешь фокус с текстбокса - делаешь свойство UpdateSourceTrigger = LostFocus.


У меня стоит
Text="{Binding variable, UpdateSourceTrigger=LostFocus}"

При вводе текста в этот текстбокс, он заменяется на значение переменной. Может дело в том, что значение переменной изменилось, во время того когда я набирал текст в текстбокс. Эта переменная никак не привязана к текстбоксу и ее значение может поменяться и в момент ввода в текстбокс какого-то значения.

По идее там срабаывает PropertyChanged евент в ViewerModel и он обновляет текстбокс, даже если там стоит UpdateSourceTrigger=LostFocus.
913707
#283 #913707
>>913701
>>913696
Да, без биндинга попробую пока что.
125 Кб, 1146x938
#284 #913732
>>912478

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


>


>Я понимаю, что это все приходит с опытом, но есть какое-то направление?


>


Тебе нужны Дизайн Патерны?
https://itvdn.com/ru/patterns

Вот держи книжку по шаблонам проектирования.
913737
#285 #913737
>>913732
А нет. Я понял. Тебе нужен учебник Герберта Шилда или троелсена. Там описано как создавать классы очень просто.
#286 #913998
>>913588
Уточни о чем ты.
914436
#287 #914423
Привет!
Посоветуйте пж курсы/литературу по ADFS. Конкретно интересует настройка Identity Delegation между фронтендом (Angular 2) и веб-сервисами (WebAPI). Пробовал понять что-то по гайдам из гугла и из доков MSDN, но слабо могу понять о чем в них идет речь.
Заранее спасибо!
#288 #914436
>>913998
Уже не нужно, запутался в StringWriter, TextWriter, Stream, BinaryWriter;
#289 #914820
Для годноты типа

OpenGL
OpenCV
Bullet physics

нужны костыли
914829
sage #290 #914829
>>914820
А ну съебал в свой с++ тред, страуструпоеб шучу оставайс
914836
#291 #914836
>>914829
Не отрицаешь, значит, что без костылей не обойтись.
Нейтивной годноты на с# еще не подвезли
914885
#292 #914853
Что делает flush?
Вот тут, например http://stackoverflow.com/questions/1123718/format-xml-string-to-print-friendly-xml-string в первом ответе.
Я пробовал, если его убрать, то не все информация запишется в xml документ.
Это значит что у этого XmlTextWriter буфера не хватает чтобы все за один раз записало поэтому необходимо flush вызывать чтобы остатки попали в документ? Или как?
914885
#293 #914885
>>914836
какой нейтив ты желаешь для платформы, работающей посредством виртуальной машины? или ты так, спиздануть че-нибудь?

>>914853

>Что делает flush?


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

914892915380
#294 #914892
>>914885
Вот я и понят фишку дотнета

https://blogs.msdn.microsoft.com/ericlippert/2011/11/18/why-il/
#295 #915086
>>913580

>SignalR это просто оболочка для веб-сокетов.


Вообще-то SignalR - библиотека для двухсторонней передачи данных, которая умеет и в веб-сокеты, и в

>обновлять раз в секунду



В рот бы нассать такому "рекрутёру", который стесняется сказать "Я не знаю".
35 Кб, 600x800
#296 #915155
ребят подскажите чот не могу правильно английском вопрос составить, запарился в гугле искать
есть в студии инструмент по типу "рука" в фотошопе, чтоб можно было навигацию на коду осуществлять без скролл баров
у меня разрешение маленькое на экране и ебаться с переносом слов вообще не охота, оче не понятно получается с переносом.
915397
#297 #915317
Аноны, подскажите. Недавно устроился работать в одну конторку, занимаюсь там скриптингом под Unity3d на C#. Сложно ли будет перекатиться потом в нормальную .net разработку? Будет ли это считаться за промышленный опыт разработки на c# ?
Сам студентота, и в моей мухосрани особых альтернатив нет просто
915457
#298 #915380
>>914885
Это я видел.
Спрашивал про этот конкретный случай и правильно ли я его понимаю ввиду такого определения.
#299 #915397
>>915155
Не пиши строки длинее 80 символов, скрой все ебаные панельки справа и слева, полноэкранный режим, поставь оче маленький шрифт / включи реверс-зум, купи монитор.
#300 #915457
>>915317
Ну там ты неплохо подымешь синтаксис, ооп мультитреад, асинхронность (наверное).
Но это не отменяет того что придётся освоить бд и асп.
#301 #915711
Есть BufferedStream с возможностью динамеческого изменения размера буфера? В идеали что бы можно было задать минимальный и максмальный размер буфера, что бы сначала, пока клиент запрашивает мало данных заполнялся буфер небольшого размера, а потом уже поперло на полную.
915850
#302 #915835
Ой блядь.
Кароче пытаюсь на ксамарине задеплоить прожку на свой телефон, так как эмуляторы проелтают из-за отсуствия апаратной виртуализации на ноуте.
Суть в чем. Прожка деплоится. Билдится. Тут все САЦЕСС.
На телефоне появляется окно только с названием моего хелоуворлда и иконкой. Но кнопки не проприсовываются. Блядь да что не так то? Сука.
915879916961
#303 #915850
>>915711
а не проще держать стрим с максимальным размером буфера чтобы не инициировать копирование данных и создание экземпляров массивов?
915948
30 Кб, 472x337
#304 #915879
>>915835
Похожая хуйня с замарином - компилится без ошибок, мигает иконка деплоя и эмуль висит с черным экраном. Плясал с бубном вокруг конфигов эмулятора в итоге один раз я увидел на экране эмуля свое приложение, но второй раз чудо не повторилось с теми же настройками. Я пытался читать логи и вроде сделал какие-то выводы даже. Я грешу на Win7 и проц AMD - отсутствие HyperV, что то такое. Честно, не отвечу за нюансы, но уверен, что дьявол кроется именно вот в этих деталях.
916015916961
#305 #915948
>>915850

У меня базовый поток это медленный канал связи с удаленным устройством, поэтому надо минимизировать трафик по этому каналу. Типовой сценарий это сначала прочитать небольшой заголовок вначале потока и потом уже на основе этой инфы принять решение нужно ли читать его до конца. Если я сразу задам большой буфер то на первом запросе пары байт buffered stream выжрет весь буфер который может мне не понадобиться. BufferedStream сцукко запечатанный, его даже не расширить. Меня бы даже устроило если бы он внутри себя весь большой буфер выделял, главное что бы можно было контролировать у нескольких первых запросов что бы он буферизовал небольшое число байт.
915965
#306 #915965
>>915948
не, погоди, если ты отправляешь пакет размером с буфер, то ты делаешь все не так
если БЦЛ-либа отправляет за тебя такую фуру говна - это очень странно
915973
#307 #915973
>>915965

Почему странно, это же стандартная вещь, ровно так буферизованные потоки и работают. Ты ничего не знаешь что есть буферизация, просто пиешь в абстрактный поток по паре байт (например сериализуя разные числа). Поток буфер как накопит пачку, так целиком ее и отправит прозрачно для тебя. Тоже самое при чтении, только при запросе читается весь буфер прозапас.
#308 #916015
>>915879
Да да. Еще слышал ксамарин через жопу работает на 64 семерке.
Ну точнее анндройд СДК манаджер.
916961
#309 #916811
Посоветуйте что почитать по асинхронному программированию плз.
916957
#310 #916957
916991
#311 #916961
>>916015
>>915879
>>915835
хуй знает что у вас за проблемы.
Вы какой эмуль юзаете? Стандартный?
Пробовали хотяб genymotion какой?

Пишу на ксамарине без каких-либо проблем.
Задавайте ответы
917292
#312 #916991
>>916957
там рассказывают во что разворачивается await KekAsync() и про работу таскскедулера, чи так, на пальцах?
916993
#313 #916993
>>916991
Chapter 14 The Async Compiler Transform—in Depth
The stub Method
The State Machine Struct
The MoveNext Method
Writing Custom Awaitable Types
Interacting with the Debugger
чо ты такой ленивый. По ссылке же оглавление
917000
#314 #917000
>>916993
я с телефона, там ток цена и похожие товары
917003
#315 #917003
>>917000
рекомендую прочитать ее для начала. А дальше - если маловато будет искать ещё.
#316 #917292
>>916961

> Вы какой эмуль юзаете? Стандартный?


Дефолтный замариновский. Genymotion не пробовал, он платен вроде.
Под какими проц\ОС ты запускаешься?
917404
#317 #917404
>>917292
genymotion платен для комерческого использования. так для себя - нахаляву.
Core i5/win10
917472
33 Кб, 831x553
#318 #917472
>>917404

> Core i5/win10


Ну еп, мы ж определились что проблема в AMD\Win7x64. Олсо, Genymotion ебет мне мозги аналогичным образом. Пикрелейтед.
917494
#319 #917494
>>917472
Hyper-V в компонентах системы выруби и переключи тип ОС в VirtualBox на x64.
#320 #917882
>>905308

>ламерский вопрос, но как вернуть диалоговое окно об ошибке сборки? Один хрен в нем на галку нажал и все. Без него жесть как не удобно. Пользуюсь Visual Studio 2015 русской версией.


>


Тебе же в аутпуте пишутся ошибки, что еще нужно?
#321 #918174
Что почитать по экспорту из SQL в .xls-файл через Interop.Excel?
918205918471
#322 #918202
Я уже заебался бороться с ошибками установки компонентов IIS. Можно как-то обособленно его запустить кроме как в VM?
#323 #918205
>>918174
Есть более простой вариант - получать данные в модель или в DataTable, если так хочется и потом записывать в XML-файл через XmlSerializer. XML замечательно открывается в Excel в виде красивой таблички.
#324 #918224
Привет шарпач!
Обмазался дэйта-байндингом во все поля, вроде все понятно, свои CLR объекты, INotifyPropertyChanged для two-way, DataContext, DataTemplates - все красиво и заебись.

Но в моем объекте например есть поле статуса, которое не перманентное а определяется поллингом хоста и сервиса.
Во-первых, логично было б этот геттер сделать асинхронным, чтоб не тормозился основной тред приложения, во-вторых такая херня должна по логике периодически обновляться, но вот не понятно как это все по-феншую в рамках архитектуры WPF делать
Ткните что погуглить, т.к. даже не понятно как такие вот изъебнутые свойства правилно называются
918263918266
#325 #918263
918300
#326 #918266
>>918224

>2017


>десктоп

918286918292918300
#327 #918286
>>918266
Ну и че ты тут спизданул? Вся серьезная хуйня, за которую платят деньги, пишется именно под десктоп.
#328 #918292
>>918266
да даже если не десктоп.
тот же ксамарин. Он работает по тому же принципу
#329 #918300
>>918263
спасибо, братюнь, вроде то что надо, но я тут между делом еще качнул Async c#, которая в треде пролетела

>>918266
ихули? блеать это уже терто-перетерто, ебучее поколение вбыдлятника и инстаграма считает что декстоп давно сдох, при этом на тех же хотя бы двачах, я это гарантирую, больше половины НЕ сидит с мобил, например
может такой кукаретик и веб-обезьяна как ты умеет на корню переносить всю архитектуру в облако, даже если эта архитектура подразумевает исключительное использование десктопа в силу своих особенностей?
что-то я сомневаюсь
918388
#330 #918319
>>909706
MVVM это не просто удобно, это очень удобно и способствует построению легко расширяемого и модифицируемого приложения. У тебя на xaml темплейте будет только базовый десигн, а все изменения можешь делать в модели через вью модель. Вью модель это всего лишь класс обертка, которая имеет свойства типа моделей и в сеттерах свойств ты уведомляешь всех, кто забинжен на этом свойстве (ищи how to implement inotifypropertychanged interfaace stackowerflow например) а на темплейте ты просто пишешь, например, width={Binding MyViewModelPropertyName.SomeLenthPrperty} а в конструкторе класса окна свойству DataContext присваиваешь экземпляр класса вьюмодели)
#331 #918388
>>918300

>качнул Async c#


на расиянском нашел? чет халява закончилась, по всей видимости
#332 #918471
>>918174
Не надо interop, есть open xml
#333 #919300
про синхронизирующий контекст рихтер авторитетно пишет, чи так?
919305
#334 #919305
>>919300
ну да, вроде правильный дядька.
А что?
919313
#335 #919313
>>919305
да просто до этой главы я все никак не добирался. и вот спрашиваю, является ли это исчерпывающим источником информации, или не?
919314
#336 #919314
>>919313
прочитав рихтера и поняв его считай что ты знаешь C# на уровне мидла
919317
#337 #919317
>>919314
я надеялся, что итак знаю C# на уровне мидла. контексты - это, вроде как, считается темой достаточно сложной ну, не тривиальной, не?
#338 #919461
Пишу месенджер в windows forms. Нужно получить доступ к сообщениям facebook. Никто не знает как это сделать.(На сайте не нашёл)
919498919502
#339 #919498
>>919461
Очевидное Facebook api.
#340 #919501
Шарпач, чем отличается шорт вик референс от лонг? На стековерфлове херню пишут противоречивую.
919525919649
#341 #919502
>>919461
Письку пасаси, лох.
#342 #919520
Вцф мёртв? Обоснуйте, пасанва
919525919649919994
#343 #919525
>>919520
нет

>>919501
это слабая/сильная ссылки?
919526919528
#344 #919526
>>919525

>это слабая/сильная ссылки?


да
#345 #919528
>>919525

>это слабая/сильная ссылки?


Точнее нет. Это слабая ссылка, короткая или длинная. Я не могу нагуглить разницу между ними.
919533
#346 #919533
>>919528
механизм WeakReference может отслеживать таргет, который был пересоздан. если я правильно понял, это когда IsAlive стало false, а потом Target внезапно перестал быть null потому, что приложение пересоздало объект. так вот, это лонг вик референс. если такого отслеживания нет, ссылка есть шорт

если я все верно понимаю, вообще
919649
#347 #919558
Че почитать по рендерингу в WPF? Открыл соус парочки классов, но нихуя не понял.
919589
#348 #919589
>>919558
хассль кукбук.
919964
#349 #919643
Господа, уделите времени нюфане.
Есть WPF и MVVM Light, привязал ComboBox к публичному свойству. Требуется обновлять публичное свойство в момент раскрытия комбобокса. Понял что нужно использовать RelayCommand и чот застопорился в реализации. Ткните пальцем где подсмотреть пример, толковых книжек конкретно по мввм+впф не нашел.
919682
#350 #919649
сап, йобы. я на перепутье. хз как развиваться в далi. варианты такие:
- JS с шлюхами, без блек джека
- сертификация мимимикрософт
- episerver/sitecore
- ASP.net core и web-api

че как думаешь, было бы лучше изучить чтобы получать БОЛЬШЕ $3k масла на хлеб?

>>919520
web api "убил" wcf. asp.net core "убивает" web api.

>>919501
>>919533

>если я все верно понимаю, вообще



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

В двух словах: убиваете обьект, ссылка на него null, но вот ~MyClass(){} еще не отработал, по этому обьект "жив". Доступ к этому зомби можно получить через .Target.

Развлекайтесь. хз правда зачем эта инфа нужна в голове пилителя сайтов, как я, но вот.
#351 #919677
>>919649
Реальный план развития:
- записаться в спортзал
- следить за модой
- узнать в каких злачных местах обитают любители дам с сюрпризом.
#352 #919681
>>919649
вкатиться в плюсы и устроиться в валв

вцф и веб.апи решают разные задачи. из общего у них - клиент-серверная архитектура
919823
27 Кб, 607x487
40 Кб, 1169x369
#353 #919682
>>919643
Помохите, МВВМаны.
Сделал как написано в этих ваших интернетах, ошибки компиляции нету но событие открытие комбобокса так и не обрабатывается. В чем может быть ошибка?
919920921068
#354 #919705
>>919649

> web api "убил" wcf.


ох лол. За что тебе платить-то 3к?
919816
#355 #919816
>>919705
это была цитата
919850
#356 #919823
>>919681

>вцф и веб.апи решают разные задачи


это была цитата
#357 #919850
>>919816
тогда ставь зеленую скобку
#358 #919893
Посоны, как биндить List<string> к Listbox через MVVM. Чтобы данные в листбоксе обновлялись при изменении List.

Например у меня в списке 3 элемента, они вывелись в Listbox, добавляю 4 элемент, он добавляется в listbox. Да еще забыл, чтобы привязка была обратная, например элемент №4 это 0 элемент в Listbox(вверху чтобы был).

Должно получиться что-то вроде как окно чата. Можно даже не через Listbox, а через что-то другое.

Как через Mvvm сделать такое окно сообщений, вот у меня есть List<string> или Dictionary<DateTime, string>, как его выводить в это окно, чтобы более позднее сообщение было вверху, при добавлении элемента в список или словарь, он добавлялся по индексу 0 в Listbox.

Можно даже не через список или словарь, а просто через переменную string. Чтобы при изменении этой переменной на другую, она вставлялась в Listbox в 0 индекс(сверху).
919905919916
#359 #919905
>>919893

>Посоны, как биндить List<string> к Listbox через MVVM. Чтобы данные в листбоксе обновлялись при изменении List.


Реализуй во вью модели INootifyPropertyChanged

А для вывода новых сообщений сверху на ум приходит только метод Reverse() в LINQ
919916
#360 #919916
>>919893
Забыл сказать. Используй Обзерабл-коллекции.
>>919905
919920
#361 #919920
>>919916
Бро, подскажи почему не фурычат команды?
>>919682
919924919932
#362 #919924
>>919920
я не он, но разве биндинг работает с полями? ну и еще, бы брейкпоинты ставил? релей комманд и сеттер КарентПорт срабатывают? если да, то срабатывает ли что-нибудь в RaisePropChanged?
919927919932
#363 #919927
>>919924
А как поставить брейкпоинт на вызов события из кзамл?
919931919932
#364 #919931
>>919927
шошо?
брейкпоинт в сеттер проперти и в тело анонимной функции. я не знаю, является ли RaiseProp доступным членом, но, если можно, то и туда
919933
#365 #919932
>>919920

>>919924 дело говорит. Ставь брейкпойнты.

>>919927
Начни дебаг с конструктора.
#366 #919933
>>919931
А, понял мысль. Надо попробовать.
116 Кб, 1024x749
#367 #919936
https://youtu.be/tVl2fkUY5PI

Какие же джавабляди мерзкие. Сразу видно - не бомбит от СЛР.
919942
#368 #919942
>>919936
лол. прикольно смотреть этот видос сейчас когда .нет умеет вот в это всё что в видео.
919949
265 Кб, Webm
#369 #919949
>>919942
А как прикольно будет смотреться когда CLR заменит мерзкую JVM на интерпрайзах, а на ведре полностью заменится Go.
#370 #919964
>>919589
Можно на ангельском?
919996
#371 #919994
>>919520
У нас на проекте вообще .NET Remoting используется, ибо десктоп
919997
#372 #919996
>>919964
Можно тваю мамашку за ляжку.
920002
#373 #919997
>>919994
Гавно, как и ты.
919999
#374 #919999
>>919997
Кто сейчас не говно.
920004
28 Кб, 500x465
#375 #920002
>>919996
Вы борду попутали, сударь
920005
#376 #920004
>>919999
Все гавно. И все гавно. Один тупорылый макакинг на гавнофрейморках, разъебет третья мировая всех пидорасов и их гавнище.
920006
#377 #920005
>>920002
Хуй соси, сопляк.
(Автор этого поста был предупрежден.)
920012
#378 #920006
>>920004
С твоего поста говно стекает.
920017
#379 #920012
>>920005
Ты чего такой злой, маня?
920016920038
#380 #920016
>>920012
Познал бытие.
#381 #920017
>>920006
Тебе в картавый ратешник.
#382 #920038
>>920012
Ебал тваю мамашку - непонравилось, бббббгееееее.
(Автор этого поста был предупрежден.)
#383 #920161
>>919649
корочЕ, пошел на курсы ПМов... чисто чтобы поднять свой уровень работы. прихожу значит, сожусь. контингент: HR 2шт, 1 CEO, 5 менеджеров не ИТ, 2 ПМа, 3 тестера, 2 пограмиста включая меня и еще сброд хз, других неИТ профессионалов работы в офисах. Каждый всает, говорит что его зовут Вася/Маша и какого хуя они здесь забыли.

Встает одна, пилит какой-то тупой анегдод для ПМов, типа ПМы такие распиздатые и заявляет: я поняла, на чьей стороне сила, кто тут главный, по этому я здесь.

ЕБАТЬ У МЕНЯ ПРИГОРЕЛОС СУКА ПИЗДЕЦ.
920204
#384 #920197
Спасибо парни, реально забыл что в мввм команды должны быть событиями.
920204
#385 #920204
>>920197
што?

>>920161
а я бы посмеялся

> пм


> главный

920206
#386 #920206
>>920204
Извиняюсь, с утра упорот.
Свойствами естественно.
#387 #920296
Посоны, вот короче написал херню.

Добавляются элементы в Listbox и т.д. Но добавляются снизу, как сделать, чтобы наоборот, добавлялись сверху?

http://pastebin.com/Y4bTpvLt
920304
#388 #920304
>>920296

>А в какое место в колекцию ты добавляешь? вставляй в нулевой индекс.

920307
#389 #920307
>>920304
Точно, туплю.
#390 #921068
>>919682

>public RelayCommand UpdatePortsName { get; }

37 Кб, 255x525
#391 #921183
Анон,
Я учусь и в С# я нуб. Техобразование у меня есть, плюс опыт инженера-конструктора.
В поисках опенсорс-проекта, в котором можно поковыряться и поучиться, наткнулся на стаковерфлоу на ссылки на проекты. Которые рекомендуют нубам.
Вот дерево одного из них.
У меня подгорает, просто пиздец.
Минимальная организация дерева - отсутсвует, все ебашится на одном уровне. Про фолдеры этот долбоеб не слышал.
Но! Самый сука пиздец! frm - это формочки, этот мудак заебашил всю логику в формочки! В проекте, где постоянное чтение/запись в DBSQL, на мой нубский взгляд просто обязан быть связующий модуль или хуй знает как он называется между выводом информации и ее обработкой.
Разве не должно быть разделения между чтением, записью, обработкой и выводом инфы? Разве это не должно быть разнесено по независимым модулям?
Это пиздец, анон, что за говно у этого дебила в голове? А самое главное - какого хуя блядь это говно советуют на стаке?
Я почти десять лет имею дело с дебилами, которые в SolidWorks не могут нормально продумать разделение сборок и агрегатов, у которых трех-тонный насос и один хуеболтик - это детали одного уровня. Которые разносят сборки без всякой логики, которые собирать - лютый, леденящий душу кошмар.
Неужели они добрались до программирования?
921187921306
#392 #921187
>>921183

>стаковерфлоу


еще бы советам швабропидоров следовал бы
921188
14 Кб, 255x525
#393 #921188
>>921187

>швабропидоров


Вообще не ебу кто это.
Значит это просто ресурс уебанский мне попался?
921194
#394 #921194
>>921188

>швабропидоров


хабрахабр, пора уже знать рассадники хипстарей
921306
#395 #921306
>>921194

>хабрахабр


плюсую.
>>921183
последний тренд - это IoCи повсеместные. так что можешь глянуть сюда: https://github.com/autofac/Examples

это контейнер autofac... хотя я и привык использовать StructureMap, но похуй - они все однохуйственны в примерах.

ну а вообще, вот те помойка из открытого: https://github.com/thangchung/awesome-dotnet-core

количество всякого там зашкаливает как по мне
921315
#396 #921315
>>921306
В MVVM Light столкнулся с IoC контейнером, который содержит в себе все представления и чот запутался. Где можно почитать толкового на русском языке по этой теме?
921337
#397 #921337
>>921315
http://blog.byndyu.ru/2009/12/blog-post.html?m=1
Вообще рекомендую статьи этого парня. Он классный
#398 #921754
Мне надо кое-что сделать с потоком (Stream) после того как по нему в другой части программы прошлись BinaryWriter (или Reader). Эти ридеры/райтеры старых версий закрывают главный поток если их диспозить, на SO кто-то написал якобы что бы основной поток не прибили можно у ридеров/райтеров не вызывать диспоз, а когда надо самому закрыть стрим и что это нормальная практика. В плане удержания ресурсов это корректно, но ведь в памяти до конца работы программы зависнут эти два объекта, так как ридер/райтер содержит ссылку на стрим и сборщик мусора к ним не притронется?
921763921926
#399 #921763
>>921754
после того, как станет ненужным ридер/райтер, основной стрим тоже сдохнет
#400 #921926
>>921754
Есть перегрузка конструктора где ты можешь указать, закрывать стрим или нет, когда гц собирает ридер/райтер
922010
#401 #921956
Как оперируя классами HttpWebRequest, HttpWebResponse и NetworkCredential пройти аутентификацию на сайте и на основании каких то данных понять, прошел ли я аутентификацию или нет.
На данный момент всё, до чего я могу додуматься - по гайдам в HttpWebRequest перед .GetResponse() свойству Credentials задать new Credentials() с логином и паролем. НО! Что дальше то? Вот беру я респонс, получаю код страницы, а дальше как мне понять, прошел ли я проверку или нет?

И еще вопрос: как в HttpWebRequest работает авторизация на основе свойства Credentials? Насколько я знаю web не в контексте сисярпа, а в общем, типа основные веб протоколы, как работает дата и бизнес сервера и т.д., авторизация по сути - отправка post-запросом данных для авторизации на какой нибудь auth.php на домене, который потом в заголовке тебе отправит куки и редиректит тебя на страницу профиля, например, или к чему ты там пароль/логин вводил. И тогда у меня возникает вопрос: как HttpWebRequest знает точный путь к этому auth.php, как знает какие именно свойства в POST нужно определять? Или HttpWebRequest запрашивает у сайта типа "чувак, скажи мне кому тут нужно отлизать, чтобы авторизоваться?", а сервер ему отвечает типа "auth.php вот ему на ушко шепни пароль/логин", так?
921959922081
#402 #921959
>>921956
Там будет код ответа, 200 или 400.
921962922054
#403 #921961
спиздел, 401, но суть ты понел
922054
#404 #921962
>>921959
А если в бэк энде сайта сидел дурак и на auth failed лепит какой нибудь 403/404?
Хотя, и на 200/400 уже можно понять, авторизовался или нет. Спасибо
#405 #922010
>>921926

Это в новых версиях фреймворка, вопрос касается только старых где такого конструктора нет.
#406 #922054
>>921959
>>921961
А вот чёт нихуя, при неправильной паре логин/пароль всё равно 200 приходит.
Еще вопрос, щас сижу читаю форумы по HttpWebRequest/Response и вижу, что чуваки везде прописывают данные в заголовок своего вопроса: описывают там юзер агент, предпочитаемый язык и прочее прочее. Это вообще обязательно описывать для корректной работы с этими классами?
922081
#407 #922081
>>921956
С помощью средств разработчика в браузере смотришь какие запросы куда улетают во время аутентификации на сайте. Смотришь какие ответы приходят на валидный и не валидный запросы, повторяешь все это у себя в приложении.
>>922054
Если сайт норм работает без установки доп хидеров, тогда хуй на них
#408 #922767
Раскидайте за автотесты на СИ шарпе.
80 Кб, 1366x535
#409 #922811
шарпач, выручай. раскурился MVVM, по книге йосифовича WPF 4.5 cookbook. в моем случае есть одна сраная модель, и можно было бы конечно не выебываца..
у модели есть две вьюмодели одна тупо унаследована от ViewModelBase<Model>
а вот для списка от ViewModelBase<IEnumerable<Model>> и я уже охуел искать как в этот ебучий список добавить айтем. в книге примерах обычно модели имели какое-нибудь свойство типа ObservableCollection<Model> _model =new ObservableCollection<Model>();
для всякой связной хуераги (но у меня то модель одна!) и с этим вроде все понятно, а вот для модели верхнего уровня в иерархии автор унаследовался вот так уебански. и чо теперь переделывать всю VM, со всеми байндингами? и от кого тогда наследоваться?

на пикрилейтет оно все неиллюзорно сосет хуев, но видимо я мало затянулся или меня этот MVVM ваще не прет.
922813922924923138
#410 #922813
>>922811
Для каких камер пишешь софт? Хочу написать что-то подобное. Судя по таймзоне возможно даже сидим в одной компании диванон
Скинь книжку кстати, она на рунглише?
922815
#411 #922815
>>922813
для axis, но там это особо не важно, т.к. из всего функционала используется фтп и пара REST запросов. я все книги с рутрекера обычно беру, на русском не уверен что у меня вообще что-то есть, да оно и не надо.
таймзона? хз, я в ДС2, просто живу ночью сейчас
#412 #922924
>>922811
пиздец, надо было просто поспать пару часов. помогла вот такая хуйня в RelayCommand:

((ObservableCollection<Camera>)Model).Add(camera);
OnPropertyChanged("Cameras");

хотя и заработало, походу это какой-то дикий костыль
922927922936
#413 #922927
>>922924
Можешь выложить посмотреть свой код? думаю будет полезно посмотреть на чужие костыли. Сам тоже пишу пинговалку для удалённых устройств (тестовое).
923133
#414 #922936
>>922924
обзервабл коллекция сама должна рейзить событие. шота ты делаешь не так
923133
38 Кб, 720x400
#415 #922957
Почему у некоторых людей имена ссылочных переменных начинаются с _.
#416 #922959
>>922957
приватные поля
#417 #922972
Двашч, как при использовании классов Socket/TcpListener и TcpClient выбирать порт для подключиения?
Допустим, есть локальная сеть, и я хочу передать массив объектов с одного узла на другой. Я знаю IP узла назначения, а как мне выбирать порт отправки? Я понимаю, он должен быть таким же, какой и открывается на втором сокете/TcpListener'e, но вот нужно ли что то учитывать при выборе номера порта? Единственное ограничение, которое я знаю - количество портов ограничено 216-1. Можно ли использовать зарезервированные порты типа 80,443, 23,24 и тд?

И ещё, у TcpListener и Socket в методе начала приёма сообщений также указывается IPAddress и port. Я так понимаю, port - это просто порт, который будет открыт для приема сообщений. А IPAddress - типа ip address одной из существующих NIC на компуктере, который запускает саму программу? Просто я видел на msdn, что там вместо конкретного IP пишут IPAddress.Any. Или там указывается диапазон адресов/сетей, от которых можно принимать сообщения?
923133
#418 #923010
>>922957
Эти люди пишут в блокноте/vim и у них нет подсказок в IDE
923013
#419 #923013
>>923010
Пиздишь. Зачем?
923094
#420 #923018
>>922957
сорт оф венгерской нотации, только упрощенной
#421 #923094
>>923013
В смысле? В той же MS нет жестких требований на _.
А писать это код надо чистый без устаревших нотаций.
#422 #923133
>>922927
да там говнокод, стыдно такое выкладывать :)
полл хостов сделан асинк делегатом на DispatcherTimer, который linq-ом выбирает активные модели, в модели же метод pollState тоже асинхронный делает два await Task.Run с лямбдой в параметре, в которой уже реальный опрос доступности хоста (PingReply) и фтп ((FtpWebRequest)WebRequest) происходит. потом в свойство записывается результат и он уже в OnPropertyChanged в UI-тред уползает. говорю ж - говно.

>>922936
так вот в том и прикол что после просто добавления, почему-то болт.

>>922972
странный ты. на каком порту на сервере слушаешь, на тот клиентом и коннектишься, соответственно вторую пару для каждой точки стек за тебя сам выберет.
учитывать нужно только то что на порту уже может кто-то сидеть, чтоб прав хватило, ну и при здоровом рассудке врядли хорошая идея на общепринятых портах какоето левое говно стартовать (хотя варианты возможны, но это либо тебе чтото хитро заныкать надо, либо чтото сильно специфичное, но одном порту несколько разных сервисов держать это ты заебешься пыль глотать - правильно протоколы разобрать, так что не думай сейчас об этом).
и вообще порты не хардкодят, а в конфиге указывают.
IPAddress программу точно _НЕ_ запускает, это программа может начать что-то слушать. или куда-то подключиться.
Any это как бы 0.0.0.0 - думай об адресах интерфейсов, а не сетевых карт, т.к. кроме них есть лупбек, могут быть вланы, бриджи, туннели и еще гора всякой виртуальной хуйни, за которой ничего физического не стоит (ну почти)

вообще кури модель OSI для общего развития и конкретно стек TCP/IP, а то чото плаваешь
923621
35 Кб, 424x639
#423 #923134
sup 2ch, mur-mur, mur-mur
Поясните мне по-братски.
Есть 2 стула ситуации:
1. Класс с полем типа структура
2. Структура с полем типом класс

Как это говно хранится в памяти?
Если вторая херня более менее ясна - В структуре хранится линка на объект в куче а сама структура в стеке.
То с первой мне не совсем ясно. Куда засовывается структура?
хранится ли в классе ссылка на структуру в стеке? Либо там боксинг и хранится ссылка?
Короче, помоги анон.
923301924058
#424 #923138
>>922811
лол.
Cameras.ToList() - создаёт новый список. и его ты потом обновляешь.
Ты хоть сам понял что сделал?
923156
#425 #923156
>>923138
да. это я увидел в дебаге. поэтому потом и переделал, но все равно как-то криво
923160
#426 #923160
>>923156
странная хуйня. зачем ваще нужен ViewModelBase<IEnumerable<Model>>
Почему нельзя просто сделать свойство с любой коллекцией в обычной ViewModelBase.
Короче, если не хочешь переделывать - меняй интерфейс хотя бы на ICollection
#427 #923301
>>923134
в куче хранится твоя структура, не упаковываясь. просто как составляющая большой какашки в памяти
#428 #923621
>>923133
Выкладывай давай, задачи стоят в целом смежные, мб даже по пулреквесты покидаю.
#429 #924058
>>923134

>Instance variables for a value type are stored in the same context as the variable that declares the value type. The memory slot for the instance effectively contains the slots for each field within the instance. That means that a struct variable declared within a method will always be on the stack, whereas a struct variable which is an instance field of a class will be on the heap.

924785
#430 #924130
>>922957
Быстро отличать приватные поля от локальных переменных/параметров (из альтернатив - всегда называть по разному или дрочиться с this:
Сравни:
public ShitGenerator(int a)
{
_a = a;
}
и
public ShitGenerator(int a)
{
this.a = a;
}
или
public ShitGenerator(int a)
{
aField = a;
}
В VB.Net без этого не обойтись при именовании свойств и полей - ибо там их разным регистром не разделишь
924196924345
#431 #924196
>>924130

> this._a = a

924223
#432 #924210
Что нужно уметь, чтобы можно было откликаться на вакансии с требованиями .NET? Платформа большая, что нужно знать железно и что задротить в первую очередь?
#433 #924223
>>924196

>this._a = a


Два код-стайла в одном, ня!
this.m_s_i4Afield = a
3678 Кб, Webm
#434 #924345
>>924130
Круто. Спасибо.
#435 #924639
Двоч обьясни за devexpress, годнота или ебаное говно?
924643924783924795
#436 #924643
>>924639
ест тебе постоянно надо лепить кастомизации на твой ui, то, наверн, неплохо
#437 #924783
>>924639
если тебе нужно хоть чутка закостомайзить контрол - будешь лупиться в сраку как последняя шлюха.
924790
#438 #924785
>>924058
бусь тебя, анон
#439 #924790
>>924783
А зря так говоришь. Первое время будешь рвать жопу поперек шва, зато потом вообще влет любой функционал контролу будешь придавать ну если и не влёт - то хотя бы будешь знать, что, как и зачем тебе нужно сделать.
А у devexpress бесплатный функционал таксебе и хуй проссышь как это у них всё работает.
924793
#440 #924793
>>924790

>Первое время будешь рвать жопу поперек шва, зато потом вообще влет любой функционал контролу будешь придавать


Cначала будет больно садится на хуй, а потом привыкнешь?

Бля, ну это ж хрень. Надо было запилить в их контрол что-то чего не было. Зашёл на форум - там все желчью изводятся, а разрабы - сорян не сделаем, зачем вам это нужно, нам виднее и ваще пошли нахуй.
Может сейчас оно и по-другому, но года 3 назад точно так было.
924797
#441 #924795
>>924639
По функционалу - местами годнота, у них, например, самый лучший Pivot Control для WPF
По устройству/организации/поведению - Содом и Гоморра, Адъ и Барухи:
На любой чих нужно 20 библиотек в референсы засадить.
Кастомизация внешнего вида - игра в рулетку и возня с дебаггером/Snoop/dotPeek/DevExpress Theme Studio, в попытках определить сколько ж сотен разных ресурсов надо добавить в ResourceDictionary чтобы изменить цветовую схему ебаного компонента.
Ну и ведет себя как код-гной, код-пидор, надо постоянно отключать его попытки "улучшить" поведение приложения. Например любит при первом использовании переписывать все дефолтные стили контролов в приложении - в итоге местами верстка едет, а контролы других вендоров вообще с ума сходят.
В студию опять же срут своими шаблонами/тулзами/менюхами..
А функционал норм...
#442 #924797
>>924793

>Cначала будет больно садится на хуй, а потом привыкнешь?


Естессна, это же десктоп+WPF
924799
#443 #924799
>>924797
фраза не про это.
я про

>Первое время будешь рвать жопу поперек шва, зато потом вообще влет любой функционал контролу будешь придавать



А насчет десктопа - бугурта ваще не испытывал. Вполне норм тема
924807
#444 #924807
>>924799
Я думал, в фразе спрятан подъеб, мол "WPF говно" впрочем, спустя пол года, я убедился, что это на 80% правда..
924812
#445 #924812
>>924807
ну так-то devexpress есть не только для wpf.
Ну а сам wpf вроде не так уж и плох.
Хотя я сам переехал с него на xamarin.
#446 #925021
Бля, посоны, ситуация: на копроративных машинах есть Win7 c PowerShell v< 3. Обновить - хуй получится из-за ебанутой политики настроек обновлений. Задача: заполнять веб форму скриптом PowerShell через IE/другой браузер, но без использования ахуенно удобного invoke-webrequest Который, сукаблять, появляется в версиях 3+. Может кто из почтенных олдфагов имеет опыт в древних версиях?
925029
#447 #925029
925033
#448 #925033
>>925029
Тебе говорили, что ты охуенен?
#449 #925066
У вас проекты на c# на гитхабе? Что вы кодите там?
У меня в репозитории полтора проекта на шарпе, хоть и три года пишу на нем. Захочу работу сменить, попросят код показать, а у меня сплошная крестопоебень.
925221
#450 #925221
>>925066
говнопет проджекты
говорю, что мой код в основном лежит в приватных репозиториях и я вам его просто так не покажу
вообще, таких вопроса было всего два за все время собеседований. люди сами прекрасно понимают, что то, что ты можешь показать в открытую, врядли скажет что-то о тебе хорошее и не будет критерием оценки кандидата. ну разве что попробуют наводящие вопросы позадавать, типа, почему тут так, а здесь не так
925229
#451 #925229
>>925221
А какой функционал у говнопет прожектов? А то может у вас коленные поделия лучше чем я еборю.
925235
#452 #925235
>>925229
может быть
бОльшая часть того, что я пушил - это третьесортный кал, не нужный даже мне самому. какие-то конченые имплементации алгоритмов, конечных автоматов и т.д. 2ch-парсер, куда же без него, блять. ну и пара проектов по туториалам других языков программирования.
из более-менее сурьознога присутствует только один проект, издали по функционалу напоминающий инстаграмм, наверное. не надо думать, что все так круто, я просто обкатываю донтнет коре и графы
925240
#453 #925240
>>925235
точкасетьядро можно использовать как веб-сервис? Накидай годные статьи, а то информации по нему маловато. Хочу написать агрегирующий сервис, что-то типа народмон, только с простейшей веб-мордой тк фронтендом я вообще не знаком.
925510
#454 #925437
Всем привет, шарпаны.
Пишет джавист с 2мя годами опыта работы.
У меня в компании проектов на джаве практически не осталось, задумываюсь над перекатом на шарпы. Что можете посоветовать почитать про C# анону с опытом программирования серверов.
925493925494
#455 #925493
>>925437
ты что в джаве дно? смени работу.
#456 #925494
>>925437
Прост нагугли сравнение фич java/c# и читай, что нового, типа делегатов и событий, linq какой-нибудь. Потом также просто читаешь документашку по EF, ASP и другой йобе, которую ты/вы собрались использовать/используете
#457 #925510
>>925240
ты про WebApi? если да, то там все практически так же, как и в ASP 5 + OWIN. с учетом того, что решения MVC и Api - это теперь одно целое.
из документации ничего не знаю кроме офсайта и гуглирования по поводу отдельных случаев.

я действую по принципу "без задней мысли берешь и пишешь". по крайней мере в отношении этого вот всего. ибо от релиза к релизу меняется все, что-то описано для первых RC, что-то для alpha-v-0.000091.68954-huipizda
#458 #925541
Посоны, вопрос от дебила - почему в мейне и foreach нельзя объявлять приватные переменные?
925601925626
#459 #925601
>>925541
предположу, что модификаторы доступа private/protected/public на уровне компиляции распознаются только в описании структур и классов, и при встрече в другом контексте возникнет ошибка компилияции. ну а тебе просто IDE сообщает, что в этом контексте использование запрещено.
925644
#460 #925626
>>925541
чот я не понял, чито такое приватные переменные в контексте метода/блока?
925644
#461 #925644
>>925626
>>925601
Вроде разобрался, спасибо ну и хуйню я пишу
#462 #925665
- сколько будет стоит сверстать страницу типа такой: _http://hotspotschool.com.ua/got-it/
- ну парад ней, умножить на рейт... $250
- дорого! мне за 40 верстали!
- пиздуй

прикиньте да?
925672
#463 #925672
>>925665
казалось бы, причем тут дотнет. а действительно, причем?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 3 февраля 2017 года.

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

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