본문 바로가기

워크/C# 6,0

Null-conditional Operators (null 조건 연산자)

C# 6.0에서 도입된 null 조건 연산자 (?. 및 ?[])는 객체 또는 컬렉션이 null이 아닌 경우에만 멤버나 인덱서에 액세스하려는 경우에 유용합니다. 이 연산자를 사용하면, 객체가 null인지 아닌지에 대한 별도의 검사 없이 안전하게 멤버나 인덱서에 액세스할 수 있습니다.

 

다음은 null 조건 연산자를 사용한 예시 C# 코드입니다:

using System;
using System.Collections.Generic;

public class Student
{
    public string Name { get; set; }
}

class Program
{
    static void Main()
    {
        Student student = null;

        // null 조건 연산자를 사용하여 Name 속성에 안전하게 액세스
        var name = student?.Name;

        if (name == null)
        {
            Console.WriteLine("The student's name is null.");
            // 출력: The student's name is null.
        }

        // List에도 null 조건 연산자와 함께 인덱서 사용
        List<int> numbers = null;
        int? firstNumber = numbers?[0];

        if (firstNumber == null)
        {
            Console.WriteLine("The list is null or empty.");
            // 출력: The list is null or empty.
        }
    }
}

이 예제에서는 학생 객체(student)와 숫자 목록(numbers)이 모두 null입니다. null 조건 연산자를 사용하여 이들의 멤버 및 인덱서에 안전하게 액세스했습니다. 결과적으로 각각의 값을 체크할 때 null이 반환되었으며, 추가적인 null 검사를 통해 적절한 메시지를 출력했습니다.