LINQ IEnumerable在哪里找不到元素

时间:2009-07-03 20:34:15

标签: c# linq

我有一个课程项目列表List<MyClass>

我有一个MyClass类型的单独对象

在我的列表中,我有一个这个项目的实例,但我的where语句失败了。

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

项目没有结果

allitems.Contains(home)也失败了。

我做错了什么?

2 个答案:

答案 0 :(得分:5)

它们绝对是相同的物品吗?如果你有这种情况;

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

然后item1 != item2。如果项目由某个属性标识,您可以尝试

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

答案 1 :(得分:1)

覆盖“Item”中的Equals()也应该有效。

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