?. 연산자


null이 아니라면 반환, null이라면 null로 처리

string A = "TEST";
string B = null;

Console.WriteLine($"A:{?.A}");
Console.WriteLine($"B:{?.B}");

// Result
// A:TEST
// B:

?? 연산자


A ?? B

A가 null이 아니라면 그 값을 그대로 반환하고 null이라면 B를 반환한다.

string txt = null;

// 기존 방식
if(txt == null)
{
	Console.WriteLine("null");
}
else
{
	Console.WriteLine(txt);
}

// ?? 방식
Console.WriteLine(txt ?? "null");
txt = txt ?? new ABC();