프로그래밍/C#

[C#] ? 와 ?? 연산자

Victory_HA 2022. 6. 22. 14:28

? 연산자

  • ? 연산자는 [ 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로 출력