Menu
Coddy logo textTech

Null Checking Patterns

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 will be null

null 병합 연산자(??)는 표현식이 null인 경우 기본값을 제공합니다:

string name = null;
string displayName = name ?? "Unknown";  // displayName will be "Unknown"

이 패턴들을 연결하여 더 복잡한 시나리오를 처리할 수도 있습니다:

string name = null;
int length = (name ?? "").Length;  // length will be 0

string.IsNullOrWhiteSpace() 메서드는 문자열이 null이거나 비어 있거나 공백 문자만 포함하고 있는지 확인합니다. 문자열 입력을 한 번의 호출로 검증하는 편리한 방법입니다:

string name = null;

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("No name provided");  // this will print
}

string blank = "   ";

if (string.IsNullOrWhiteSpace(blank))
{
    Console.WriteLine("Blank name provided");  // this will also print
}

string.IsNullOrWhiteSpace()null, 빈 문자열 및 공백 문자만 포함된 문자열을 동등한 무효 입력으로 처리하고자 할 때 사용하세요.

challenge icon

챌린지

쉬움

processUserName이라는 메서드를 생성하세요. 문자열 매개변수 userName을 받습니다. 이 메서드는 다음을 수행해야 합니다:

  1. userName이 null인 경우 "No user provided"를 반환하세요
  2. userName이 비어 있거나 공백만 있는 경우 "Invalid username"를 반환하세요
  3. 그렇지 않으면 "Welcome, [userName]!"를 반환하세요. 여기서 [userName]은 실제 사용자 이름입니다

적절한 null 체크 패턴을 사용하세요.

치트 시트

기본 null 확인을 위해 == null을 사용하세요:

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

멤버에 안전하게 액세스하기 위해 null-조건부 연산자 ?.를 사용하세요:

int? length = name?.Length;  // length will be null if name is null

기본값을 제공하기 위해 null 병합 연산자 ??를 사용하세요:

string displayName = name ?? "Unknown";

null, 빈 문자열 또는 공백만 있는 문자열을 확인하기 위해 string.IsNullOrWhiteSpace()를 사용하세요:

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

복잡한 시나리오를 위해 연산자를 체이닝하세요:

int length = (name ?? "").Length;  // length will be 0 if name is null

직접 해보기

using System;

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

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

논리 및 흐름의 모든 레슨