development

"DateTime"은 무엇입니까?

big-blog 2020. 11. 6. 21:01
반응형

"DateTime"은 무엇입니까? C #에서 의미합니까?


.Net 책을 읽고 있는데 코드 예제 중 하나에이 필드가있는 클래스 정의가 있습니다.

private DateTime? startdate

무슨 DateTime?뜻이야?


DateTimestruct아닌 이므로 해당 유형의 필드 또는 변수를 선언 할 때 참조가 아닌 객체class 를 얻습니다 .DateTime

그리고는 intcan be 와 같은 방식으로 참조가 null아니기 때문에이 DateTime객체는 절대로 될 수 없습니다 null.

물음표를 추가하는 것은으로 바뀝니다 nullable 형식 수단 중 하나 그것은이다 DateTime오브젝트, 또는 그 것이다 null.

DateTime?에 대한 문법 설탕입니다 Nullable<DateTime>, Nullable그 자체입니다 struct.


nullable DateTime입니다. ?원시 유형 / 구조가 널 허용 버전임을 표시 한 후.

DateTime은 null이 될 수없는 구조입니다. 에서 MSDN :

DateTime 값 유형은 12:00:00 자정, 0001 년 1 월 1 일 Anno Domini 또는 AD (Common Era 또는 CE라고도 함)에서 9999 년 12 월 31 일 오후 11:59:59까지 범위의 값으로 날짜 및 시간을 나타냅니다. AD (CE)

DateTime? 그러나 null 일 수 있습니다.


A ? 값 유형에 대한 접미사는 그렇지 않으면 불가능한 널 할당을 허용합니다.

http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx

기본 형식이 null 참조를 할당 할 수도있는 값 형식 인 개체를 나타냅니다.

이것은 다음과 같이 작성할 수 있음을 의미합니다.

    DateTime? a = null;
    if (!a.HasValue)
    {
        a = DateTime.Now;
        if (a.HasValue)
        {
            Console.WriteLine(a.Value);
        }
    }

날짜 시간? 구문 적으로 Nullable <DateTime> 과 동일합니다 .


Nullable <DateTime>과 동일합니다. "?"를 추가 할 수 있습니다. 모든 기본 유형 또는 구조체에.


기본적으로 프리미티브에 대한 추가 상태를 제공합니다. 값이거나 널일 수 있습니다. 값을 할당 할 필요가없는 상황에서 유용 할 수 있습니다. 따라서 예를 들어 datetime.min 또는 max를 사용하는 대신 null을 할당하여 값이 없음을 나타낼 수 있습니다.


우리가 알다시피 DateTime은 구조체라는 의미로 DateTime이 값 유형임을 의미하므로 DateTime이 클래스가 아니기 때문에 참조가 아닌 DateTime 객체를 얻습니다. 해당 유형의 필드 또는 변수를 선언 할 때 null로 초기화 할 수 없습니다. null을 허용하지 마십시오. int와 같은 방식으로 null이 될 수 없습니다. 따라서 DateTime 객체는 참조가 아니기 때문에 null이 될 수 없습니다.

그러나 때때로 우리는 nullable 변수 또는 값 유형의 필드가 필요합니다. 그때 우리는 물음표를 사용하여 null을 허용하도록 nullable 유형으로 만듭니다.

예를 들면 :-

날짜 시간? 날짜 = null;

int? intvalue = null;

위 코드에서 변수 date 는 DateTime의 객체이거나 null입니다. intvalue와 동일합니다.

참고 URL : https://stackoverflow.com/questions/109859/what-does-datetime-mean-in-c

반응형