IEnumerable Except

 1         //
 2         // 摘要:
 3         //     通过使用默认的相等比较器对值进行比较生成两个序列的差集。
 4         //
 5         // 参数:
 6         //   first:
 7         //     一个 System.Collections.Generic.IEnumerable`1,将返回其也不在 second 中的元素。
 8         //
 9         //   second:
10         //     一个 System.Collections.Generic.IEnumerable`1,如果它的元素也出现在第一个序列中,则将导致从返回的序列中移除这些元素。
11         //
12         // 类型参数:
13         //   TSource:
14         //     输入序列中的元素的类型。
15         //
16         // 返回结果:
17         //     包含两个序列元素的差集的序列。
18         //
19         // 异常:
20         //   T:System.ArgumentNullException:
21         //     first 或 second 为 null。
22         public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second);
 1         //
 2         // 摘要:
 3         //     通过使用指定的 System.Collections.Generic.IEqualityComparer`1 对值进行比较产生两个序列的差集。
 4         //
 5         // 参数:
 6         //   first:
 7         //     一个 System.Collections.Generic.IEnumerable`1,将返回其也不在 second 中的元素。
 8         //
 9         //   second:
10         //     一个 System.Collections.Generic.IEnumerable`1,如果它的元素也出现在第一个序列中,则将导致从返回的序列中移除这些元素。
11         //
12         //   comparer:
13         //     用于比较值的 System.Collections.Generic.IEqualityComparer`1。
14         //
15         // 类型参数:
16         //   TSource:
17         //     输入序列中的元素的类型。
18         //
19         // 返回结果:
20         //     包含两个序列元素的差集的序列。
21         //
22         // 异常:
23         //   T:System.ArgumentNullException:
24         //     first 或 second 为 null。
25         public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer);
 1             var list1 = new List<int> { 1,2,3,4,5,6};
 2             var list2 = new List<int> { 3,4,5,6,7,8};
 3 
 4             var list3 = list1.Except(list2);
 5             var list4 = list2.Except(list1);
 6 
 7             foreach (var item in list1)
 8             {
 9                 Console.Write(item + ",");
10             }
11 
12             Console.WriteLine();
13 
14             foreach (var item in list2)
15             {
16                 Console.Write(item + ",");
17             }
18 
19             Console.WriteLine();
20 
21             foreach (var item in list3)
22             {
23                 Console.Write(item+",");
24             }
25 
26             Console.WriteLine();
27 
28             foreach (var item in list4)
29             {
30                 Console.Write(item+",");
31             }

结果:

原文地址:https://www.cnblogs.com/fanful/p/7168496.html