Сохранен 63
https://2ch.hk/pr/res/440408.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

ГДЕ C# тред?

 Аноним OP 21/02/15 Суб 16:06:01 #1 №440408 
14245239612260.png
А вот он. С чего начать?

Основы программирования на С# 3.0: ядро языка (2009)
Текстовая версия:
http://intuit.ru/department/pl/tincsharp3/
Видео:
http://intuit.ru/department/pl/incsharp3/

Объектное программирование в классах на С# 3.0 (2009)
Текстовая версия:
http://intuit.ru/department/pl/toopincsharp30/
Видео:
http://intuit.ru/department/pl/oopincsharp30/

Автор: В.А. Биллиг, http://intuit.ru/lector/39.html
Аноним 21/02/15 Суб 16:07:22 #2 №440412 
Сразу в архив:
http://arhivach.org/thread/65567/
В чем коренные отличия C# от Java? Аноним 21/02/15 Суб 16:12:06 #3 №440417 
Больше всего интересует отличие событийно модели.
Аноним 21/02/15 Суб 16:13:21 #4 №440418 
>>440417
Сравнение C# и Java
http://ru.wikipedia.org/wiki/Сравнение_C_Sharp_и_Java

Подскажите пожалуйста есть ли в Java аналог делегатам из C#?
http://forum.vingrad.ru/forum/topic-290333.html
sageАноним 21/02/15 Суб 16:13:34 #5 №440419 
>>440408
как там в 2009?
Аноним 21/02/15 Суб 16:18:16 #6 №440421 
>>440417
Книжки Шилдта по C# и Java курани. Тащемто суть языков одна - управляемый виртуальной машиной код. Но с C# больше йобы поставляется. Также фарс в том, что в Microsoft мало что пишут на C#, чтоб как бы намекает. С кросплатформенностью у C# тоже не очень, хотя есть Mono. Лично я бы выбрал из двух зол Java.
Аноним 21/02/15 Суб 16:18:53 #7 №440422 
>>440419
Фундамент языка с тех пор не изменился, не глупи.
sageАноним 21/02/15 Суб 16:20:22 #8 №440425 
>>440422
))
Аноним 21/02/15 Суб 16:22:42 #9 №440427 
>>440408
>ГДЕ C# тред?
Блять ты шо слепой нахуй? Вон на нулевой написано большими буквами OFFICIAL C# THREAD #1 (>>430764)

МОЧЕРАТОООООООР!

Аноним 21/02/15 Суб 16:24:07 #10 №440428 
>>440421
>мало что пишут на C#
Пачка приложений под WinRT; значительная часть Visual Studio (в частности, интерфейс); новый компилятор самого C# — Roslyn; SQL Server Management Studio; ныне уже почивший Games for Windows Live; и так далее — это мало? Это только то, чем я лично пользовался. Причём количество программ со временем растёт.
>С кросплатформенностью у C# тоже не очень
В этом году выпустят официальный порт под ведро и, вроде бы, iOS, идёт разработка порта под MacOS и Linux.
Добавлю к этому, что сама Java как язык — знатное говно, особенно в сравнении с C#.
Аноним 21/02/15 Суб 16:27:00 #11 №440431 
>>440419
Безоблачно.
Аноним 21/02/15 Суб 16:27:57 #12 №440435 
>>440427
Там буква Си русская и поиск его не находит. Оп того треда тролль.
Аноним 21/02/15 Суб 16:29:12 #13 №440438 
>>440428
>Добавлю к этому, что сама Java как язык — знатное говно, особенно в сравнении с C#.
Сахарок не завезли? Сочувствую тебе, спермокодер.
Аноним 21/02/15 Суб 16:30:03 #14 №440440 
>>440438
Элемент в массиве нашёл уже?
sageАноним 21/02/15 Суб 16:31:37 #15 №440441 
>>440440
почти год как нашли

