Злобность 'var' в C #? [Дубликат]

Возможный дубликат:
Ключевое слово "var" в сравнении с явно определенными переменными

РЕДАКТИРОВАТЬ:

Для тех, кто все еще просматривает это, я полностью изменил свое мнение о VAR. Я думаю, что это было в значительной степени из-за ответов на эту тему, которые я сделал. Сейчас я заядлый пользователь 'var', и я думаю, что комментарии его сторонников ниже были абсолютно правильными почти во всех случаях. Я думаю, что мне больше всего нравится в var то, что он ДЕЙСТВИТЕЛЬНО уменьшает повторение (соответствует DRY) и делает ваш код значительно чище. Он поддерживает рефакторинг (когда вам нужно изменить тип возвращаемого значения чего-либо, у вас меньше очистки кода, и НЕТ, не у всех есть причудливый инструмент рефакторинга!), И, как ни странно, у людей действительно не возникает проблем незнание заранее определенного типа переменной (достаточно просто «обнаружить» возможности типа по требованию, что, как правило, необходимо в любом случае, даже если вы действительно знаете имя типа).

Так вотбольшие аплодисменты для«Вар» ключевое слово!!

Это относительно простой вопрос ... на самом деле это больше опрос. Я ОГРОМНЫЙ поклонник C # и использую его более 8 лет, с тех пор как впервые был выпущен .NET. Я фанат всех улучшений, сделанных в языке, включая лямбда-выражения, методы расширения, LINQ и анонимные типы. Тем не менее, есть одна особенность C # 3.0, которая, как мне кажется, СОВЕРШЕННО неправильно использована .... ключевое слово 'var'.

С момента выпуска C # 3.0 в блогах, на форумах и даже в Stackoverflow я видел, как var заменяет почти каждую написанную переменную! На мой взгляд, это грубое неправильное использование этой функции и приводит к очень произвольному коду, который может содержать много запутанных ошибок из-за отсутствия ясности того, какой тип переменной на самом деле.

Существует только одно действительно правильное использование «var» (по крайней мере, на мой взгляд). Вы спрашиваете, что это за действительное использование? Единственное действительное использование, когда вынеспособный знать тип, и единственный случай, когда это может произойти:

При доступе канонимный тип

Анонимные типы не имеют идентификатора во время компиляции, поэтому var является единственным вариантом. Это единственная причина, по которой был добавлен var ... для поддержки анонимных типов.

Итак ... что ты думаешь? Учитывая плодотворное использование var в блогах, форумах, предлагаемых / поддерживаемых такими инструментами, как ReSharper и т. Д., Многие начинающие разработчики увидят его как вполне допустимую вещь.

Как вы думаете, вар должен использоваться так широко?Как вы думаете, должен ли var когда-либо использоваться для чего-то кроме анонимного типа?Допустимо ли использовать в коде, опубликованном в блогах, для краткости ... краткости? (Не уверен насчет ответа на этот вопрос сам ... возможно, с оговоркой)Должны ли мы, как сообщество, поощрять более эффективное использование строго типизированных переменных для улучшения ясности кода или позволить C # стать более расплывчатым и менее наглядным?

Я хотел бы знать мнения сообщества. Я вижу, что var часто используется, но я очень мало представляю, почему, и у perhapse есть веская причина (то есть краткость / краткость).

Ответы на вопрос(11)

Ваш ответ на вопрос