![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Я уже давно вижу во многих примера используется ключевое слово var.
По сути я ещё не видел отличия от того что напишу просто тип или var. Что можете рассказать об этом типе\ключе? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 2 Всего: 173 |
Без var, например, нельзя объявить переменную анонимного типа.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Это не тип , а ключевое слово , означающее поредение типа переменной автоматически на этапе компиляции
http://msdn.microsoft.com/ru-ru/library/bb383973.aspx Ввод ключевого слова var был обусловлен вводом в эксплуатацию LINQ , где определение типа коллекции зачастую довольно сложно , а порой и вообще не возможно ( при использовании анонимных типов ). Поэтому было введено ключевое слово var Насколько мне известно Microsoft не рекомендует использовать var кроме как для указанной выше цели. Тем не менее даже вокруг этого возникли споры и разногласия. R# к примеру предлагает везде где есть возможность его использовать Классическим примером является сравнение 2 строк кода :
Понятно , что в данном случае в первой строчке кода происходит дублирование информации о типе. У использования ключевого слово var есть и другие преимущества. Лично я очень осторожно отношусь к этому ключевому слову и стараюсь его не использовать. Просто исходя из принципа : от добра добра не ищут. -------------------- Жизнь - печальная штука. |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
хотелось бы услышать ещё мнения.
но по сути в IL код компилятор создат одинаковые команды из вашего пример? |
|||
|
||||
| wester |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 3 Всего: 13 |
||||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
ч.т.д тут нужно собрать факты, обговорить с командой, и делать как думает команда.
|
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
Это просто синтаксический сахар. Для себя я выявил правило - как можно реже его употреблять.
|
|||
|
||||
| wester |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 3 Всего: 13 |
кусок из моего проекта - количество шума уменьшается очень сильно при использовании var |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
ну вот эта часть мне кажется не удачная. |
|||
|
||||
| DenWPF |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
да и вот сейчас подумал к примеру
лучше выглядит
чем
и вот ещё, как по мне не очень то и понятно выглядит
Это сообщение отредактировал(а) DenWPF - 17.4.2011, 23:00 |
||||||
|
|||||||
| mimik |
|
||||||||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
т.е. а это понятно, да
это же тоже самое что и
тип ведь не конкретизируется |
||||||||
|
|||||||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
|
|||
|
||||
| wester |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 3 Всего: 13 |
DenWPF,
тут мне было лень писать нормальное имя переменной. Халтура, что уж тут сказать) mimik,
тут дело в том, что при дебаге такое сокращение может получить кучу головной боли для программиста. Самое банальное - нет такого элемента с указанным индексом. и здесь появится ошибка в рантайме. Этот фрагмент вообще стоит переписать. |
||||
|
|||||
| DenWPF |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
там продумано программистом, не возможна другой вариант. в конструкторе добавляется два элемента, и не где они не удаляются.
+ это вобще для динамического создания объектов, в релизе такого не будет.
будет как одна команда. т.е полностью IL код будет одинаковый?
|
||||
|
|||||
| Экскалупатор |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
конечно нет, я так понимаю что в temp.m_pathImage идет обращение к свойству объекта? которое что то возвращает? и куда оно возвращает?
в этом случае переменная temp станет того же типа что и свойство. но для меня остается загадкой какого типа эта переменная будет... я бы тут написал тип переменной. Это сообщение отредактировал(а) Экскалупатор - 18.4.2011, 09:11 |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |