[C# 문법] 패턴 일치 - null 검사

참조

개요

  • 패턴 일치 는 식에 특정 특징이 있는지 확인하기 위해 테스트하는 기법입니다.
  • C# 패턴 일치는 식을 테스트하고 식이 일치하는 경우 작업을 수행하기 위한 보다 간결한 구문을 제공합니다.
  • is 식 은 패턴 일치를 지원하여 식을 테스트하고 해당 식의 결과에 대한 새 변수를 조건부로 선언합니다.
  • switch 식을 사용하면 식의 처음 일치 패턴을 기준으로 작업을 수행할 수 있습니다.

null 검사

  • 패턴 일치에서 가장 널리 사용되는 시나리오는 값이 null이 아닌지 확인하는 것입니다.
  • 다음 예제를 사용하여 null이 아닌지를 테스트할 때 null 허용 값 형식을 테스트하고 기본 형식으로 변환할 수 있습니다.
int? maybe = 12;

if (maybe is int number)
{
    Console.WriteLine($"The nullable int 'maybe' has the value {number}");
}
else
{
    Console.WriteLine("The nullable int 'maybe' doesn't hold a value");
}
  • 위 코드는 변수의 형식을 테스트하고 여기에 새 값을 할당하는 선언 패턴 입니다.
  • 변수 number는 액세스만 가능하며 if 절의 실제 부분에 할당됩니다.
  • else 절에서나 if 블록 뒤에서 등 다른 곳에서 액세서하려고 하면 컴파일러가 오류를 발생시킵니다.
  • 이 패턴은 == 연산자를 사용하지 않으므로 형식이 == 연산자를 오버로드 하는 경우에도 작동합니다.
  • 따라서 이것은 not 패턴을 추가하여 null 참조를 확인하는 이상적인 방법이 됩니다.
string? message = "This is not the null string";

if (message is not null)
{
    Console.WriteLine(message);
}
  • 앞에 나온 예제에서는 상수 패턴을 사용하여 변수를 null 에 비교했습니다.
  • not은 부정된 패턴이 일치하지 않는 경우 일치하는 논리 패턴입니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY