C# 널 입력 가능

WBOY
풀어 주다: 2024-09-03 15:16:25
원래의
950명이 탐색했습니다.

C#에서는 변수에 null 값을 할당할 수 없으므로 이를 극복하기 위해 C#에서는 null 허용 유형이라는 변수에 null 값을 할당하는 특수 기능을 제공합니다. 값이 이미 존재하는 경우 System.Nullablestruct의 인스턴스인 Null 허용 유형에서만 작동합니다. 여기서 T는 부울 유형, 정수 유형, 부동 소수점 유형 등과 같은 Null 허용이 아닌 값 유형을 나타냅니다.

구문:

Nullable<data_type> variable_name = null;
로그인 후 복사

위 구문은 C#의 null 허용 데이터 유형을 나타냅니다. nullable 키워드는 System.Nullablestruct의 인스턴스인 nullable 유형을 나타냅니다. 여기서 T는 부울 유형, 정수 유형, 부동 소수점 유형 등과 같은 nullable이 아닌 값 유형을 나타냅니다. 데이터 유형은 변수의 데이터 유형을 나타냅니다. 여기서 Variable_name은 변수의 이름을 나타내며 null 값이 할당됩니다.

다음과 관련된 이 구문에 대한 지름길도 있습니다. 아래에 언급된 데이터 유형과 함께 연산자를 사용합니다.

data_type? variable_name = null;
로그인 후 복사

위 구문은 C#의 null 허용 데이터 유형을 나타냅니다. ? 표시 기호는 nullable 유형을 나타냅니다. 데이터 유형은 변수의 데이터 유형을 나타내며, 여기서 Variable_name은 변수 이름을 나타내며 null 값이 할당됩니다.

C#에서 Nullable 유형의 특성

  • 널 입력 가능 유형의 값은 직접 액세스할 수 없습니다. GetValueOrDefault() 메소드는 null이 할당되지 않은 경우 할당된 값을 추출하는 데 사용되며, null인 경우 기본값인 0을 반환합니다.
  • 참조 유형을 기반으로 null 허용 유형을 생성할 필요 없이 null 허용 유형을 사용하여 변수에 null 값을 할당할 수 있습니다.
  • 널 입력 가능 유형에 값을 할당할 수 있습니다.
  • Nullable HasValue 및 Nullable을 사용하여 값을 확인할 수 있습니다. 객체에 값이 할당되면 true가 반환되고, 객체에 null이 할당되면 false가 반환됩니다. 객체에 할당된 값이 없으면 컴파일 타임 오류가 발생합니다.
  • == 그리고 ! 연산자는 nullable 유형과 함께 사용할 수 있습니다.
  • nullable 유형에 null이 할당된 경우 GetValueOrDefault(T) 메서드는 할당된 값 또는 기본값으로 제공되는 기본값을 제공합니다.
  • Null 병합 연산자(??)를 사용하여 null 허용 유형의 값에 값을 할당할 수도 있습니다.
  • 중첩된 Nullable 유형은 Nullable 유형에서 지원되지 않습니다.
  • null 허용 유형은 var 유형을 지원하지 않습니다. var와 함께 nullable을 사용하면 컴파일러에서 컴파일 시간 오류가 발생합니다.

C#에서 Null 허용 유형의 장점

  • Nullable 유형은 데이터베이스 애플리케이션에 사용됩니다. 데이터베이스의 열에 Null 값이 필요한 경우 Null 허용 유형을 사용하여 해당 열에 Null 값을 할당할 수 있습니다.
  • 정의되지 않은 값은 nullable 유형을 사용하여 표현할 수 있습니다.
  • 참조 유형을 사용하는 대신 null 허용 유형을 사용하여 null 값을 저장할 수 있습니다.

Nullable 도우미 클래스

null 값은 어떤 값보다 작습니다. 따라서 비교 연산자는 null과 함께 사용할 수 없으므로 nullable 정적 클래스를 사용합니다. Nullable 유형에 대한 도우미 클래스로 간주됩니다. nullable 정적 클래스는 GetUnderlyingType 메서드를 제공합니다. 이 메소드는 nullable 유형의 유형 인수를 반환합니다.

C#에서 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# Null 허용의 예

다음은 C# Nullable에 대한 예입니다.

예시 #1

변수에 값이 할당되지 않은 경우 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# 널 입력 가능

Example #2

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:

C# 널 입력 가능

Conclusion

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