static int najtiElementVMassive(Object massiv,Object element){
if(massiv instanceof int[]) {
for(int i=0; i<((int[])massiv).length; ++i)
if(((int[])massiv)==(int)element)
return i;
} else if(massiv instanceof byte[]) {
for(int i=0; i<((byte[])massiv).length; ++i)
if(((byte[])massiv)==(byte)element)
return i;
} else if(massiv instanceof boolean[]) {
for(int i=0; i<((boolean[])massiv).length; ++i)
if(((boolean[])massiv)==(boolean)element)
return i;
} else if(massiv instanceof char[]) {
for(int i=0; i<((char[])massiv).length; ++i)
if(((char[])massiv)==(char)element)
return i;
} else if(massiv instanceof float[]) {
for(int i=0; i<((float[])massiv).length; ++i)
if(((float[])massiv)==(float)element)
return i;
} else if(massiv instanceof double[]) {
for(int i=0; i<((double[])massiv).length; ++i)
if(((double[])massiv)==(double)element)
return i;
} else if(massiv instanceof short[]) {
for(int i=0; i<((short[])massiv).length; ++i)
if(((short[])massiv)==(short)element)
return i;
} else if(massiv instanceof long[]) {
for(int i=0; i<((long[])massiv).length; ++i)
if(((long[])massiv)==(long)element)
return i;
} else {
try {
for(int i=0; i<((Object[])massiv).length; ++i)
if(sravnitMassivi(((Object[])massiv),element))
return i;
} catch (Exception e) {
for(int i=0; i<((Object[])massiv).length; ++i)
if((((Object[])massiv)).equals(element))
return i;
}
}

return -1;
}


static boolean sravnitMassivi(Object massiv1,Object massiv2) {
try {
if((((Object[])massiv1)).length!=(((Object[])massiv2)).length) return false;
boolean ravni=true;
for(int i=0; i<(((Object[])massiv1)).length; ++i)
ravni=ravni&&sravnitMassivi((((Object[])massiv1)),(((Object[])massiv2)));
return ravni;
} catch (Exception e) {
if(massiv1 instanceof int[]) {
return Arrays.equals((int[])massiv1,(int[])massiv2);
} else if(massiv1 instanceof byte[]) {
return Arrays.equals((byte[])massiv1,(byte[])massiv2);
} else if(massiv1 instanceof boolean[]) {
return Arrays.equals((boolean[])massiv1,(boolean[])massiv2);
} else if(massiv1 instanceof char[]) {
return Arrays.equals((char[])massiv1,(char[])massiv2);
} else if(massiv1 instanceof float[]) {
return Arrays.equals((float[])massiv1,(float[])massiv2);
} else if(massiv1 instanceof double[]) {
return Arrays.equals((double[])massiv1,(double[])massiv2);
} else if(massiv1 instanceof short[]) {
return Arrays.equals((short[])massiv1,(short[])massiv2);
} else if(massiv1 instanceof long[]) {
return Arrays.equals((long[])massiv1,(long[])massiv2);
} else {
return massiv1.equals(massiv2);
}
}
}
Аноним 21/02/15 Суб 16:38:48 #16 №440444 
>>440441
У тебя форматирование и подсветка отклеилась.
Делегаты Аноним 21/02/15 Суб 16:40:14 #17 №440448 
Короче, теперь это официальный C# тред. Сейчас почитаю вики и поясню вам за делегаты. Алсо, реквестирую сюда QT-господ, которые расскажут про сигналы и слоты.
sageАноним 21/02/15 Суб 16:44:45 #18 №440452 
14245262851040.png
Аноним 21/02/15 Суб 16:51:12 #19 №440460 
>>440452
Ну ты и тупица. Впрочем, это же C# и Java кодеров тред.
Аноним 21/02/15 Суб 17:11:06 #20 №440469 
>>440452
странно, что в яве для этой задачки использовали массив, а в других языках - списки. но главное доказать хомякам, что ява плохая, азаза
sageАноним 21/02/15 Суб 17:14:42 #21 №440471 
>>440469
в джява-списках нельзя хранить значения, только какие-то "ссылки"
http://ideone.com/BC2jA0
наверно это новый паттерн
Модель делегирования событий в Java Аноним 21/02/15 Суб 17:38:54 #22 №440481 
>>440417
Как это работает? Есть источники событий, которые могут генерировать события разных типов, и есть блоки прослушивания, которые обрабатывают события (объект события) и затем возвращают управление. Блоки-слушатели создаются путем реализации одного или нескольких интерфейсов прослушивания событий, что позволяет принимать и обрабатывать события. EventObject – суперкласс всех событий. Элементы интерфейса (компоненты) могут генерировать различные события (объекты классов событий). Когда событие происходит, источник события вызывает соответствующий метод, определенный блоком прослушивания, и передает ему объект события в качестве параметра. Блок-слушатель просто ждет поступления события. Получив событие, блок-слушатель обрабатывает его и затем возвращает управление.
Забыл сказать, что блоки прослушивания должны зарегистрироваться в источнике (addListener) или источниках событий для того, чтобы принимать уведомления об определенном типе события. Преимущество способа в том, что логика приложения, обрабатывающего событие, четко отделена от логики интерфейса пользователя, генерирующего эти события. Элемент интерфейса пользователя «делегирует» обработку события отдельной части кода. Второй плюс в том, что уведомления посылаются только блокам прослушивания, которые хотят их принимать. В старом подходе Java 1.0 событие распространялось по ограниченной иерархии компонентов, пока один из них не обработал это событие. Минусы были очевидны: компоненты принимали события, которые они не обрабатывают.
Аноним 21/02/15 Суб 17:39:52 #23 №440482 
>>440471
Ты просто не понимаешь различие между статическими и динамическими типами данных. Не знаешь что такое стек и что такое куча.
sageАноним 21/02/15 Суб 17:46:32 #24 №440485 
>>440408
Сажи. У есть один тред. ОП - даун. Скрыл.
sageАноним 21/02/15 Суб 17:51:50 #25 №440487 
>>440482
С#/java тред же
Аноним 21/02/15 Суб 18:03:01 #26 №440492 
>>440487
Формошлепов тред надо было обзывать. И отдельно тырпрайзный тред. Какой-то хаос в этом вашем ебучем /pr
Аноним 21/02/15 Суб 18:13:01 #27 №440503 
>>440492
Чем формошлепство на JS отличается от формошлепства на JAVA, C#, QT?
Аноним 21/02/15 Суб 18:17:43 #28 №440504 
>>440503
Ничем, везде Html5 и CSS 3.0 и аджакс еее
sageАноним 21/02/15 Суб 18:19:58 #29 №440505 
>>440492
проиграл с этого залётного битордия ROFL хDDD
Аноним 21/02/15 Суб 18:32:41 #30 №440515 
>>440481
А теперь расскажи про делегаты и событийную модель в C#.
Делегаты и делегирование событий это ведь не одно и то же? Я совсем запутался.
Событийная модель C# Аноним 21/02/15 Суб 18:37:41 #31 №440516 
14245330619160.jpg
>>440515
>А теперь расскажи про делегаты и событийную модель в C#.

