0

オブジェクトのリストがあり、特定のオブジェクトがこのリストに含まれているかどうかを確認したいと思います。Contains()リストのorメソッドを使用すると、IndexOf()間違った結果が得られEquals()ます。これは、必要なものではないオブジェクトのメソッドを使用しているためです。プロパティ値が等しいように見えるオブジェクトではなく、特定のインスタンスを見つけたい。

4

2 に答える 2

3

参照を一致させたい場合は、次を使用できます。

if (object.ReferenceEquals(item1, item2))
    ...

を使用する代わりに参照を比較するように強制するEquals()

または:

int index = list.FindIndex(item=>ReferenceEquals(item, target));

(詳細については、List.FindIndex()のMSDNドキュメントを参照してください。)

于 2013-03-07T13:50:33.843 に答える
0

ハッシュコードを使用できますか?

list.where(w => w.GetHashCode() == object.GetHashCode())
于 2013-03-07T13:48:48.080 に答える