String.IsNullOrEmpty(String) Metodo

Definizione

Indica se la stringa specificata è null o una stringa vuota ("").

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

Parametri

value
String

Stringa da testare.

Valori restituiti

true se il value parametro è null o una stringa vuota (""); in caso contrario, false.

Esempio

Nell'esempio seguente vengono esaminate tre stringhe e viene determinato se ogni stringa ha un valore, è una stringa vuota o è 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.

Commenti

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 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.

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.

Si applica a

Vedi anche