# String.IsNullOrEmpty(String) Metoda

## Definicja

Wskazuje, czy określony ciąg jest `null` , czy ciąg pusty ("").

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

#### Parametry

value
String

Ciąg do przetestowania.

#### Zwraca

Boolean

`true``value` jeśli parametr jest `null` lub jest pusty ciąg (""); w przeciwnym razie , `false`.

Poniższy przykład analizuje trzy ciągi i określa, czy każdy ciąg ma wartość, jest pustym ciągiem, czy też jest `null`.

``````using namespace System;
String^ Test( String^ s )
{
if (String::IsNullOrEmpty(s))
return "is null or empty";
else
return String::Format( "(\"{0}\") is neither null nor empty", s );
}

int main()
{
String^ s1 = "abcd";
String^ s2 = "";
String^ s3 = nullptr;
Console::WriteLine( "String s1 {0}.", Test( s1 ) );
Console::WriteLine( "String s2 {0}.", Test( s2 ) );
Console::WriteLine( "String s3 {0}.", 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.
``````
``````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.
``````

## Uwagi

IsNullOrEmptyjest wygodną metodą, która umożliwia jednoczesne testowanie, czy wartość jest `null` String.Emptywartością String . Odpowiada to następującemu kodowi:

``````result = s == nullptr || s == String::Empty;
``````
``````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
``````

Możesz użyć IsNullOrWhiteSpace metody , aby sprawdzić, czy ciąg to `null`, jego wartość to String.Empty, czy składa się tylko z białych znaków.

### Co to jest ciąg o wartości null?

Ciąg jest taki`null`, jeśli nie został przypisany do wartości (w języku C++ i Visual Basic) lub jeśli jawnie przypisano mu wartość `null`. Chociaż funkcja formatowania złożonego może bezpiecznie obsługiwać ciąg o wartości null, jak pokazano w poniższym przykładzie, próba wywołania funkcji , jeśli jej elementy członkowskie zgłaszają wyjątek NullReferenceException.

``````using namespace System;

void main()
{
String^ s;

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.
``````
``````  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 to jest pusty ciąg?

Ciąg jest pusty, jeśli jest jawnie przypisany pusty ciąg ("") lub String.Empty. Pusty ciąg ma wartość Length 0. Poniższy przykład tworzy pusty ciąg i wyświetla jego wartość oraz jego długość.

``````String^ s = "";
Console::WriteLine("The length of '{0}' is {1}.", s, s->Length);
// The example displays the following output:
//       The length of '' is 0.
``````
``````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.
``````