본문 바로가기
C#

C# 문자열(string) Null과 Empty 체크 비교

by 코딩이라구 2022. 12. 6.

C#에서 string 변수를 사용하면서 Null 값과 Empty 값을 비교하는 방법에 대하여 작성해보려고 합니다. 비교 함수인 string 클래스의 IsNullOrEmpty와 IsNullOrWhiteSpace 함수의 사용법과 두 함수의 차이점에 대하여 알아보도록 하겠습니다.


C# 문자열 String 타입 Null, Empty 체크 비교

 

String.IsNullOrEmpty 메서드

이 메서드는 String 값이 Null이거나 빈 값(길이=Length가 0)인 경우를 체크하는 함수입니다.

  1. Null 또는 빈 값일 경우에는 True값을 반환
  2. 그 외 문자 값이 있을 경우 False값을 반환
string str = "";

// Null or Empty 비교 (IsNullOrEmpty 메서드)
String.IsNullOrEmpty(null);
String.IsNullOrEmpty("");
String.IsNullOrEmpty("  ");
String.IsNullOrEmpty("문자");
String.IsNullOrEmpty(str);

// 결과값
True (Null)
True (Empty)
False (Space가 존재)
False ("문자" 문자열이 존재)
True (Empty)

 

String.IsNullOrWhiteSpace 메서드

이 메서드는 위(String.IsNullOrEmpty) 메서드와 동일한 기능을 가지며, 추가로 공백 문자로만 이루어진 문자열의 값을 체크하는 함수입니다.

  • WhiteSpace란
    1. " " (Space로만 이루어진 문자열)
    2. /r/n/t 등 (개행 문자와 같은 이스케이프 시퀀스(escape sequence) 문자)
      (이스케이프 시퀀스(escape sequence)란 프로그램의 결과가 화면에 출력될 때, 사용하게 될 특수한 문자를 위해 만들어졌습니다.)
string str = "\n";

// Null or Empty 비교 (IsNullOrWhiteSpace 메서드)
String.IsNullOrWhiteSpace(null);
String.IsNullOrWhiteSpace("");
String.IsNullOrWhiteSpace(" ");
String.IsNullOrWhiteSpace("문자");
String.IsNullOrWhiteSpace(str);

// 결과
True (Null)
True (Empty)
Ture (WhiteSpace = 공백)
False ("문자" 문자열 존재)
True (WhiteSpace = 개행문자)

 

이상으로 C#에서 문자열(string) Null or Empty를 비교, 체크하는 방법에 대하여 알아보았습니다.

댓글