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

csharpprogrammingserver side programming更新于 2025/9/18 12:16:00

要获取两个列表之间的差异,首先在 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(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

相关文章