Nullable<T>.Equals(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の Nullable<T> オブジェクトが指定したオブジェクトと等しいかどうかを示します。
public:
override bool Equals(System::Object ^ other);
public override bool Equals(object other);
public override bool Equals(object? other);
override this.Equals : obj -> bool
Public Overrides Function Equals (other As Object) As Boolean
パラメーター
- other
- Object
オブジェクト
返品
true
other パラメーターが現在のNullable<T> オブジェクトと等しい場合は 。それ以外の場合はfalse。
次の表は、比較された値に対して等値がどのように定義されるかを示しています。
| 戻り値 | 説明 |
|---|---|
true |
HasValue プロパティがfalseされ、other パラメーターがnull (つまり、2 つの null 値が定義で等しい)、または HasValue プロパティがtrueされ、Value プロパティによって返される値が other パラメーターと等しくなります。
|
false | 現在のNullable<T>構造体のHasValueプロパティがtrueされ、other パラメーターがnull、または現在のNullable<T>構造体のHasValueプロパティがfalseされ、other パラメーターがnullされていないか、現在のNullable<T>構造体のHasValueプロパティがtrueされ、Value プロパティによって返される値がotherパラメーターと等しくありません。
|
例
次のコード例では、オブジェクトと Nullable<T> オブジェクトが現在の Nullable<T> オブジェクトと等しいかどうかを判断します。
// This code example demonstrates the Nullable<T>.Equals
// methods.
using System;
class Sample
{
public static void Main()
{
int? nullInt1 = 100;
int? nullInt2 = 200;
object myObj;
// Determine if two nullable of System.Int32 values are equal.
// The nullable objects have different values.
Console.Write("1) nullInt1 and nullInt2 ");
if (nullInt1.Equals(nullInt2))
Console.Write("are");
else
Console.Write("are not");
Console.WriteLine(" equal.");
// Determine if a nullable of System.Int32 and an object
// are equal. The object contains the boxed value of the
// nullable object.
myObj = (object)nullInt1;
Console.Write("2) nullInt1 and myObj ");
if (nullInt1.Equals(myObj))
Console.Write("are");
else
Console.Write("are not");
Console.WriteLine(" equal.");
}
}
/*
This code example produces the following results:
1) nullInt1 and nullInt2 are not equal.
2) nullInt1 and myObj are equal.
*/
// This code example demonstrates the Nullable<T>.Equals
// methods.
open System
let nullInt1 = Nullable 100
let nullInt2 = Nullable 200
// Determine if two nullable of System.Int32 values are equal.
// The nullable objects have different values.
printf "1) nullInt1 and nullInt2 "
if nullInt1.Equals nullInt1 then
printf "are"
else
printf "are not"
printfn " equal."
// Determine if a nullable of System.Int32 and an object
// are equal. The object contains the boxed value of the
// nullable object.
let myObj = box nullInt1
printf "2) nullInt1 and myObj "
if nullInt1.Equals myObj then
printf "are"
else
printf "are not"
printfn " equal."
// This code example produces the following results:
// 1) nullInt1 and nullInt2 are not equal.
// 2) nullInt1 and myObj are equal.
' This code example demonstrates the Nullable(Of T).Equals
' methods.
Class Sample
Public Shared Sub Main()
Dim nullInt1 As Nullable(Of Integer) = 100
Dim nullInt2 As Nullable(Of Integer) = 200
Dim myObj As Object
' Determine if two nullable of System.Int32 values are equal.
' The nullable objects have different values.
Console.Write("1) nullInt1 and nullInt2 ")
If nullInt1.Equals(nullInt2) Then
Console.Write("are")
Else
Console.Write("are not")
End If
Console.WriteLine(" equal.")
' Determine if a nullable of System.Int32 and an object
' are equal. The object contains the boxed value of the
' nullable object.
myObj = CType(nullInt1, Object)
Console.Write("2) nullInt1 and myObj ")
If nullInt1.Equals(myObj) Then
Console.Write("are")
Else
Console.Write("are not")
End If
Console.WriteLine(" equal.")
End Sub
End Class
'
'This code example produces the following results:
'
'1) nullInt1 and nullInt2 are not equal.
'2) nullInt1 and myObj are equal.
'
注釈
現在のNullable<T>構造体のHasValueプロパティがtrueされ、other引数がnullされていない場合は、現在のNullable<T>構造体の基になる値のEquals メソッドにotherパラメーターを渡すことによって等価性が決定されます。