? 연산자는 [ Null이 아니라면 참조하고, Null이라면 Null로 처리 ]하라는 뜻이다.
class CClass
{
public List<int> lstNumber = new List<int>();;
};
static void Main(string[] args)
{
CClass newClass = new CClass();
Console.WriteLine(newClass?.lstNumber);
// List 정보가 출력됨.
CClass nullClass = null;
Console.WriteLine(nullClass?.lstNumber);
// 아무것도 출력되지 않음. (null)
}
?? 연산자
?? 연산자는 [ Null이라면 오른쪽 값으로 처리 ]하는 연산자 이다.
Object obj = new Dictionary<int, char>();
Object a = obj ?? new List<int>();
Console.WriteLine(a );
// Dictinary로 출력
Object obj2 = null;
Object b = obj2 ?? new List<int>();
Console.WriteLine(b );
// List로 출력