【发布时间】:2011-01-08 22:40:34
【问题描述】:
我有一个关于如何在 linq 中执行常见编程任务的问题。
假设我们做了不同的集合或数组。我想做的是匹配数组之间的元素,如果有匹配,则对该元素做一些事情。
例如:
string[] collection1 = new string[] { "1", "7", "4" };
string[] collection2 = new string[] { "6", "1", "7" };
foreach (string str1 in collection1)
{
foreach (string str2 in collection2)
{
if (str1 == str2)
{
// DO SOMETHING EXCITING///
}
}
}
这显然可以使用上面的代码来完成,但我想知道是否有一种快速而简洁的方法可以用 LinqtoObjects 做到这一点?
谢谢!
【问题讨论】:
-
这将取决于 // DO SOMETHING EXCITING/// 这甚至可能是不可能的,因为 Ling 是基于 IEnumerable 的,而这段代码可以做任何事情。 Linq 为您构建数据结构。 //做一些令人兴奋的事情///做什么?
-
顺便说一句,您可以通过使用集合数据结构的两个实例将 O(n^2) 减少到 O(n)。
标签: c# linq collections elements matching