C#程序列出两个列表之间的差异

要获得两个列表之间的差异,首先在 C# 中设置两个列表 -

// 第一个列表
List < string > list1 = new List < string > ();
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");

// 第二个名单
List < string > list2 = new List < string > ();
list2.Add("C");
list2.Add("D");
foreach(string value in list2) {
   Console.WriteLine(value);
}

要获得差异,请使用 IEnumerable 并Except()如下所示。差异显示在第三个列表中 -

IEnumerable < string > list3;
list3 = list1.Except(list2);

以下是完整的代码 -

示例

using System;
using System.Collections.Generic;
using System.Linq;

public class Demo {
   public static void Main() {
      List < string > list1 = new List < string > ();
      list1.Add("A");
      list1.Add("B");
      list1.Add("C");
      list1.Add("D");

      Console.WriteLine("第一个名单...");
      foreach(string value in list1) {
         Console.WriteLine(value);
      }

      Console.WriteLine("第二个名单...");
      List < string > list2 = new List < string > ();

      list2.Add("C");
      list2.Add("D");
      foreach(string value in list2) {
         Console.WriteLine(value);
      }

      Console.WriteLine("两个列表的区别...");
      IEnumerable < string > list3;
      list3 = list1.Except(list2);
      foreach(string value in list3) {
         Console.WriteLine(value);
      }

   }
}
输出结果
第一个名单...
A
B
C
D
第二个名单...
C
D
两个列表的区别...
A
B