Sdílet prostřednictvím


Metoda System.String.IsNullOrEmpty

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

IsNullOrEmpty je metoda usnadnění, která umožňuje současně testovat, zda String je nebo null je String.Emptyjeho hodnota . Je ekvivalentní k následujícímu kódu:

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

Metodu IsNullOrWhiteSpace můžete použít k otestování, zda je nullřetězec , jeho hodnota je String.Empty, nebo se skládá pouze z prázdných znaků.

Co je řetězec null?

Řetězec je null v případě, že nebyla přiřazena hodnota (v jazyce C++ a Visual Basic), nebo pokud byla explicitně přiřazena hodnota null. Ačkoli složená funkce formátování může elegantně zpracovat řetězec null, jak ukazuje následující příklad, pokus o volání jednoho, pokud jeho členové NullReferenceExceptionvyvolá .

  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.

Co je prázdný řetězec?

Řetězec je prázdný, pokud je explicitně přiřazen prázdný řetězec ("") nebo String.Empty. Prázdný řetězec má Length hodnotu 0. Následující příklad vytvoří prázdný řetězec a zobrazí jeho hodnotu a délku.

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.