8

を持ってList<MyObj>class MyObj : IComparableます。インターフェイスごとCompareToMyObjクラスにメソッドを書きましたが、 を使用すると、本来あるべきときに返されます。IComparableList<MyObj>.Contains(myObjInstance)falsetrue

then関数Listを呼び出すときにカスタム比較メソッドを使用することを確認するためにどのように進める必要があるかを理解しているかどうかはわかりません。Contains

これが私のcompareTo実装です:

    #region IComparable Members

    public int CompareTo(object obj)
    {
        MyObj myObj = (MyObj)obj;
        return String.Compare(this.Symbol, myObj.Symbol, true);
    }

    #endregion

Symbol プロパティは文字列であることに注意してください。

明確にするために、そのcompareToメソッドに停止点を入れましたが、そこには入りません。

誰もそれを試したことがありますか?

ありがとう。

4

3 に答える 3

5

のドキュメントによると、インターフェイスList<T>.Containsの実装またはを使用しており、オーバーライドすることもできます。IEquatableobject.Equals

于 2009-07-02T20:06:40.797 に答える