String.IsNullOrEmpty(String) 메서드

정의

지정된 문자열이 빈 문자열 null ("")인지 여부를 나타냅니다.

public:
 static bool IsNullOrEmpty(System::String ^ value);
public static bool IsNullOrEmpty(string value);
public static bool IsNullOrEmpty(string? value);
static member IsNullOrEmpty : string -> bool
Public Shared Function IsNullOrEmpty (value As String) As Boolean

매개 변수

value
String

테스트할 문자열입니다.

반품

true매개 변수가 value 또는 빈 문자열("")이면 입니다null. 그렇지 않으면 . false

예제

다음 예제에서는 세 개의 문자열을 검사하고 각 문자열에 값이 있는지, 빈 문자열인지 또는 null있는지 확인합니다.

string s1 = "abcd";
string s2 = "";
string s3 = null;

Console.WriteLine("String s1 {0}.", Test(s1));
Console.WriteLine("String s2 {0}.", Test(s2));
Console.WriteLine("String s3 {0}.", Test(s3));

String Test(string s)
{
if (String.IsNullOrEmpty(s))
    return "is null or empty";
else
    return String.Format("(\"{0}\") is neither null nor empty", s);
}

// The example displays the following output:
//       String s1 ("abcd") is neither null nor empty.
//       String s2 is null or empty.
//       String s3 is null or empty.
Class Sample
   Public Shared Sub Main()
      Dim s1 As String = "abcd"
      Dim s2 As String = ""
      Dim s3 As String = Nothing
      
      Console.WriteLine("String s1 {0}.", Test(s1))
      Console.WriteLine("String s2 {0}.", Test(s2))
      Console.WriteLine("String s3 {0}.", Test(s3))
   End Sub
   
   Public Shared Function Test(s As String) As String
      If String.IsNullOrEmpty(s) Then
         Return "is null or empty"
      Else
         Return String.Format("(""{0}"") is neither null nor empty", s)
      End If
   End Function 
End Class  
' The example displays the following output:
'       String s1 ("abcd") is neither null nor empty.
'       String s2 is null or empty.
'       String s3 is null or empty.
let test (s: string): string =
    if String.IsNullOrEmpty(s)
    then "is null or empty"
    else $"(\"{s}\") is neither null nor empty"

let s1 = "abcd"
let s2 = ""
let s3 = null

printfn "String s1 %s" (test s1)
printfn "String s2 %s" (test s2)
printfn "String s2 %s" (test s3)

// The example displays the following output:
//       String s1 ("abcd") is neither null nor empty.
//       String s2 is null or empty.
//       String s3 is null or empty.

설명

IsNullOrEmptyStringnull인지 아니면 그 값이 String.Empty인지 동시에 테스트할 수 있는 편리한 메서드입니다. 다음 코드와 동일합니다.

bool TestForNullOrEmpty(string s)
{
    bool result;
    result = s == null || s == string.Empty;
    return result;
}

string s1 = null;
string s2 = "";
Console.WriteLine(TestForNullOrEmpty(s1));
Console.WriteLine(TestForNullOrEmpty(s2));

// The example displays the following output:
//    True
//    True
result = s Is Nothing OrElse s = String.Empty
let testForNullOrEmpty (s: string): bool =
    s = null || s = String.Empty

let s1 = null
let s2 = ""

printfn "%b" (testForNullOrEmpty s1)
printfn "%b" (testForNullOrEmpty s2)

// The example displays the following output:
//    true
//    true

메서드를 IsNullOrWhiteSpace 사용하여 문자열 null이 있는지, 문자열 값 String.Empty인지 또는 공백 문자로만 구성되어 있는지 테스트할 수 있습니다.

null 문자열이란?

문자열은 C++ 또는 Visual Basic에서 값이 할당되지 않았거나 명시적으로 null 값이 할당된 경우 null입니다. 복합 서식 지정 기능은 다음 예제와 같이 null 문자열을 정상적으로 처리할 수 있지만, 그 멤버 중 하나를 호출하려고 할 때 NullReferenceException이 발생합니다.

  String s = null;

  Console.WriteLine($"The value of the string is '{s}'");

  try 
  {
      Console.WriteLine($"String length is {s.Length}");
  }
  catch (NullReferenceException e) 
  {
      Console.WriteLine(e.Message);
  }

  // The example displays the following output:
  //     The value of the string is ''
  //     Object reference not set to an instance of an object.
Module Example
    Public Sub Main3()
        Dim s As String

        Console.WriteLine("The value of the string is '{0}'", s)

        Try
            Console.WriteLine("String length is {0}", s.Length)
        Catch e As NullReferenceException
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Module
' The example displays the following output:
'     The value of the string is ''
'     Object reference not set to an instance of an object.
let (s: string) = null

printfn "The value of the string is '%s'" s

try
    printfn "String length is %d" s.Length
with
    | :? NullReferenceException as ex -> printfn "%s" ex.Message

// The example displays the following output:
//     The value of the string is ''
//     Object reference not set to an instance of an object.

빈 문자열이란?

문자열이 빈 문자열("") 또는 String.Empty.을 명시적으로 할당한 경우 비어 있습니다. 빈 문자열의 값은 0입니다 Length . 다음 예제에서는 빈 문자열을 만들고 해당 값과 길이를 표시합니다.

String s = "";
Console.WriteLine($"The length of '{s}' is {s.Length}.");

// The example displays the following output:
//       The length of '' is 0.
Dim s As String = ""
Console.WriteLine("The length of '{0}' is {1}.", s, s.Length)
' The example displays the following output:
'        The length of '' is 0.
let s = ""
printfn "The length of '%s' is %d." s s.Length

// The example displays the following output:
//       The length of '' is 0.

적용 대상

추가 정보