Разработчику > Применение var

Применение var

Несмотря на то, что программисты - это писатели кода, надо понимать, что чаще код мы все же читаем. Читабельность кода превыше удобства его написания. Поэтому принимаются следующие правила по использованию var:

  1. Ключевое слово var допустимо применять, когда явно виден тип переменной из правой части выражения:
    • в правой части выражения конструктор:
      var obj = new Dictionary<string, object>();
    • в правой части выражения приведение типа:
      var s = array as string[];
      
      или
      var list = (IList<string>)listOfStrings;
      
  2. Ключевое слово 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.
      }
  3. Во всех остальных случаях необходимо явно указывать тип объявляемой переменной.
    Для примера см. объявление переменной list в предыдущем пункте.