Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » C#

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

Открыть новую тему     Написать ответ в эту тему

TbIrbIDbIM



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ДА я прекрасно понял, что есть 2 ссылки... =))))
 
 
Меня интересовала суть вопроса

Всего записей: 479 | Зарегистр. 26-10-2003 | Отправлено: 19:44 13-05-2004
TbIrbIDbIM



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос...
 

Код:
 
...
 
double diff = 200.0;
 
if ( music > 100.0 )
   diff -= (music - 100.0)*0.5
 

 
//Интересует "-=", что значит?
 

Всего записей: 479 | Зарегистр. 26-10-2003 | Отправлено: 20:48 29-06-2004
pita

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TbIrbIDbIM
 
Последняя строчка эквивалентна такой
 
diff =  diff - (music - 100.0)*0.5
 
и надо добавить ; т. е. правильно так
 
if ( music > 100.0 )  
   diff -= (music - 100.0)*0.5;

Всего записей: 761 | Зарегистр. 06-11-2003 | Отправлено: 22:09 29-06-2004 | Исправлено: pita, 22:09 29-06-2004
Buldozer_and_Co



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сейчас программлю на Delphi, хочу переехать на C#, кто нибудь слышал об этом http://www.forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=21399#1

Всего записей: 238 | Зарегистр. 10-01-2003 | Отправлено: 10:14 25-08-2004
pita

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем кто изучает C# рекомендую Snippet Compiler для быстрой компиляции небольших учебных программ _http://www.sliver.com/dotnet/SnippetCompiler/ - бесплатный.

Всего записей: 761 | Зарегистр. 06-11-2003 | Отправлено: 15:56 25-08-2004
reylid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На сайте _http://www.intuit.ru
бесплатное дистанционное обучение по курсу языка С#
Смотреть :   _http://www.intuit.ru/department/se/tppobj/

Всего записей: 34 | Зарегистр. 07-12-2003 | Отправлено: 07:37 26-08-2004
WiLd



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
после того, как начал "ваять" на С#, про остальные языки забыл. всем советую переходить на .NET...все равно рано или поздно придется
 
для тех, кто решится могу посоветовать 3 вещи:
-книжку Эндрю Троелсена : "С#  и платформа .NET"
-VSNET2003  
-полный MSDN.  
 
Кодить на С# одно удовольствие

Всего записей: 13 | Зарегистр. 01-09-2004 | Отправлено: 18:26 03-09-2004
TbIrbIDbIM



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiLd
книжку Эндрю Троелсена : "С#  и платформа .NET", а можно по подробнее о книге?

Всего записей: 479 | Зарегистр. 26-10-2003 | Отправлено: 00:11 08-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiLd

Цитата:
книжку Эндрю Троелсена : "С#  и платформа .NET"  

для какого уровня книга? для начинающих?

Цитата:
Кодить на С# одно удовольствие  

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

----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 00:35 08-09-2004
dotBY



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rew
TbIrbIDbIM
если ты шарп не знаешь вообще, но раньше писал хотя бы на паскакале, то книга подойдет. а вот если ты absolute beginner, то многие понятия тебе будут просто непонятны - типа: "в С++ есть callback функции, а вот в шарпе пошли дальше и сделали delegate"...
 

Всего записей: 164 | Зарегистр. 19-08-2003 | Отправлено: 12:42 08-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dotBY
мне как раз не для начинающего надо, купил книгу http://www.ozon.ru/context/book_detail/id/1356392/ , не понравилось, фактически первая часть пытается расжевывать азы, при чем не очень хорошо и доступно все изьясняется, те если бы я этого не знал, не уврен что понял бы это из этой книги. вторая часть, галопом по европам, обьясняет про более важные вещи, но очень поверхностно. короче мне не понравилась ищу что то другое.
меня больше интересуют разные трики, приемы, особенности "красивой" и правильной реализации...

