>백엔드 개발 >C++ >물음표는 C# 값 유형에서 무엇을 의미합니까 (예 :`int?`)?

물음표는 C# 값 유형에서 무엇을 의미합니까 (예 :`int?`)?

Barbara Streisand
Barbara Streisand원래의
2025-01-26 08:51:10753검색

What Does the Question Mark Mean in C# Value Types (e.g., `int?`)?

C# 값 유형의 물음표: null 허용 유형 이해

물음표 "?"는 조건문에서의 사용을 포함하여 프로그래밍에서 다양한 역할을 합니다. 그러나 public int? myProperty과 같은 값 유형에도 나타납니다. 이 경우 물음표는 무엇을 합니까?

널 입력 가능 유형

값 유형 뒤의 물음표는 null 허용 유형임을 나타냅니다. 널 입력 가능 유형은 기본 유형의 유효한 값 전체 범위와 특수 널 값을 수용할 수 있는 System.Nullable 구조의 특수 인스턴스입니다.

이 기능은 일부 요소에 의도적으로 값이 누락될 수 있는 데이터베이스 시나리오 또는 기타 데이터 소스를 처리할 때 특히 유용합니다. 예를 들어 부울 값을 허용하는 데이터베이스 테이블 열에는 true, false 또는 null이 포함될 수 있습니다.

샘플 코드

다음 코드 조각을 고려하세요.

<code class="language-csharp">class NullableExample
{
    static void Main()
    {
        int? num = null;

        // 判断 HasValue 是否为 true
        if (num.HasValue)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        // 如果 num 为 null,则赋值默认值 0
        int y = num.GetValueOrDefault();

        // 如果 num.HasValue 为 false,则抛出 InvalidOperationException
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}</code>

여기서 num 변수는 정수 또는 Null 값을 담을 수 있는 Null 허용 정수(int?)로 정의됩니다. HasValue 속성을 ​​사용하면 변수에 유효한 값이 포함되어 있는지 확인할 수 있습니다. HasValue이 참이면 num.Value을 사용하여 실제 값을 얻을 수 있습니다. 그렇지 않으면 num은 null로 간주됩니다.

위 내용은 물음표는 C# 값 유형에서 무엇을 의미합니까 (예 :`int?`)?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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