Menu
Coddy logo textTech

Null 검사 패턴

Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨. 66개 중 33번째.

null 검사는 견고한 C# 코드를 작성하는 데 필수적인 부분입니다. null 값을 안전하게 검사하는 데 사용할 수 있는 여러 패턴이 있습니다.

몇 가지 일반적인 null 확인 패턴을 살펴보겠습니다:

먼저 기본적인 if-null 검사를 살펴보겠습니다.

string name = null;

if (name == null)
{
    Console.WriteLine("Name is null");
}

또 다른 일반적인 패턴은 null 조건부 연산자(?.)로, 잠재적으로 null인 객체의 멤버에 안전하게 액세스합니다:

string name = null;
int? length = name?.Length;  // length는 null이 됩니다

null 병합 연산자(??)는 식이 null일 때 기본값을 제공합니다:

string name = null;
string displayName = name ?? "Unknown";  // displayName은 "Unknown"이 됩니다

더 복잡한 시나리오에서는 이러한 패턴을 연결할 수도 있습니다:

string name = null;
int length = (name ?? "").Length;  // length는 0이 됩니다

string.IsNullOrWhiteSpace() 메서드는 문자열이 null이거나 비어 있거나 공백 문자만 포함하는지 한 번에 확인할 수 있는 편리한 방법입니다:

string name = null;

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("Name is null, empty, or whitespace");
}

이는 null, 빈 문자열, 그리고 공백만 포함된 문자열을 같은 방식으로 처리해야 할 때 특히 유용합니다. 예를 들면 다음과 같습니다.

string name1 = null;
string name2 = "";
string name3 = "   ";

// 세 개 모두 메시지를 출력합니다
if (string.IsNullOrWhiteSpace(name1)) Console.WriteLine("name1 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name2)) Console.WriteLine("name2 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name3)) Console.WriteLine("name3 is null/empty/whitespace");

string.IsNullOrWhiteSpace()는 단순한 null 검사와 다르다는 점에 유의하세요. 또한 빈 문자열과 공백, 탭 또는 기타 whitespace 문자만 포함하는 문자열도 감지합니다.

challenge icon

챌린지

쉬움

processUserName이라는 메서드를 만들고 문자열 매개변수 userName을 받도록 하세요. 메서드는 다음을 수행해야 합니다:

  1. userName이 null이면 "No user provided"를 반환합니다.
  2. userName이 비어 있거나 whitespace만 포함하면 "Invalid username"을 반환합니다.
  3. 그렇지 않으면 [userName]이 실제 사용자 이름인 "Welcome, [userName]!"을 반환합니다.

적절한 null 확인 패턴을 사용해야 합니다.

직접 해보기

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // 여기에 코드를 작성하세요
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 및 흐름의 모든 레슨

직접 연습해 보세요: 온라인 C# 컴파일러