C#의 Null 병합 연산자란?

C Ui Null Byeonghab Yeonsanjalan



씨# 다양한 플랫폼을 위한 효율적이고 강력한 응용 프로그램을 만들기 위해 설계된 널리 사용되는 프로그래밍 언어입니다. 이 언어에는 다음을 포함하여 많은 고급 기능이 있습니다. null 병합 연산자 , null 값을 처리하는 간단한 구문을 제공하여 복잡한 코드를 단순화하는 데 도움이 됩니다. 이 연산자는 간단한 처리 방법을 찾는 개발자들 사이에서 인기를 얻었습니다. 없는 프로젝트의 가치.

이 기사는 null 병합 연산자 .







C#의 Null 병합 연산자란?

C#에서 기호는 null 병합 연산자 ~이다 ?? . 변수가 null이면 기본값을 제공하는 데 사용됩니다.

예를 들어 변수가 있는 경우 엑스 이는 null일 수 있으며 null인 경우 기본값 10을 할당하고 싶습니다. null 병합 연산자 다음과 같이:

정수 y = x ?? 10

이 문은 다음 값을 할당합니다. 10 x가 null이면 y로, 그렇지 않으면 x 값을 사용합니다.

null이 아닌 경우 왼쪽 피연산자의 값을 반환합니다. 오른쪽 피연산자가 검사되고 null이면 결과가 반환됩니다. 또는 왼쪽 피연산자가 null이 아닌 것으로 평가되면 오른쪽 피연산자를 평가하지 않습니다.

코드 없이 코드를 작성하는 전통적인 방법 null 병합 연산자 이다:

만약에 ( 결과는 null입니다 )

반품 새 목록 < 사람 > ( ) ;

반품 결과;

다음을 사용하여 null이 아닌 기본값과 null 검사를 모두 포함하는 한 줄로 요약할 수 있습니다. null 병합 연산자 :

반품 결과 ?? 새 목록 < 사람 > ( ) ;

기억해야 할 몇 가지 중요한 사항 null 병합 연산자 이다:

  • 변수는 ??의 왼쪽 피연산자여야 합니다. 운영자.
  • ??= 연산자의 왼쪽 피연산자는 null을 허용하지 않는 형식일 수 없습니다.
  • null 병합 연산자는 오버로드할 수 없습니다.
  • null 병합 연산자는 오른쪽 결합입니다. 이는 a ??= b ??= c와 같은 표현식이 a ??= (b ??= c)로 평가됨을 의미합니다.

Null 병합 연산자의 사용

의 용도 null 병합 연산자 이다:

1: 기본값 제공

nullable 형식으로 작업할 때 값이 null이면 다음을 사용할 수 있습니다. null 병합 연산자 예외를 throw하는 대신 기본값을 제공합니다.

시스템 사용;

공개 수업 프로그램
{
공공 정적 무효 메인 ( )
{
정수? nullableValue = null;
정수 값 = nullableValue ?? 10 ;
콘솔.쓰기줄 ( '값: ' + 가치 ) ;
}
}

위의 예에서 정수를 정의합니다. nullableValue 변수에 값을 0으로 지정합니다. 그만큼 null 병합 연산자 그런 다음 nullableValue가 null인 경우 값 변수에 기본값 10을 제공하는 데 사용됩니다. 다음으로 값이 콘솔에 표시됩니다.

2: Null 참조 예외 방지

개체 및 배열과 같은 정교한 데이터 구조로 작업할 때 Null 값으로 인해 null 참조 예외가 발생할 수 있습니다. 이러한 예외는 다음을 사용하여 피할 수 있습니다. null 병합 연산자 , 기본값을 제공합니다.

시스템 사용;

공개 클래스 myClass
{
공개 문자열 이름 { 얻다; 세트 ; }
공개 정수 ID { 얻다; 세트 ; }
}
공개 수업 프로그램
{
공공 정적 무효 메인 ( )
{
myClass 사람 = null;
문자열 이름 = 사람?.이름 ?? '알려지지 않은' ;
정수 ID = 사람?.아이디 ?? 0 ;
콘솔.쓰기줄 ( '이름: ' + 이름 ) ;
콘솔.쓰기줄 ( 'ID: ' + ID ) ;
}
}

이름 그리고 ID 의 속성입니다 내 수업 위 코드의 클래스. 안전하게 입장하기 위해서는 이름 그리고 ID person 객체의 속성을 변경하고 null인 경우 기본값을 제공하고, person 변수를 null로 설정한 다음 null 조건 연산자(?.)를 활용하고 null 병합 연산자 (??). 그런 다음 콘솔에 name 및 id 값이 인쇄됩니다.

3: 중복 if-else 조건 제거

또한 null 병합 연산자를 사용하여 중복의 필요성을 제거하여 코드를 더 간결하고 읽기 쉽게 만들 수 있습니다. if-else 조건 .

예를 들어:

시스템 사용;

네임스페이스 예
{
클래스 마이클래스
{
정적 무효 메인 ( [ ] 인수 )
{
정수? nullableValue = null;
정수 값;
만약에 ( nullableValue ! = null )
{
값 = nullableValue.Value;
}
또 다른
{
값 = 10 ;
}
콘솔.쓰기줄 ( '값: ' + 가치 ) ;
}
}
}

위의 코드에서 null 병합 연산자는 ?? 의 값을 할당하는 데 사용됩니다. nullableValue 가치에. 만약에 nullableValue null이 아닌 경우 값은 다음과 같은 값을 갖습니다. nullableValue . 만약에 nullableValue null이면 값은 10이 됩니다. 다른 경우라면 조건이 더 이상 필요하지 않으며 이제 코드가 더 짧고 이해하기 쉽습니다.

결론

그만큼 null 병합 연산자 C#의 기능은 개발자가 프로젝트에서 null 값을 처리하는 방식을 간소화하는 강력한 기능입니다. 이 연산자는 null일 수 있는 변수에 기본값을 할당하는 간단하고 효율적이며 유연한 구문을 제공합니다. 를 사용하여 null 병합 연산자 , 개발자는 더 읽기 쉽고 유지 관리가 가능하며 효율적인 코드를 작성하여 개발 프로세스에서 시간과 노력을 절약할 수 있습니다.