Оператор default

Оператор default возвращает значение по-умолчанию для указанного типа, все биты которого инициализированы 0 (zero bit pattern).

Для ссылочных типов оператор вернет null. Для размерных типов будет создан новый экземпляр структуры со значениями полей инициализированных умолчательными значениями с нулевым значением битов. Для числовых типов это 0, для булевых false, для указателей на ссылочные типы null.

Оператор default используется в классах-обобщениях (generics), или методах, для создания экземпляров объектов, тип которых соответствует типу параметра. Ниже приведен пример такого использования, лишний код для краткости опущен.

public abstract class NumericValidator<T> : CellValidator where T : struct, 
			IComparable<T>, 
			IConvertible
{
  private T _currentValue;

  public NumericValidator()
  {
    _currentValue = default(T);
  }
}