[C#] C# 코딩공부 #1 Nullable Reference Type v8.0

개발Velog·2020년 1월 6일
1

C#

목록 보기
1/9

정리

지금까지는 C# Reference 타입에는 NULL을 할당할 수 있었는데, Null Exception를 발생시키는 원인 중 하나.

C# 8.0부터는 디폴트로 Nullable Reference Type 기능을 Disable이기 때문에 사용을 위해서는 프로젝트 레벨이나 파일 레벨, 혹은 소스코드 내의 임의의 위치에서 Enable 필요.

예제 소스 1

static void Main(string[] args)
{
    #nullable enable
    string s1 = null; // Warning: Converting null literal or 
                      // possible null value to non-nullable type
    if (s1 == null) return;

    string? s2 = null;
    if (s2 == null) return;

    #nullable disable
    string s3 = null; // No Warning
    if (s3 == null) return;
}

예제 소스 2

#nullable enable
static void Print(string? s)
{
    Console.WriteLine(s.Length); // Warning: Dereference of a possibly null reference

    if (s != null)
    {
        Console.WriteLine(s);
    }
}
출처 및 참조 : http://www.csharpstudy.com/
profile
안녕하세요. 데이터와 동고동락 중인 개발자 입니다.

0개의 댓글