String.IsNullOrEmpty(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された文字列が 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
テストする文字列。
戻り値
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.
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.
注釈
IsNullOrEmptyは便利なメソッドであり、is またはその値String.Emptyが かどうかをStringnull
同時にテストできます。 これは、次のコードと同じです。
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
このメソッドを IsNullOrWhiteSpace 使用して、文字列が null
文字列であるか、その値が String.Empty空白文字のみで構成されているかをテストできます。
null 文字列とは
文字列は、null
値が割り当てられていない場合 (C++ と Visual Basic) か、明示的に値null
が割り当てられている場合です。 複合書式設定機能は null 文字列を適切に処理できますが、次の例に示すように、メンバー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.
空の文字列とは
文字列が明示的に空の文字列 ("") または 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.
let s = ""
printfn "The length of '%s' is %d." s s.Length
// The example displays the following output:
// The length of '' is 0.