[c#] C# 코드 리뷰 시 널 처리 방법

1. 널 조건부 연산자(?)

C# 6.0부터 도입된 널 조건부 연산자를 사용하면 객체가 null이 아닌 경우에만 멤버에 접근할 수 있습니다. 이것은 null 체크와 멤버 접근을 한 번에 처리할 수 있는 간편한 방법입니다.

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

Person person = GetPerson();
int nameLength = person?.Name?.Length ?? 0;

위의 예제에서 ?. 연산자는 personName이 null이 아닌 경우에만 접근하고 그렇지 않을 경우에는 null을 반환합니다.

2. 널 병합 연산자(??)

널 병합 연산자를 사용하면 피연산자 중 하나가 null이 아닌 경우에는 그 값을 반환하고, 둘 다 null인 경우에는 기본값을 반환합니다.

string name = person?.Name ?? "Unknown";

위의 예제에서 ?? 연산자는 person?.Name이 null이 아닌 경우에는 그 값을 반환하고, null일 경우에는 “Unknown”을 반환합니다.

3. 널 조건부 대입 연산자(??=)

C# 8.0부터 도입된 널 조건부 대입 연산자를 사용하면 변수가 null인 경우에만 새로운 값을 대입할 수 있습니다.

string name = null;
name ??= "Unknown";

위의 예제에서 name ??= 연산자는 name이 null인 경우에만 “Unknown”을 대입합니다.

널 처리는 예기치 않은 오류를 방지하고 코드의 안정성을 높이는데 중요한 역할을 합니다. C#에서는 널 조건부 연산자, 널 병합 연산자, 널 조건부 대입 연산자 등 다양한 방법을 제공하여 깔끔하고 안전한 코드를 작성할 수 있습니다. 이러한 널 처리 방법들을 활용하여 안정적이고 유연한 코드를 작성할 수 있도록 노력해야 합니다.