【发布时间】:2010-12-07 08:46:09
【问题描述】:
我有以下代码:
List<MyClass> list1 = GetList1Contents();
List<MyClass> list2 = GetList2Contents();
foreach (MyClass eachClass in list1)
{
List<MyClass> results = (list2.Select(x => x.History.Select(z => (z.Key == eachClass.ID))));
}
MyClass 包含一个名为 History 的列表。我想要做的是匹配 list2 中任何在列表 1 中有历史条目的条目——但编译器不喜欢我的语法。
【问题讨论】:
-
您可能想要使用 Where 或 Any(和/或连接),但很难确切知道您想要实现的目标。历史列表的类型是什么?什么是 History.Key 和 MyClass.ID?请提供更多详细信息。
-
您应该使用
Where(或Any、FirstOrDefault)而不是Select来查找项目。Select(z => z.Key == id)实际上返回一个IEnumerable<bool>。