String.IsNullOrEmpty(String) 方法

定义

指示指定的字符串是 null 还是空字符串 ("")。Indicates whether the specified string is null or an empty string ("").

public:
 static bool IsNullOrEmpty(System::String ^ value);
public static bool IsNullOrEmpty (string value);
static member IsNullOrEmpty : string -> bool
Public Shared Function IsNullOrEmpty (value As String) As Boolean

参数

value
String

要测试的字符串。The string to test.

返回

如果 true 参数为 value 或空字符串 (""),则为 null;否则为 falsetrue if the value parameter is null or an empty string (""); otherwise, false.

示例

下面的示例检查三个字符串,确定每个字符串是否有值、是否为空字符串或是否 nullThe following example examines three strings and determines whether each string has a value, is an empty string, or is 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.

注解

IsNullOrEmpty 是一种简便方法,使您能够同时测试 String 是否 null 或其值是否 String.EmptyIsNullOrEmpty is a convenience method that enables you to simultaneously test whether a String is null or its value is String.Empty. 它等效于以下代码:It is equivalent to the following code:

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

您可以使用 IsNullOrWhiteSpace 方法来测试是否 null字符串、是否 String.Empty其值,或者它是否仅包含空白字符。You can use the IsNullOrWhiteSpace method to test whether a string is null, its value is String.Empty, or it consists only of white-space characters.

什么是空字符串?What is a null string?

如果未为其分配值(在和 Visual Basic 中C++ ),或者如果已显式为其分配了值 null,则 null 字符串。A string is null if it has not been assigned a value (in C++ and Visual Basic) or if it has explicitly been assigned a value of null. 尽管复合格式设置功能可以适当地处理空字符串(如下面的示例所示),但如果其成员引发 NullReferenceException,则尝试调用它。Although the composite formatting feature can gracefully handle a null string, as the following example shows, attempting to call one if its members throws a 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.

什么是空字符串?What is an empty string?

如果字符串显式分配了空字符串("")或 String.Empty,则该字符串为空。A string is empty if it is explicitly assigned an empty string ("") or String.Empty. 空字符串的 Length 为0。An empty string has a Length of 0. 下面的示例创建一个空字符串并显示其值和它的长度。The following example creates an empty string and displays its value and its length.

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.      

适用于

另请参阅