Condividi tramite


Metodo System.String.IsNullOrEmpty

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

IsNullOrEmpty è un metodo pratico che consente di verificare contemporaneamente se un String oggetto è null o il relativo valore è String.Empty. Equivale al codice seguente:

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

È possibile usare il IsNullOrWhiteSpace metodo per verificare se una stringa è null, il relativo valore è String.Emptyo è costituito solo da spazi vuoti.

Che cos'è una stringa Null?

Una stringa è null se non è stato assegnato un valore (in C++ e Visual Basic) o se è stato assegnato in modo esplicito un valore di null. Anche se la funzionalità di formattazione composita può gestire correttamente una stringa nulla, come illustrato nell'esempio seguente, tentare di chiamare uno dei suoi membri genera un'eccezione 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 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.

Che cos'è una stringa vuota?

Una stringa è vuota se viene assegnata in modo esplicito a una stringa vuota ("") o String.Empty. Una stringa vuota ha un Length valore pari a 0. Nell'esempio seguente viene creata una stringa vuota e viene visualizzato il relativo valore e la relativa lunghezza.

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.