IEqualityComparer.Equalsとは? わかりやすく解説

IEqualityComparer.Equals メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

指定したオブジェクト等しかどうか判断します

名前空間: System.Collections.Generic
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Function Equals ( _
    x As T, _
    y As T _
) As Boolean
Dim instance As IEqualityComparer(Of
 T)
Dim x As T
Dim y As T
Dim returnValue As Boolean

returnValue = instance.Equals(x, y)
function Equals (
    x : T, 
    y : T
) : boolean

パラメータ

x

比較対象T 型の第 1 オブジェクト

y

比較対象T 型の第 2 オブジェクト

戻り値
指定したオブジェクト等し場合trueそれ以外場合false

解説解説

T 型が等しかどうか比較方法カスタマイズするには、このメソッド実装ます。

実装時の注意 Equals メソッドxy2 つオブジェクトに対して true返す場合には、必ず、GetHashCode メソッドから返される x の値と y の値が等しくなるように実装する必要がありますEquals メソッドは、再帰的対称的、かつ推移的です。つまり、オブジェクトとそのオブジェクト自体比較使用した場合true返されます。y xtrue になる場合は、xy2 つオブジェクトに対して true返されます。x ytrue になり、y ztrue になる場合は、xz2 つオブジェクトに対して true返されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IEqualityComparer ジェネリック インターフェイス
IEqualityComparer メンバ
System.Collections.Generic 名前空間

IEqualityComparer.Equals メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

指定したオブジェクト等しかどうか判断します

名前空間: System.Collections
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentException

xy の型が異なっていて、両者比較できません。

解説解説

複数オブジェクト等しかどうか比較方法カスタマイズするには、このメソッド実装ます。

実装時の注意 Equals メソッドは、再帰的対称的、かつ推移的です。つまり、オブジェクトとそのオブジェクト自体比較使用した場合true返されます。y xtrue になる場合は、xy2 つオブジェクトに対して true返されます。x ytrue になり、y ztrue になる場合は、xz2 つオブジェクトに対して true返されます。 Equals メソッドxy2 つオブジェクトに対して true返す場合には、必ず、GetHashCode メソッドから返される x の値と y の値が等しくなるように実装する必要があります

使用例使用例

大文字と小文字区別しない IEqualityComparer の実装方法次のコード例示します。この例では、指定された CultureInfo に基づき、CaseInsensitiveComparer.Compare メソッド使用して2 つオブジェクト等しかどうか判断してます。

Public Class myCultureComparer
    Implements IEqualityComparer

    Dim myComparer As CaseInsensitiveComparer

    Public Sub New()
        myComparer = CaseInsensitiveComparer.DefaultInvariant
    End Sub

    Public Sub New(ByVal
 myCulture As CultureInfo)
        myComparer = New CaseInsensitiveComparer(myCulture)
    End Sub

    Public Function Equals1(ByVal
 x As Object, ByVal y As
 Object) _
        As Boolean Implements
 IEqualityComparer.Equals

        If (myComparer.Compare(x, y) = 0) Then
            Return True
        Else
            Return False
        End If
    End Function

    Public Function GetHashCode1(ByVal
 obj As Object) _
        As Integer Implements
 IEqualityComparer.GetHashCode
        Return obj.ToString().ToLower().GetHashCode()
    End Function
End Class
class myCultureComparer : IEqualityComparer
{
    public CaseInsensitiveComparer myComparer;

    public myCultureComparer()
    {
        myComparer = CaseInsensitiveComparer.DefaultInvariant;
    }

    public myCultureComparer(CultureInfo myCulture)
    {
        myComparer = new CaseInsensitiveComparer(myCulture);
    }

    public new bool Equals(object
 x, object y)
    {
        if (myComparer.Compare(x, y) == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public int GetHashCode(object obj)
    {
        return obj.ToString().ToLower().GetHashCode();
    }
}
ref class myCultureComparer : IEqualityComparer
{
private:
    CaseInsensitiveComparer^ myComparer;

public:
    myCultureComparer()
    {
        myComparer = CaseInsensitiveComparer::DefaultInvariant;
    }

    myCultureComparer(CultureInfo^ myCulture)
    {
        myComparer = gcnew CaseInsensitiveComparer(myCulture);
    }

    virtual bool Equals(Object^ x, Object^ y) 
    {
        if (myComparer->Compare(x, y) == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    virtual int GetHashCode(Object^ obj)
    {
        return obj->ToString()->ToLower()->GetHashCode();
    }
};
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IEqualityComparer.Equals」の関連用語

IEqualityComparer.Equalsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IEqualityComparer.Equalsのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS