Ответ 1
Нет, они идентичны.
default()
, для любого типа значения (DateTime
- тип значения) всегда будет вызывать конструктор без параметров.
Есть ли причина выбрать один из них над другим?
DateTime myDate = new DateTime();
или
DateTime myDate = default(DateTime);
Оба они равны 1/1/0001 12:00:00 AM
.
Нет, они идентичны.
default()
, для любого типа значения (DateTime
- тип значения) всегда будет вызывать конструктор без параметров.
Если вы хотите использовать значение по умолчанию для параметра DateTime в методе, вы можете использовать только значение по умолчанию (DateTime).
Следующая строка не будет компилироваться:
private void MyMethod(DateTime syncedTime = DateTime.MinValue)
Эта строка будет компилироваться:
private void MyMethod(DateTime syncedTime = default(DateTime))
Ответ - нет. Имейте в виду, что в обоих случаях mdDate.Kind = DateTimeKind.Unspecified
.
Поэтому может быть лучше сделать следующее:
DateTime myDate = new DateTime(1, 1, 1, 0, 0, 0, DateTimeKind.Utc);
Свойство myDate.Kind
доступно только для чтения, поэтому его нельзя изменить после вызова конструктора.