IsNullOrEmpty
IsNullOrEmpty 메서드는 문자열이 null 또는 빈 문자열("")인 경우 true를 반환하며, 그렇지 않으면 false를 반환한다.
Console.WriteLine("String.IsNullOrEmpty(\"\"): " + String.IsNullOrEmpty(""));
Console.WriteLine("String.IsNullOrEmpty(null):" + String.IsNullOrEmpty(null));
Console.WriteLine("String.IsNullOrEmpty(String.Empty):" + String.IsNullOrEmpty(String.Empty));
Console.WriteLine("String.IsNullOrEmpty(\" \"): " + String.IsNullOrEmpty(" "));
IsNullOrEmpty 메서드는 아래 코드와 동일하게 동작한다.
return str == null || str == String.Empty;
성능상 큰 차이는 없지만, IsNullOrEmpty 메서드를 사용하는 코드가 심플하다는 장점이 있다.
IsNullOrWhiteSpace
문자열이 null, 빈 문자열(""), 공백문자로 구성되어 있으면, true를 그렇지 않으면, false를 반환한다.
공백문자에는 이스케이프 공백 문자도 포함된다.
Console.WriteLine("String.IsNullOrWhiteSpace(\"\"): " + String.IsNullOrWhiteSpace(""));
Console.WriteLine("String.IsNullOrWhiteSpace(null):" + String.IsNullOrWhiteSpace(null));
Console.WriteLine("String.IsNullOrWhiteSpace(String.Empty):" + String.IsNullOrWhiteSpace(String.Empty));
Console.WriteLine("String.IsNullOrWhiteSpace(\" \"): " + String.IsNullOrWhiteSpace(" "));
Console.WriteLine("String.IsNullOrWhiteSpace(\\n): " + String.IsNullOrWhiteSpace("\n"));
IsNullOrWhiteSpace 메서드는 아래 코드와 동일하게 동작한다.
return String.IsNullOrEmpty(str) || str.Trim().Length == 0;
IsNullOrWhiteSpace 메서드는 하드코딩을 하는 방식보다 성능이 우수하며, 코드가 심플하다는 장점이 있다.