Programing

새로운 DateTime () 대 기본값 (DateTime)

lottogame 2020. 5. 23. 08:57
반응형

새로운 DateTime () 대 기본값 (DateTime)


이것들 중 하나를 다른 것보다 선택해야 할 이유가 있습니까?

DateTime myDate = new DateTime();

또는

DateTime myDate = default(DateTime);

둘 다 동일 1/1/0001 12:00:00 AM합니다.


아니요, 동일합니다.

default(), 모든 값 유형 ( DateTime값 유형)의 경우 항상 매개 변수없는 생성자를 호출합니다.


메서드에서 DateTime 매개 변수에 기본값을 사용하려면 default (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속성은 읽기 전용이므로 생성자가 호출 된 후에는 변경할 수 없습니다.


그것을 이해하는 가장 간단한 방법은 DateTime이 구조체라는 것입니다. 구조체를 초기화하면 최소값으로 초기화됩니다.DateTime.Min

따라서간에 차이가 없다 default(DateTime)하고 new DateTime()DateTime.Min

참고 URL : https://stackoverflow.com/questions/13957701/new-datetime-vs-defaultdatetime

반응형