C# string.IsNullOrWhiteSpace Method



우선 .NET 3.5 버전에 추가되었는지 아니면 그 전에 추가된 것 인지는 모르지만 String 타입에 IsNullOrEmpty 라는 정적 메소드가 있다. 위 블로그에 가보니까 IsNullOrWhiteSpace 정적 메소드가 있길래 "아!! 저런게 있었구나!!" 했다.
But, 읽어보니 .NET 4.0 에서 추가된 확장 메소드 같다. 아닌가?! Visual Studio 2010 나올 때 .NET 4.0 도 나온다던데 그 때 확인해 봐야겠다.


.NET 4.0 에서 IsNullOrWhiteSpace 의 구현 예상(?) 코드

public static bool IsNullOrWhiteSpace(string value)
{
    if (value != null)
    {
        for (int i = 0; i < value.Length; i++)
        {
            if (!char.IsWhiteSpace(value[i]))
            {
                return false;
            }
        }
    }
    return true;
}


사용 예

using System;

class Program
{
    static void Main()
    {
        bool a = string.IsNullOrWhiteSpace("   ");
        bool b = string.IsNullOrWhiteSpace("\n");
        bool c = string.IsNullOrWhiteSpace("\r\n\v ");
        bool d = string.IsNullOrWhiteSpace(null);
        bool e = string.IsNullOrWhiteSpace("");
        bool f = string.IsNullOrWhiteSpace(string.Empty);
        bool g = string.IsNullOrWhiteSpace("dotnetperls");
        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
        Console.WriteLine(d);
        Console.WriteLine(e);
        Console.WriteLine(f);
        Console.WriteLine(g);
    }
}


출력 결과

True
True
True
True
True
True
False


WhiteSpace 문자는 다음과 같다.
1. "   "
2. ""
3. "\r\n\v\t" 와 같은 문자


String.IsNullOrEmpty
 

.NET Framework 3.5 String.IsNullOrEmpty 메소드의 사용 예 

bool result;

result = string.IsNullOrEmpty(null);        // true

result = string.IsNullOrEmpty("");          // true

result = string.IsNullOrEmpty(" ");         // false

result = string.IsNullOrEmpty("Test");      // false



String.IsNullOrWhiteSpace

.NET Framework 4.0 에 포함된 String.IsNullOrWhiteSpace

bool result;

result = string.IsNullOrWhiteSpace(null);   // true

result = string.IsNullOrWhiteSpace("");     // true

result = string.IsNullOrWhiteSpace(" ");    // true

result = string.IsNullOrWhiteSpace("\t");   // true

result = string.IsNullOrWhiteSpace("Test"); // false




참조
C# string.IsNullOrWhiteSpace Method 
- String.IsNullOrWhiteSpace
 
Posted by six605
,