Делегаты в C#

Что это за йоба и для чего нужны? Делегат в C# является классом. Когда создается делегат, то в итоге получается объект, содержащий ссылку на метод. Метод можно вызывать по этой ссылке. Один и тот же делегат может быть использован для вызова разных методов во время выполнения программы, для чего достаточно изменить метод, на который ссылается делегат. Таким образом, метод, вызываемый делегатом, определяется во время выполнения, а не в процессе компиляции. В этом, собственно, и заключается главное преимущество делегата.

Форма объявления делегата:
delegate возвращаемый_тип имя(список_параметров);

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

Простой пример применения делегата:
http://pastebin.com/MbnEN2z1
Поправьте, если где-то лоханулся, т.к. не проверял код – не выполнял.

Все равно нихуя не понятно! Зачем нужны ебучие делегаты?

Как правило, делегаты применяются в двух случаях:
1. Делегаты поддерживают события. Событие, по существу, представляет собой автоматическое уведомление о том, что произошло некоторое действие. События действуют по следующему принципу: объект, проявляющий интерес к событию, регистрирует обработчик этого события. Когда же событие происходит, вызываются все зарегистрированные обработчики этого события. Обработчики событий обычно представлены делегатами.
2. Делегаты позволяют вызывать методы во время выполнения программы, не зная о них ничего определенного в ходе компиляции. Это очень удобно для создания базовой конструкции, допускающей подключение отдельных программных компонентов.

>Делегаты и делегирование событий это ведь не одно и то же?
Как видишь.

>Я совсем запутался.
Я тоже.
Аноним 21/02/15 Суб 18:45:50 #32 №440520 
>>440504
>Ничем
Ты совсем упоротый, блжад? Десктопное приложение не клиент-серверное. Хотя бы поэтому есть различия.

