オーバーライドして、値の等価性を提供します。C#一部の言語では、演算子のオーバーロードがサポートされています。メソッドもオーバーライドする必要があります。メソッドを記述します。値型であるため、から派生することはできません。パラメーターの型を確認することができます。パラメーターの比較の種類は、現在のインスタンスが参照型であるか値型であるかによって異なります。メソッドの呼び出しと同じです。参照の等価性とは、比較されるオブジェクト変数が同じオブジェクトを参照することを意味します。次の例は、このような比較の結果を示しています。person2をインスタンス化します。同じオブジェクトを参照しているため、同じです。同じ値を持っていますが、同じではありません。メソッドは値が等しいかどうかをテストします。値の等価性は、次のことを意味します。following:2つのオブジェクトの型は同じです。オブジェクトとは異なります。これは、2つのオブジェクトの実行時の型が異なるためです。False2つのオブジェクトのパブリックフィールドとプライベートフィールドの値が等しい。次の例では、値が等しいかどうかをテストします。person2をインスタンス化します。フィールドの値が同じであるため、等しいと見なされます。メソッドは、他のすべての型に対して既定の等値比較を提供します。メソッドをオーバーライドして値の等価性を実装します。詳細については、以下を参照してください。呼び出し元とメモ継承先のセクションです。メソッドオーバーロードを呼び出すと、Equals(Object)をオーバーライドしないクラスの既定の動作が提供されます。サポート」を参照してください)。メソッドを実装していません。メソッドがあるように見えます。これらのメソッドの既定の動作を提供します。メソッドのオーバーロードをオーバーライドできます。メソッドをオーバーライドして値の等価性を実装することがよくあります。メソッドに厳密に型指定された追加のオーバーロードを提供します。メソッドへの特定の呼び出しがどのように解決されるかを理解しておく必要があります。それ以外の場合は、意図したものとは異なる等しいかどうかのテストを実行し、メソッドが予期しない値を返す可能性があります。value.次に例を示します。メソッドに対して4つの呼び出しを行います。falseが返されます。