Применение var
2017 год
Несмотря на то, что программисты - это писатели кода, надо понимать, что чаще код мы все же читаем. Читабельность кода превыше удобства его написания. Поэтому принимаются следующие правила по использованию var:
-
Ключевое слово var допустимо применять, когда явно виден тип переменной
из правой части выражения:
-
в правой части выражения конструктор:
var obj = new Dictionary<string, object>();
- в правой части выражения приведение типа:
var s = array as string[];
илиvar list = (IList<string>)listOfStrings;
-
в правой части выражения конструктор:
-
Ключевое слово var допустимо применять, когда правая часть выражения содержит код, возвращающий анонимный тип. При этом сам тип не так важен, как важна лишь его принадлежность к перечислителям (IEnumerable) или экземплярам этих перечислителей в операторах foreach, in:
-
правая часть выражения - LINQ-запрос по вполне определенному типу:
List<Some> list = GetFullSomeList(); var filteredList = from item in list where item.X >= 0 orderby item.X select item; // filteredList будет "каким-то" производным типом от типа IEnumerable<Some>.
-
исключительно в продолжение предыдущего пункта допустимо применять var, поскольку предельно ясно, перечислитель каких типов объектов используется:
foreach (var item in filteredList) { // Экземпляр item определенно имеет тип Some. }
-
правая часть выражения - LINQ-запрос по вполне определенному типу:
-
Во всех остальных случаях необходимо явно указывать тип объявляемой переменной.
Для примера см. объявление переменной list в предыдущем пункте.