C#의 IsNullOrWhiteSpace() 메서드는 입력된 문자열이 null이거나 공백(whitespace) 문자로만 구성되어 있는지를 검사하는 정적 메서드입니다. 조건에 해당하면 true를, 그렇지 않으면 false를 반환합니다.
기본 동작 원리
예를 들어, null 값을 검사한다고 가정해 보겠습니다.
bool val1 = string.IsNullOrWhiteSpace(null);
위 코드는 문자열이 "null"이므로 True를 반환합니다. 마찬가지 방식으로 공백 문자도 확인할 수 있습니다.
null과 공백을 함께 검사하는 전체 예제
다음은 null 값과 공백 문자를 모두 검사하는 완전한 예제 코드입니다.
예제 코드
using System;
using System.IO;
public class Demo {
public static void Main() {
bool val1 = string.IsNullOrWhiteSpace(null);
bool val2 = string.IsNullOrWhiteSpace(" ");
bool val3 = string.IsNullOrWhiteSpace("5");
Console.WriteLine(val1);
Console.WriteLine(val2);
Console.WriteLine(val3);
}
}실행 결과
True True False
결과 분석
- val1: 인자가
null이므로True가 반환됩니다. - val2: 문자열이 공백 문자(
" ") 하나로만 이루어져 있으므로True가 반환됩니다. - val3: 문자열에 실제 유효한 문자(
"5")가 포함되어 있으므로False가 반환됩니다.
IsNullOrEmpty()와의 차이점
IsNullOrWhiteSpace()는 string.IsNullOrEmpty()와 유사하지만 한 가지 중요한 차이가 있습니다. IsNullOrEmpty()는 빈 문자열("")까지만 검사하는 반면, IsNullOrWhiteSpace()는 탭, 줄바꿈, 스페이스 등 모든 공백 문자로만 구성된 문자열까지 감지합니다. 따라서 사용자 입력값의 유효성을 더 엄격하게 검증해야 하는 경우에 유용합니다.