String.IsNullOrEmpty(String) Methode

Definitie

Geeft aan of de opgegeven tekenreeks of null een lege tekenreeks ("").

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

Parameters

value
String

De tekenreeks die moet worden getest.

Retouren

true als de value parameter is null of een lege tekenreeks (""); anders, false.

Voorbeelden

In het volgende voorbeeld worden drie tekenreeksen onderzocht en wordt bepaald of elke tekenreeks een waarde heeft, een lege tekenreeks is of is 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.

Opmerkingen

IsNullOrEmpty is een handige methode waarmee u tegelijkertijd kunt testen of een Stringnull is of de waarde ervan String.Emptyis. Deze is gelijk aan de volgende 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

U kunt de methode IsNullOrWhiteSpace gebruiken om te testen of een tekenreeks nullis, of de waarde ervan String.Emptyis of dat deze alleen uit spatietekens bestaat.

Wat is een null-tekenreeks?

Een tekenreeks wordt null als er geen waarde is toegewezen (in C++ en Visual Basic) of als deze expliciet een waarde van nullis toegewezen. Hoewel de functie samengestelde opmaak een null-tekenreeks correct kan verwerken, zoals in het volgende voorbeeld wordt weergegeven, wordt geprobeerd er een aan te roepen als de leden een NullReferenceExceptiongenereren.

  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.

Wat is een lege tekenreeks?

Een tekenreeks is leeg als deze expliciet wordt toegewezen aan een lege tekenreeks ("") of String.Empty. Een lege tekenreeks heeft een "Length" van 0. In het volgende voorbeeld wordt een lege tekenreeks gemaakt en worden de waarde en lengte ervan weergegeven.

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.

Van toepassing op

Zie ook