Объявление переменных с помощью var


18 0

Когда впервые появилась возможность создавать в C# переменные без четкой привязки к типу во время создания, то я воспринял это с энтузиазмом. Иногда действительно var может оказаться удобным.  

Но не смотря на удобство, меня бесит, когда практически все переменные объявляются как var. На мой взгляд это выглядит ужасно.  


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Evilgen

18 Марта 2013

Переменные, объявленные как var, должны быть тут же инициализированы. Что тут ужасного?
Меня ReSharper приучил объявлять переменные var, где это возможно. Теперь меня уже напрягает писать
Pineapple p = new Pineapple();
когда можно
var p = new Pineapple();
Неужели сложно посмотреть в правую часть?
Кстати, при наведении на var показывается правильный тип. Теперь, когда возвращается результат какого-нть линк-запроса, там же жесть какой тип. Черт ногу сломит вручную объявлять.


Испанец

19 Марта 2013

Никогда не пользовался этой возможностью.
Ну  может один раз.

Прочел недавно книгу Г.Шилдта по С#4.0 , столько фич, руки зачесались.

ЗЫ До этого принципиально пользовался только возможностями платформы 2.0


vbs

19 Марта 2013

михаил каково ваше отношение к STL,надеюсь в курсе что это.


urumchic

19 Марта 2013

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


Vaigard

19 Марта 2013

У ReSharper'а на этот счет другое мнение:)


Google

19 Марта 2013

C var лучше не быловаться по себе знаю))))


Михаил Фленов

19 Марта 2013

Неужели так сложно написать настоящий тип данных? Использовать var - безопасно, но просто некрасиво выглядит


Denis

19 Марта 2013

Полностью согласен с Михаилом - УЖАСНО!!! var надо использовать там, где вы ЗАТРУДНЯЕТЕСЬ какой будет тип, это часто бывает когда справа стоит сложное LINQ выражение или анонимный тип!!!
Evilgen, так что отучайся от этой дурной привычки!


Владимир

19 Марта 2013

var пришел к нам, скорее всего, из F#(OCaml .Net), там он называется let (много фишек функционального программирования появились при исследовании в Microsoft Research этого прекрасного мира). Там без него практически невозможно обойтись, достаточно посмотреть на тип функции объявляемой в F#. Думаю когда в c# появились Generics, уже тогда начали задумываться над var (Если я не ошибаюсь, появились они в C# 3.0 в основном для LINQ). На самом деле, мне кажется, var плох для постоянного применения в c#, так как тут слишком много автоматического приведения типов(в F# его по минимуму, если оно вообще там есть).


Михаил Фленов

19 Марта 2013

2vbs

STL можно расшифровать различными способами. Поэтому я понятия не имею, что ты имеешь ввиду. Если Standard Template Library, то какое она отношение имеет к посту?


Zergatul

19 Марта 2013

var пришел только из-за анонимных типов и ничего больше.


iAlex

19 Марта 2013

var нужен, когда чтобы объявить переменную нужно писать что то вроде: DevExpress.XtraEdit.xtraGrid.gridView grdView = ...
Конечно в таких случая лучше написать var = ...
или когда Linq пользуешься

а в остальных случаях лучше не надо читабельность кода страдает


Evilgen

19 Марта 2013

Вот теперь видно, что тока 2 человека пользуются решарпером (который кстати сделал сам майкрософт), остальные читают книги Фленова))


НуПростоЛось

20 Марта 2013

var нужен, когда чтобы объявить переменную нужно писать что то вроде: DevExpress.XtraEdit.xtraGrid.gridView grdView = ...
Конечно в таких случая лучше написать var = ...

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


Владимир

20 Марта 2013

Zergatul,

var пришел только из-за анонимных типов и ничего больше.

Это все равно, что сказать: анонимные типы появились из-за анонимных типов ;). Но ваша позиция ясна).


notez

20 Марта 2013

Вот теперь видно, что тока 2 человека пользуются решарпером (который кстати сделал сам майкрософт), остальные читают книги Фленова))


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


Evilgen

20 Марта 2013

2 notez:


остальные просто умеют программировать


да точно что ли? и в чем это выражается? в упертом консерватизме?


notez

21 Марта 2013

это просто наличие разума, когда нужно использовать var, а когда не нужно. там где он нужен, сиди и используй. от того, что есть крутой мерседес, это не значит, что им нужно ломать стены (хотя это возможно), намного эффективнее использовать более специализированные инструменты. так вот для объявления переменных есть специализированные типы данных. а var сделан как помощник, а не как замена.


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне