Во многих случаях использование 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' к языку?