C#에서는 변수에 null 값을 할당할 수 없으므로 이를 극복하기 위해 C#에서는 null 허용 유형이라는 변수에 null 값을 할당하는 특수 기능을 제공합니다. 값이 이미 존재하는 경우 System.Nullable
구문:
Nullable<data_type> variable_name = null;
위 구문은 C#의 null 허용 데이터 유형을 나타냅니다. nullable 키워드는 System.Nullable
다음과 관련된 이 구문에 대한 지름길도 있습니다. 아래에 언급된 데이터 유형과 함께 연산자를 사용합니다.
data_type? variable_name = null;
위 구문은 C#의 null 허용 데이터 유형을 나타냅니다. ? 표시 기호는 nullable 유형을 나타냅니다. 데이터 유형은 변수의 데이터 유형을 나타내며, 여기서 Variable_name은 변수 이름을 나타내며 null 값이 할당됩니다.
null 값은 어떤 값보다 작습니다. 따라서 비교 연산자는 null과 함께 사용할 수 없으므로 nullable 정적 클래스를 사용합니다. Nullable 유형에 대한 도우미 클래스로 간주됩니다. nullable 정적 클래스는 GetUnderlyingType 메서드를 제공합니다. 이 메소드는 nullable 유형의 유형 인수를 반환합니다.
기본 데이터 유형은 숫자와 같은 값 유형입니다. 값 형식은 정의할 때 명시적으로 초기화되지 않은 경우에도 스택에 저장되고 .NET 프레임워크에 의해 암시적으로 기본값으로 초기화됩니다. 예를 들어, 정수 값은 기본적으로 0으로 초기화됩니다. 부울 값은 기본적으로 false로 초기화됩니다. 마찬가지로 모든 값 유형은 기본값을 나타냅니다. 이들 중 어느 것도 데이터베이스 애플리케이션에서 가장 두드러지는 Null 값을 나타낼 수 없으며 그러한 애플리케이션에서는 Null을 나타내는 것이 중요합니다. Null 값을 나타내기 위해 선택한 모든 값은 해당 값의 데이터 유형에 허용되는 값 범위에 속하지 않을 수 있습니다. 예를 들어 값 유형에 대해 null을 나타내기 위해 -1을 선택하면 -1은 해당 데이터 유형에 허용되는 값이 아닐 수 있습니다. 또한 응용 프로그램에서 null 값을 나타내기 위해 특정 값을 선택한 경우 해당 값이 응용 프로그램 전체에서 다른 목적으로 사용되어서는 안 됩니다. 이 문제를 극복하기 위해 C# 2.0에서는 nullable 형식을 제공했습니다. 시스템의 구조. Nullable은 다음과 같으며, Nullable 유형을 정의하는 데 사용할 수 있습니다.
코드:
namespace System { public struct Nullable : System.IComparable, System.INullableValue { public Nullable(T value); public static explicit operator T(T? value); public static implicit operator T?(T value); public T Value { get; } public bool HasValue { get; } public T GetValueOrDefault(); } }
여기서 T는 값 유형을 나타내며 구조는 하나의 매개변수를 허용합니다. 구문을 사용하면 모든 값을 null 허용 유형으로 정의할 수 있습니다.
구문:
System.Nullable<data_type> variable_name = null;
다음은 C# Nullable에 대한 예입니다.
변수에 값이 할당되지 않은 경우 null 허용 유형을 설명하는 C# 프로그램
Code:
using System; public class Geeks { //Defining Main Method public static void Main(string[] args) { // Nullable type is defined Nullable<int> a = null; // We use the method GetValueOrDefault(), the default value is 0 Console.WriteLine(a.GetValueOrDefault()); // Nullable type is defined int? b = null; //We use the method GetValueOrDefault(), the default value is 0 Console.WriteLine(b.GetValueOrDefault()); // non-nullable is defined using nullable type syntax int? a1 = 200; // We use the method GetValueOrDefault(), the default value is 0 but the value that is assigned to the variable is returned Console.WriteLine(a1.GetValueOrDefault()); // non-nullable is defined using nullable type syntax Nullable<int> b1 = 10; // We use the method GetValueOrDefault(), the default value is 0 but the value that is assigned to the variable is returned Console.WriteLine(b1.GetValueOrDefault()); } }
The output of the above code is shown in the snapshot below:
Output:
C# program using nullable type to illustrate the use of nullable.HasValue method.
Code:
using System; public class GFG { //Defining Main Method public static void Main() { // defining the variable m as a nullable type Nullable<int> m = 100; // the value of the variable m is checked Console.WriteLine(m.HasValue); // defining the variable n as a nullable type and assigned a value to it Nullable<int> n = null; // check the value of object Console.WriteLine(n.HasValue); } }
The output of the above code is shown in the snapshot below:
Output:
In this tutorial, we understand the concept of nullable type in C# through definition and then understand the working of nullable type in C#. Then we understand different C# programs using nullable type and their working with their output snapshots included with the programs’ results.
위 내용은 C# 널 입력 가능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!