----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 13:06 08-09-2004
pita

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rew
Эта книга не для начинающих программистов, но подойдёт для начинающих в C#, если есть опыт программирования на C++ или Java. Вообще книга неплохая, но есть аналогичного содержания и лучше, например
 
O'Reilly Programming C#, 3rd Edition  
By Jesse Liberty  
 
или
 
Wrox Professional C#, Third Edition
 
и на русском они изданы, правда не последние редакции.
 
Если последняя не понравилась, то такие обзорные книги не стоит и покупать, а нужны специальные книги вроде
 
Professional ASP.NET 1.1  
by Alex Homer et al.   ISBN:0764558900  
Wrox Press © 2004  
 
или  
 
Distributed .NET Programming in C#  
by Tom Barnaby   ISBN:1590590392  
Apress © 2002 (494 pages)  
 
только сомневаюсь что они изданы на русском.

Всего записей: 761 | Зарегистр. 06-11-2003 | Отправлено: 13:42 08-09-2004 | Исправлено: pita, 13:50 08-09-2004
WiLd



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для какого уровня книга? для начинающих?  

dotBY ответил
 
rew

Цитата:
не скажи, в общем задумка ничего, но иногда, уже за реализацию, хочеться кое кому, надовать по интерфейсу канделябром  

здесь, пожалуйста поподробнее: что именно не устравает?

Всего записей: 13 | Зарегистр. 01-09-2004 | Отправлено: 11:40 10-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 что именно не устравает?  

да мелочи в общем, по большому.. я смотрю на шарп через призму жавы, по этому вещи типа
1. намеспейсы не обязывают создавать файловую структуру, как пакаджи в жаве, те там у меня все было по полочкам, этот пакадж ответственный за гуй, этот за бд, тот еще за что то еще, в шарпе у меня все сорсы валяются в одной куче...
2. все методы не виртуальные, если этого специально не пропишешь. те я понимаю что погнались за перфомансом, но так теряется некоторая гибкость.. в жаве если я точно знал, что мне здесь важна скорость, делал метод приватным или файналом, но зато все остальное, во всех будущих наследниках не закрывалось для перегруза.
3. нет исключений обязательных для отлова, кому то это плюс (не надо писать лишний код) мне это минус
4. нет анонимных классов, уж очень я к ним привык, особенно когда надо перегрузить один маленький метод в пару строк.. нужно обьявлять новый класс.. думать какое ему дать имя, да еще, ради одной-двух строк, потом искать где его сорсы..
5. плохо продумана "наследственность" и "интерфесность", те к примеру есть класс TextBox и Label у обоих есть одинаковое свойство Text, но нет никакого общего предка или интерфеса с таким свойством, те если мне будет надо пробежаться по всем компонентам и изменить текст, мне придется делать кастинг непосредственно в TextBox или Label, а не в какой нить общий абстрактный класс AbstractTextControl к примеру.. второй пример, чатенько есть структуры которые хранят пары ключ-значение, в упор не понимаю почему они не расширяют интерфес IDictionary?
6. есть еще там пару мелочей, сча уже не помню, но есть
о плюсах, особо хочу отметить удобность свойств, которых в жаве нет, ну и так в целом, язык мне нравится, даже очень

----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 14:26 10-09-2004 | Исправлено: rew, 14:29 10-09-2004
WiLd



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rew
 
сразу признаюсь, что в "жабе" дуб-дубом
кое с какими пунктами я не совсем согласен:
 

Цитата:
1. намеспейсы не обязывают создавать файловую структуру, как пакаджи в жаве, те там у меня все было по полочкам, этот пакадж ответственный за гуй, этот за бд, тот еще за что то еще, в шарпе у меня все сорсы валяются в одной куче...  

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

