Во многих случаях использование var необязательно и является просто синтаксическим удобством. Однако, когда переменная инициализируется анонимным типом, вы должны объявить переменную как var, если вам понадобится обратиться к свойствам объекта на более позднем этапе. Это распространенный сценарий в выражениях запросов LINQ.

жный дубликат:
Какой смысл в ключевом слове var?

яне спрашиваю, как это работает. яне спрашивая, влияет ли это на производительность. Я уже знаю эти ответы.

Я хочу знать, что вдохновило команду MS C # на добавление ее в язык. Вы не добавляете легкомысленные вещи в язык. Должна быть заметная проблема, которую он решил. В чем была эта проблема?

Ближайший пример, который я видел для «решаемой проблемы», - это использование анонимных типов, например:

var linqResult = from element in SomeCollection s
                 elect new { element.A, element.B } 

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

Если бы я писал стандарты кодирования и пытался предотвратить чрезмерное использование «var», я был бы несколько склонен сказать «используйте« var »только в ответ на анонимные типы». Но это ставит вопрос в полный круг: что было / естьцель добавив 'var' к языку?

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

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