Nullable<T>.Equals(Object) Nullable<T>.Equals(Object) Nullable<T>.Equals(Object) Nullable<T>.Equals(Object) Method

Определение

Указывает, равен ли текущий объект Nullable<T> указанному объекту.Indicates whether the current Nullable<T> object is equal to a specified object.

public:
 override bool Equals(System::Object ^ other);
public override bool Equals (object other);
override this.Equals : obj -> bool
Public Overrides Function Equals (other As Object) As Boolean

Параметры

other
Object Object Object Object

Объект.An object.

Возвраты

true, если значение параметра other равно текущему объекту Nullable<T>, в противном случае — false.true if the other parameter is equal to the current Nullable<T> object; otherwise, false.

В следующей таблице указано, как определяется равенство сравниваемых значений.This table describes how equality is defined for the compared values:

Возвращаемое значениеReturn Value ОписаниеDescription
true Свойство HasValue имеет значение false, а other параметр имеет значение null.The HasValue property is false, and the other parameter is null. То есть, два значения null равны по определению.That is, two null values are equal by definition.

-или--or- Свойство HasValue имеет значение true, а значение, возвращаемое свойством Value, равно значению параметра other.The HasValue property is true, and the value returned by the Value property is equal to the other parameter.

false Свойство HasValue текущей структуры Nullable<T> имеет значение true, а параметр other имеет значение null.The HasValue property for the current Nullable<T> structure is true, and the other parameter is null.

-или--or- Свойство HasValue текущей структуры Nullable<T> имеет значение false, а значением параметра other не является null.The HasValue property for the current Nullable<T> structure is false, and the other parameter is not null.

-или--or- Свойство HasValue текущей структуры Nullable<T> имеет значение true, а значение, возвращаемое свойством Value, не равно значению параметра other.The HasValue property for the current Nullable<T> structure is true, and the value returned by the Value property is not equal to the other parameter.

Примеры

В следующем примере кода определяет, действительно ли объект и Nullable<T> объект равен текущему объекту Nullable<T> объекта.The following code example determines whether an object and a Nullable<T> object are equal to the current Nullable<T> object.

// 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(Of T).Equals 
' methods.

Imports System

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 'Main 
End Class 'Sample

'
'This code example produces the following results:
'
'1) nullInt1 and nullInt2 are not equal.
'2) nullInt1 and myObj are equal.
'

Комментарии

Если HasValue текущего элемента Nullable<T> структура true и other аргумент не является null, равенство определяется путем передачи other параметр Equals метод Базовое значение текущего Nullable<T> структуры.If the HasValue property of the current Nullable<T> structure is true and the other argument is not null, equality is determined by passing the other parameter to the Equals method of the underlying value of the current Nullable<T> structure.

Применяется к