c#中去重函数与LINQ的结合使用

avatar
作者
筋斗云
阅读量:0

在C#中,去重函数和LINQ结合使用可以方便地对集合进行去重操作。以下是一个示例:

首先,创建一个去重函数,该函数接受一个泛型集合作为参数,并返回一个新的去重后的集合:

public static IEnumerable<T> Distinct<T>(this IEnumerable<T> collection) {     return collection.DistinctCore(); }  private static IEnumerable<T> DistinctCore<T>(this IEnumerable<T> collection) {     var seen = new HashSet<T>();     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()     {         // 创建一个包含重复元素的集合         List<int> numbers = new List<int> { 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()方法对集合进行去重操作。最后,我们输出去重后的集合。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!