>AJAX
Сейчас популярны data binding (two way and one way) фреймворки. А еще есть Dirty checking (пример: Angular) и Change listeners (реализован в Knockout и Backbone).

Короче, не слушайте этого диванного.
Аноним 21/02/15 Суб 18:49:49 #33 №440522 
>>440516
>>440481
Расскажи теперь про механизм сигналов и слотов в QT.
Аноним 21/02/15 Суб 18:51:00 #34 №440523 
>>440520
Во всех приложениях ajax работает с сетью ващет, а ты иди дальше пить свой смузи
Аноним 21/02/15 Суб 18:51:35 #35 №440524 
14245338951670.jpg
>>440520
И тут я понял, что ни в чем этом я не смыслю.
Аноним 21/02/15 Суб 18:55:08 #36 №440527 
>>440524
да это всё стёб, бро
Аноним 21/02/15 Суб 19:01:34 #37 №440533 
>>440523
>AJAX
Пососи. AJAX работает с браузером. Это 2,5 функции, которые эксплуатируют возможность браузеров выполнять запросы к серверу, к уёб-серверк, без перезагрузки страницы. В фоне.

Какой к черту AJAX в обычных десктопных гуй-приложениях? Какой там тебе клиент сервер? Мы тут про то, как события в гуях реализованы говорим вообще-то.

