String.IsNullOrEmpty(String) メソッド

定義

指定された文字列が null または空の文字列 ("") であるかどうかを示します。

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

パラメーター

value
String

テストする文字列。

戻り値

Boolean

value パラメーターが null または空の文字列 ("") の場合は true。それ以外の場合は false

次の例では、3つの文字列を調べて、各文字列に値、空の文字列、またはがあるかどうかを確認し 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.Empty 。 これは、次のコードと同じです。

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 または空白文字のみで構成されているかをテストできます。

Null 文字列とは何ですか。

null値が割り当てられていない (C++ および Visual Basic の場合) か、明示的に値が割り当てられている場合は、文字列です null 。 次の例に示すように、 複合書式指定 機能は null 文字列を適切に処理できますが、メンバーがをスローした場合に1を呼び出そうとすると、その文字列が呼び出され 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.

空の文字列とは何ですか。

空の文字列 ("") またはが明示的に割り当てられている場合、文字列は空になり String.Empty ます。 空の文字列のの値は Length 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.
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.

適用対象

こちらもご覧ください