System.String.IsNullOrEmpty-Methode

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

IsNullOrEmpty ist eine Komfortmethode, mit der Sie gleichzeitig testen können, ob ein String Wert oder null sein Wert ist String.Empty. Sie entspricht dem folgenden Code:

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

Sie können die IsNullOrWhiteSpace Methode verwenden, um zu testen, ob eine Zeichenfolge null, deren Wert lautet String.Empty, oder sie besteht nur aus Leerzeichen.

Was ist eine NULL-Zeichenfolge?

Eine Zeichenfolge ist null , wenn ihm kein Wert (in C++ und Visual Basic) zugewiesen wurde oder ihm explizit ein Wert zugewiesen nullwurde. Obwohl das zusammengesetzte Formatierungsfeature eine NULL-Zeichenfolge ordnungsgemäß verarbeiten kann, wie im folgenden Beispiel gezeigt, versucht, eine aufzurufen, wenn die Member eine NullReferenceException.

  String s = null;

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

  try 
  {
      Console.WriteLine("String length is {0}", 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 Main()
      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.

Was ist eine leere Zeichenfolge?

Eine Zeichenfolge ist leer, wenn explizit eine leere Zeichenfolge ("") oder String.Emptyeine leere Zeichenfolge zugewiesen wird. Eine leere Zeichenfolge weist einen Length Wert von 0 auf. Im folgenden Beispiel wird eine leere Zeichenfolge erstellt und der wert und die Länge angezeigt.

String s = "";
Console.WriteLine("The length of '{0}' is {1}.", s, 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.