다음을 통해 공유


Nullable<T>.Equals(Object) 메서드

정의

현재 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

개체입니다.

반환

Boolean

other 매개 변수가 현재 Nullable<T> 개체와 같으면 true이고, 그렇지 않으면 false입니다.

이 표에서는 비교되는 값들의 동일성이 정의되는 방식을 설명합니다.

반환 값 설명
true HasValue 속성은 false, other 매개 변수는 null이거나(즉, 정의에 따라 두 개의 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.
'

설명

HasValue 현재 구조체의 속성이 true 인수 other 가 아닌 null경우 매개 변수 Equals 를 현재 Nullable<T> Nullable<T> 구조체의 기본 값 메서드에 전달 other 하여 같음이 결정됩니다.

적용 대상