Когда впервые появилась возможность создавать в C# переменные без четкой привязки к типу во время создания, то я воспринял это с энтузиазмом. Иногда действительно var может оказаться удобным.
Но не смотря на удобство, меня бесит, когда практически все переменные объявляются как var. На мой взгляд это выглядит ужасно.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Переменные, объявленные как var, должны быть тут же инициализированы. Что тут ужасного?
Меня ReSharper приучил объявлять переменные var, где это возможно. Теперь меня уже напрягает писать
Pineapple p = new Pineapple();
когда можно
var p = new Pineapple();
Неужели сложно посмотреть в правую часть?
Кстати, при наведении на var показывается правильный тип. Теперь, когда возвращается результат какого-нть линк-запроса, там же жесть какой тип. Черт ногу сломит вручную объявлять.
Никогда не пользовался этой возможностью.
Ну может один раз.
Прочел недавно книгу Г.Шилдта по С#4.0 , столько фич, руки зачесались.
ЗЫ До этого принципиально пользовался только возможностями платформы 2.0
михаил каково ваше отношение к STL,надеюсь в курсе что это.
Михаил а вы могли бы перечислить в каких случаях на ваш взгляд полезно использовать var?
У ReSharper'а на этот счет другое мнение:)
C var лучше не быловаться по себе знаю))))
Неужели так сложно написать настоящий тип данных? Использовать var - безопасно, но просто некрасиво выглядит
Полностью согласен с Михаилом - УЖАСНО!!! var надо использовать там, где вы ЗАТРУДНЯЕТЕСЬ какой будет тип, это часто бывает когда справа стоит сложное LINQ выражение или анонимный тип!!!
Evilgen, так что отучайся от этой дурной привычки!
var пришел к нам, скорее всего, из F#(OCaml .Net), там он называется let (много фишек функционального программирования появились при исследовании в Microsoft Research этого прекрасного мира). Там без него практически невозможно обойтись, достаточно посмотреть на тип функции объявляемой в F#. Думаю когда в c# появились Generics, уже тогда начали задумываться над var (Если я не ошибаюсь, появились они в C# 3.0 в основном для LINQ). На самом деле, мне кажется, var плох для постоянного применения в c#, так как тут слишком много автоматического приведения типов(в F# его по минимуму, если оно вообще там есть).
2vbs
STL можно расшифровать различными способами. Поэтому я понятия не имею, что ты имеешь ввиду. Если Standard Template Library, то какое она отношение имеет к посту?
var пришел только из-за анонимных типов и ничего больше.
var нужен, когда чтобы объявить переменную нужно писать что то вроде: DevExpress.XtraEdit.xtraGrid.gridView grdView = ...
Конечно в таких случая лучше написать var = ...
или когда Linq пользуешься
а в остальных случаях лучше не надо читабельность кода страдает
Вот теперь видно, что тока 2 человека пользуются решарпером (который кстати сделал сам майкрософт), остальные читают книги Фленова))
Zergatul,
2 notez:
это просто наличие разума, когда нужно использовать var, а когда не нужно. там где он нужен, сиди и используй. от того, что есть крутой мерседес, это не значит, что им нужно ломать стены (хотя это возможно), намного эффективнее использовать более специализированные инструменты. так вот для объявления переменных есть специализированные типы данных. а var сделан как помощник, а не как замена.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.