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