private enum E_Week
{
Mon = 0,
Tue,
. . .
}
다음 코드는 무엇을 의미합니까?물음표가있는 이상한 C# 구문
E_Week? week= null;
다음 코드와 동일합니까? '?'의 기능은 무엇입니까? 여기서 서명 해?
E_Week week= null;
private enum E_Week
{
Mon = 0,
Tue,
. . .
}
다음 코드는 무엇을 의미합니까?물음표가있는 이상한 C# 구문
E_Week? week= null;
다음 코드와 동일합니까? '?'의 기능은 무엇입니까? 여기서 서명 해?
E_Week week= null;
코드에서 nullable type을 사용하고 있습니다. 열거 형은 int 또는 DateTime과 마찬가지로 "값 유형"으로 알려져 있으며 항상 가치가 있어야합니다. Nullable 유형을 사용하면 값 유형이 Null 값을 허용하는 것처럼 처리 할 수 있습니다. 예를 들어
,이 코드가 잘못하고 열거가 null이 될 수 없기 때문에 컴파일되지 않습니다 :
E_Week week = null;
하지만이 코드는 유효합니다
E_Week? week = null;
그리고이 정확히 동일합니다 :
Nullable<E_Week> week = null;
E_Week?
는 Nullable
유형에 대한 자세한 내용은 here를 참조 Nullable<E_Week>
에 해당합니다.
가장 중요한 차이점은 두 번째 문이 작동하지 않는다는 것입니다. 기호는 기본적으로 값 유형 (이 경우 enum)을 null로 설정할 수있는 가능성을 제공합니다. 일반적으로 불가능합니다.
[DateTime은 무엇이 될 수 있습니까?] C에서 의미가?]?] (http://stackoverflow.com/questions/109859/what-does-datetime-mean-in-c) –