>  기사  >  백엔드 개발  >  C#의 어려움은 하나씩 해결됩니다(8): Nullable 형식 System.Nullable

C#의 어려움은 하나씩 해결됩니다(8): Nullable 형식 System.Nullable

黄舟
黄舟원래의
2016-12-22 14:24:071348검색

null 및 void

null 값은 데이터 유형에 값이 할당되지 않았음을 나타내는 데 사용됩니다. void는 유형이 없음을 나타냅니다. 가치가 없습니다. null과 void의 차이점은 void는 아무것도 아닌 반면 null은 아무것도 없는 빈 상자라고 생각하면 됩니다.

Null 값은 참조 유형에만 할당될 수 있습니다. 여기서 문자열은 참조 유형이기도 하며 C에서는 변수 위치가 있는 메모리 공간 위치입니다. 저장됩니다. 변수를 null로 설정하면 참조가 명시적으로 설정되며 메모리 위치 자체를 가리키지 않습니다.

값 유형에 null 값을 할당하면 컴파일 오류가 발생합니다.

C#의 어려움은 하나씩 해결됩니다(8): Nullable 형식 System.Nullable

void는 메서드 값을 반환하는 데 사용됩니다. 그 본질은 데이터 유형이 없음을 나타내는 데 사용됩니다.

System.Nullable

C#의 null 값은 값 유형에 할당할 수 없으며 여기서 값 유형에는 구조체가 포함됩니다. 그 이유는 값 유형이 참조를 포함할 수 없기 때문입니다. 물론 "없음" 참조인 null은 값 유형에서 참조할 수 없습니다. 실제 응용 프로그램에서는 int 데이터 유형이 실제로 해당 값을 결정할 수 없는 경우 몇 가지 문제가 발생합니다. 여기서는 nullable 유형을 사용해야 합니다.

System.Nullable<int> i = null; 
Console.WriteLine(i);

이때 int 유형인 i를 null 유형으로 선언할 수 있습니다. 동시에 프로그램 실행 결과에는 데이터가 표시되지 않습니다. 이때 int 유형은 null 유형으로 선언할 수 있으며, 프로그램 실행 결과에는 GetType을 사용하여 데이터가 표시되지 않습니다. () 해당 유형을 보려면 System.NullReferenceException

System.Nullable<int> i = null; 
Console.WriteLine(i);

C#의 어려움은 하나씩 해결됩니다(8): Nullable 형식 System.NullableSystem.Nullable을 T?로 축약할 수 있습니다(예: System.Nullable). ; int?로 쓸 수 있습니다. Null 허용 유형은 ADO.NET 프로그래밍에서 널리 사용됩니다.

또한 Nullable 유형의 인스턴스에는 HasValue 멤버와 Value 멤버가 있습니다. 여기서 HasValue는 인스턴스에 값이 있는지 여부를 나타내는 부울 유형이고, Value는 HasValue에 값이 있을 때 인스턴스의 값을 나타냅니다. HasVaue가 false인 경우 Value를 사용하면 System.InvalidOperationException 예외가 트리거됩니다.

System.Nullable<int> i = null; 
Console.WriteLine( i.GetType());

C#의 어려움은 하나씩 해결됩니다(8): Nullable 형식 System.Nullable

위 내용은 C#의 어려움을 하나씩 설명합니다(8): nullable 유형 System.Nullable에 대한 자세한 내용은 다음을 참조하세요. PHP 중국어 홈페이지(www.php .cn)!

int? i = null; 
Console.WriteLine(i.HasValue); 
Console.WriteLine(i.Value);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.