티스토리 뷰

홈페이지/C# 윈폼 & DevExpress

C# ?? / ?. 차이

사과같은 내 얼굴 2022. 7. 31. 01:33

C#에서는 null체크 및 연산을 쉽게 할 수 있는 방법을 제공한다.


??

- ??는 null집합연산자
- a??b일때 a가 null이면 b를 출력, a가 null이 아닐때 a를 출력한다.
string s1 = "apple";
string s2 = "pear";
string s3 = null;

string sResult = null;

sResult1 = s2 ?? s1; //s2가 null이 아니기 때문에 s2가 노출
Console.WriteLine(sResult1);

sResult2 = s3 ?? s1; //s3가 null이기 때문에 s1인 노출
Console.WriteLine(sResult2);


?.

- 피연산자가 null인지 확인하고 참이면 null, 거짓이면 피연산자 값을 출력
string a = null;
string b = "";
string sResult1 = null;
string sResult2 = null;

//a가 null로 설정됨 -> 결과 : "a가 null값이여서 대신 출력" 노출
sResult1 = a?.ToString();
sResult1 = a ?? "a가 null값이여서 대신 출력";
Console.WriteLine(sResult1);

//b가 ""로 설정됨 -> 결과 : 공백 노출
sResult2 = b?.ToString();
sResult2 = b ?? "b가 null값이여서 대신 출력";
Console.WriteLine(sResult1);

[gif]

'홈페이지 > C# 윈폼 & DevExpress' 카테고리의 다른 글

C# 윈폼 comboBox 데이터 바인딩(DataTable)  (0) 2022.08.20
row 2줄  (0) 2021.11.09
C# 표안에 이미지 넣기  (0) 2021.11.01
C# 윈폼 comboBox 데이터 바인딩  (0) 2021.11.01
댓글