2009-07-03 17 views
2

我有類項目清單List<MyClass>LINQ的IEnumerable如果沒有找到元素

我有一個單獨的對象,它是MyClass類型

在我的名單上有這個項目的實例,但我在那裏語句失敗。

var home = Item.Find(23); 
var item = allitems.Where(i => i == home); 

項目產生任何結果

allitems.Contains(home)也會失敗。

我在做什麼錯?

回答

5

他們是否肯定tghe相同的項目?如果你有這種情況,

var item1 = new Place(23); 
var item2 = new Place(23); 

然後item1 != item2。如果項目由某個屬性標識,則可以嘗試

allitems.Where(i => i.Id == home.Id) 
+0

我已經完成了ID感謝。爲什麼item1被認爲與item2不同? – Jon 2009-07-03 20:42:57

1

「項目」中的重寫Equals()也應該起作用。

var home = Item.Find(23); 
var item = allitems.Where(i => i.Equals(home));