【发布时间】:2011-02-21 11:53:21
【问题描述】:
我有 int A,B 的列表。我喜欢在 linq 中执行以下步骤
list<int> c = new List<int>();
for (int i = 0; i < a.count; i++)
{
for (int j = 0; j < b.count; j++)
{
if (a[i] == b[j])
{
c.add(a[i]);
}
}
}
如果它的 a 和 b 是 object ,我需要像这种方式检查特定属性并添加列表,如果它等于我如何在 linq 中执行此操作?
【问题讨论】:
-
如果 a 或 b 中有重复项,此代码将返回 c 中的重复项。例如 a = {1,2,2,3} 和 b = {2,2,4,6} 将给出 c = {2,2,2,2}。这是您想要的还是您的列表是独一无二的,所以它并不重要?我问只是因为明显的 linq 答案会给出 c={2,2} 因为那是列表的交集。
-
@Femaref:真的吗?喔好吧。至少我的观点仍然成立。我仍然不擅长这样的 linq 东西。 :)
-
这不仅限于 LINQ。 This 可能适合您阅读。
-
标题具有误导性。对于找到此页面并真正想比较两个可枚举项是否相等的任何人,Linq 有一个名为 SequenceEqual 的方法。