Цитата:
3. нет исключений обязательных для отлова, кому то это плюс (не надо писать лишний код) мне это минус  

 
не свосем понял, но если это то, что я подумал то:
-можно создавать любое кол-во блоков catch к одному try и там прописывать нужные ексепшены
-можно создавать свои эксепшены (вроде читал где-то
 

Цитата:
плохо продумана "наследственность" и "интерфесность"

не скажи..
все элементы управления виндовой формы являются потомками класса System.Windows.Forms.Controls. В этом классе содержатся методы и свойства контролов (в том числе и свойство Text).
вот примерчик, который меняет свойство text на всех контролах формы (label, textbox, button1) при нажатии на кнопку
 
private void button1_Click(object sender, System.EventArgs e)
{
for(int i=0; i<this.Controls.Count;i++)
this.Controls[i].Text="замена текста";
}
 
C# рулит
в библиотеке классов .net есть ВСЁ!

Всего записей: 13 | Зарегистр. 01-09-2004 | Отправлено: 16:01 10-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Создал проект - получил неймспейс и запихивай туда что хочешь.  

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

Цитата:
не свосем понял, но если это то, что я подумал то:  
-можно создавать любое кол-во блоков catch к одному try и там прописывать нужные ексепшены  
-можно создавать свои эксепшены (вроде читал где-то

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

Цитата:
все элементы управления виндовой формы являются потомками класса System.Windows.Forms.Controls

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

Цитата:
C# рулит

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

Цитата:
в библиотеке классов .net есть ВСЁ!

фиг вам, еще не все, но скоро надеюсь будет


----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 16:20 10-09-2004
WiLd



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

 
имя проекта - имя директории и неймспейса. Один проект - один неймспейс.
 
 

Цитата:
я говорил про вебформы, в винформах еще сильно не ковырялся, но "тормознутый свинг" из жавы, пока мне нравится больше, как минимум по гибкости использования, которую в формах я пока не улавливаю, может это тока пока...  

 
Те же яйца, только в профиль - System.WEb.UI.Controls

Всего записей: 13 | Зарегистр. 01-09-2004 | Отправлено: 16:31 10-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Один проект - один неймспейс.

один, даже средний проэкт в жаве, я не пихаю все в один пакадж я делю на модули, длеаю структуру пакаджей типа

Код:
 
com\
      sitename\
            gui\
                  MainFrame.class
                  SomeDialog.class
                  ...
            db\
                  Provider.class
                  Settings.class
                  ...
            utils\
                  MyUtils.class
                  ...
            ...
      ...
 

и вот например сорс класса Provider лежит в папке "com\sitename\db\" кроме того строго с названием Provider.java, а не где угодно и как угодно назван, как это позволяется в шарпе.

Цитата:
Те же яйца, только в профиль - System.WEb.UI.Controls  

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

----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 17:00 10-09-2004
Duke Shadow



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rew

Цитата:
я делю на модули, длеаю структуру пакаджей типа

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

Цитата:
а не где угодно и как угодно назван, как это позволяется в шарпе

Тебе никто не запрещает делать не как угодно, а как правильно. То, что язык это позволяет - не значит, что так и нужно делать.

Цитата:
в жаве ты обязан выловить исключеня или передать их выше

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

----------
Тот, кто умеет - делает, кто не умеет - учит(с)Б. Шоу
Войны никого не могут сделать великим(с)магистр Йода
Аватар(c)MindDiver

Всего записей: 3913 | Зарегистр. 15-02-2003 | Отправлено: 07:40 13-09-2004
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Можно, конечно. Только, вот, когда это обязательно - очень сильно напрягает, раз, нередко пути в 255 символов не влезают - два.  

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

Цитата:
Тебе никто не запрещает делать не как угодно, а как правильно. То, что язык это позволяет - не значит, что так и нужно делать.  

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

Цитата:
А смысл перехватывать и банально слать выше по цепочке обработчиков?  
C# как раз и избавляет от этой рутины - т.е. позволяет не писать очередную пустышку.  
К тому же есть исключения, которые ты можешь не предвидеть или которые генерит вызываемый тобой код.

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

----------
плох тот error который не мечтает стать general`ом

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 11:22 13-09-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » C#


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru