在C#中,去重函数和LINQ结合使用可以方便地对集合进行去重操作。以下是一个示例:
首先,创建一个去重函数,该函数接受一个泛型集合作为参数,并返回一个新的去重后的集合:
public static IEnumerable Distinct(this IEnumerable collection)
{
return collection.DistinctCore();
}
private static IEnumerable DistinctCore(this IEnumerable collection)
{
var seen = new HashSet();
foreach (var item in collection)
{
if (!seen.Add(item))
{
yield return item;
}
}
}
接下来,使用LINQ对集合进行去重操作:
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { // 创建一个包含重复元素的集合 Listnumbers = new List { 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9 }; // 使用LINQ对集合进行去重操作 var distinctNumbers = numbers.Distinct(); // 输出去重后的集合 Console.WriteLine("去重后的集合:"); foreach (var number in distinctNumbers) { Console.WriteLine(number); } } }
在这个示例中,我们首先创建了一个包含重复元素的整数列表。然后,我们使用LINQ的Distinct()
方法对集合进行去重操作。最后,我们输出去重后的集合。