Но раз уж ты про AJAX запел, то кроме AJAX есть RPC, XML-RPC, SOAP, JSON-RPC, Java Applets, COMET, WebSockets, ебаный FLASH. И REST есть и еще всякого, от чего можно запросто свихнуться. Технологии JAVA и C#, это не игрушки. Это не PHP.
Аноним 21/02/15 Суб 19:03:36 #38 №440535 
>>440527
Это не стёб. Это не игрушки.
Либо ты манкикодер с нищеебской зарплатой, которого могут выкинуть за дверь в любой момент, потому что таких, как ты тясячи. Либо ты профессионал своего дела, который получает достойную плату за качественный результат, выполненный за приемлемое время. Выбирай стул, ньюфаг.
ФОРМОШЛЁПОВ ТРЕД Аноним 21/02/15 Суб 19:08:14 #39 №440545 
>>440522
А вот за QT двачую. Ничего удобнее, чем QT для формошлепства не придумано. Единственный минус, это кресты в основе. Но работая с QT не замечаешь минусов оных. QT разработчики -- счастливые люди на самом деле. Можно конечно и поххоливарить. Призываю для этого GTK+ сишника.
Аноним 21/02/15 Суб 19:09:53 #40 №440546 
>>440533
>то кроме AJAX есть RPC, XML-RPC, SOAP, JSON-RPC, Java Applets, COMET, WebSockets, ебаный FLASH. И REST есть и еще всякого, от чего можно запросто свихнуться.
А вот и энтерпрайзная крыса к нам пожаловала. Ну рассказывай. Как там у вас в офисе? Печеньки вкусные? В настольный теннис часто играете с коллегами? Мест на стоянке всем хватает? Кек.
Аноним 21/02/15 Суб 19:12:10 #41 №440547 
>>440545
Наблюдаю парадокс. Несмотря на то, что QT наиболее удобный инструмент для разработки гуйни, Gnome приложения пользуются большей популярностью. А от KDE вообще многие плюются, ибо он настолько разжирел, что дальше некуда. Как-то так.
Аноним 21/02/15 Суб 19:15:39 #42 №440549 
>>440547
Поддвачну про KDE. На нищебродских машинах тормозит. Поэтому нмогие пользователи плюются на QT based окружение, но для разработчика это рай. Механизм сигналов и словтов, MVC и еще куча плюшек делают разработку простой и приятной.
Аноним 21/02/15 Суб 19:26:58 #43 №440553 
>>440535
я выбираю испытание поединком
Аноним 21/02/15 Суб 19:27:37 #44 №440554 
>>440545
Лох, ничего лучше WPF нет и не будет.
Аноним 21/02/15 Суб 19:30:05 #45 №440556 
>>440554
Говно собаки, проклееное XAML'ом, которое доведет тебя до суицида уже через неделю. Если и писать на этом, то только при условии, что ты омич.
Аноним 21/02/15 Суб 19:35:01 #46 №440561 
>>440522
Читай про паттерн Наблюдатель.
Аноним 21/02/15 Суб 19:35:39 #47 №440562 
>>440561
Я в ООП не очень. Мимо-сишник.
Аноним 21/02/15 Суб 19:36:31 #48 №440564 
>>440562
Тогда пиши на GTK+, раз сишник. Не тупи.
Без ООП-головного мозга QT тебя не вставит.
Аноним 21/02/15 Суб 19:45:46 #49 №440567 
14245371466240.png
>>440522
Зачем нужны? Любая магия затем и нужна, чтобы ты меньше кода писал. Суть сигналов и слотов заключается в том, что гуй-компонент может посылать сигналы, содержащие информацию о событии (например: была нажата кнопка). Другие компоненты могут принимать эти сигналы посредством специальных функций — слотов.
В C# есть имеется похожий подход, только с другой терминологией и синтаксисом. События играют роль сигналов, а делегаты — роль слотов. Вот это читай еще раз >>440516
Алсо, механизм сигналов и слотов не только в QT реализован, но и много где еще. Пиздуй в вики за списком.
Аноним 21/02/15 Суб 19:49:44 #50 №440571 
14245373843780.jpg
Нашел вот QT тред
http://arhivach.org/thread/65590/
https://2ch.hk/pr/res/426640.html
Перекатывайтесь и стройте больше зиккуратов клепайте больше форм.
Аноним 21/02/15 Суб 19:51:40 #51 №440574 
14245375007690.jpg
>>440571
Правда так какие-то одноклеточные долбоебы, как мне показалось, населяют тред.
Аноним 21/02/15 Суб 19:53:18 #52 №440576 
>>440574
Как будто этот тред не состоит из таких же.
Аноним 21/02/15 Суб 19:58:18 #53 №440579 
14245378986760.jpg
>>440576
Согласен с тобой. Погромисты в большинстве своем долбоебы. Самые уникальные долбоебы конечно же те, кто знает дохуя всего и умеет с этим как следует работать, что и делает каждый день не отрывая жопы от кресла. Ибо человек в здравом уме не будет проебывать всю жизнь на подобное говно. Здравй человек никогда не свяжет свою жизнь с кодингом.
Аноним 21/02/15 Суб 19:59:26 #54 №440580 
14245379668080.jpg
>>440579
Двачую.
Аноним 21/02/15 Суб 20:06:54 #55 №440583 
>>440567
QT кончено хорошо и много где применяется. Особенно там, куда тебя никогда не возьмут. А там, куда возьмут QT уже давно не используют. Потому что теперь браузер в роли клиента. Что-то понапиздел я вам тут, но думаю, что неглупые поняли меня.
Аноним 21/02/15 Суб 20:09:50 #56 №440586 
>>440583
QuickTime?
Аноним 21/02/15 Суб 20:11:56 #57 №440587 
>>440567
Я погуглил, почитал про сигналы и слоты, попытался понять как это все работает, но мало что понял. Взбесился из-за этого.
Аноним 21/02/15 Суб 20:12:23 #58 №440588 
14245387430850.jpg
>>440587
Это значит, что погромирование не для тебя.
Аноним 21/02/15 Суб 20:13:50 #59 №440590 
14245388307300.jpg
>>440586
Ловите олигофрена.
Аноним 21/02/15 Суб 20:16:53 #60 №440591 
14245390133100.jpg
>>440481
>>440516
>>440567
Спасибо за информацию, формошлёп-мастер.
Сисястую няшу тебе.
Формошлепство на JavaScript, JAVA, C#, QT Аноним 22/02/15 Вск 11:22:50 #61 №440743 
Чем формошлепство на JavaScript отличается от формошлепства на JAVA, C#, QT?
https://toster.ru/q/191953
sageАноним 22/02/15 Вск 14:08:02 #62 №440791 
https://2ch.hk/pr/res/430764.html

Вот сишарп тред, научись пользоваться поиском по каталогу
Аноним 22/02/15 Вск 16:22:37 #63 №440862 
>>440791
Тот тред неправильный.
comments powered by Disqus

Отзывы и предложения