[C#] 물음표 연산자
[C#] 물음표 연산자
아래와 같은 변수 선언문을 만났다.
public string? Name { get; set; }
이것은 선언된 변수가 Nullable
임을 의미한다.
Nullable
이라는 용어의 의미는 아래 예제를 보면 알 수 있다.
int i1=1; //ok
int i2=null; //not ok
int? i3=1; //ok
int? i4=null; //ok
또한 이렇게 표현해도 된다. 원래 아래와 같이 쓰는 것이 정식이고 물음표가 축약 형태이다.
public Nullable<string> Name { get; set; }
비슷한 친구들
삼항연산자 ?
condition ? consequent : alternative
설명 생략
null-conditional operator ?.
ction<TValue> myAction = null;
if (myAction != null)
{
myAction(TValue);
}
위의 동작을 ?.
를 사용하면 아래와 같이 표기할 수 있다.
myAction?.Invoke(TValue);
null-coalescing operator ??
왼쪽 피연산자의 값이 null이 아닌 경우 그것을 반환한다. 왼쪽 피연산자의 값이 null인 경우 오른쪽 피연산자를 평가하고 반환한다.
null-coalescing assignment operator ??=
Available in C# 8.0 and later, the null-coalescing assignment operator ??=
assigns the value of its right-hand operand to its left-hand operand only if the left-hand operand evaluates to null
. The ??=
operator doesn't evaluate its right-hand operand if the left-hand operand evaluates to non-null.
참고문서
What does question mark and dot operator ?. mean in C# 6.0? - Stack Overflow
?? and ??= operators - C# reference | Microsoft Docs
Member access operators and expressions - C# reference | Microsoft Docs
Author And Source
이 문제에 관하여([C#] 물음표 연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@0008mari/C-물음표-연산자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)