下面就是 C# Linq 的 Intersect() 的完整攻略。
1. Intersect() 简介
Intersect() 是一个 Linq 方法,用于计算两个或多个集合的交集。所谓交集,就是两个集合中共有的元素。
两个集合的交集是一个新集合,其中包含两个集合中都有的元素,且不包括重复的元素。Intersect() 方法返回的结果是一个 IEnumerable 的集合。
2. Intersect() 语法
Intersect() 方法的语法如下:
var intersectResult = collection1.Intersect(collection2);
其中,collection1 和 collection2 是要计算交集的两个集合。intersectResult 是返回的结果集合。
3. Intersect() 示例
示例1
假设我们有两个整数集合 collection1 和 collection2,分别表示学生集合和老师集合。他们都选了计算机课程并且获得了 A+ 成绩。我们需要找出两个集合中都有的学生。
下面是代码示例:
// 学生集合
int[] studentCollection = { 1, 2, 3, 4, 5 };
// 老师集合
int[] teacherCollection = { 3, 4, 5, 6, 7 };
// 筛选出两个集合中都有的元素
IEnumerable<int> commonCollection = studentCollection.Intersect(teacherCollection);
// 输出结果集合元素
foreach (var item in commonCollection)
{
Console.Write(item + " ");
}
上述代码输出的结果为:
3 4 5
示例2
假设我们还有两个字符串集合 collection1 和 collection2,分别包含多个单词。我们需要找出两个集合中都有的单词。
下面是代码示例:
// 字符串集合1
string[] stringCollection1 = { "apple", "banana", "pear", "peach" };
// 字符串集合2
string[] stringCollection2 = { "peach", "pear", "orange", "banaba", "pineapple" };
// 筛选出两个集合中都有的元素
IEnumerable<string> commonCollection = stringCollection1.Intersect(stringCollection2);
// 输出结果集合元素
foreach (var item in commonCollection)
{
Console.Write(item + " ");
}
上述代码输出的结果为:
pear peach
4. 总结
Intersect() 方法是 Linq 中一个非常实用的方法。它可以用于计算两个集合中的交集,可以用于各种数据类型。在实际开发中,我们可以使用 Intersect() 方法对数据进行快速过滤和相交判断。