C#比较两个list集合类的差异

C#中List中自带的差集计算方法

List 继承了Enumerable ,Enumerable 中有一个Except方法
C#比较两个list集合类的差异_第1张图片

它有两个实现:

第一个实现是通过使用默认的相等比较器对值进行比较,生成两个序列的差集。
第二个实现是通过使用指定的 IEqualityComparer 对值进行比较,生成两个序列的差集。
简单数值对比
这是用默认的相等对比器
这种方式一般都是用来比较简单数组或者字符串内容

double[] numbers1 = { 2.0, 2.0, 2.1, 2.2, 2.3, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };

IEnumerable<double> onlyInFirstSet = numbers1.Except(numbers2);

foreach (double number in onlyInFirstSet)
    Console.WriteLine(number);

问题:

如果list集合类的差异的话,直接使用List中的Except方法,会发现全部都不一样。这就是问题。

结论:

解决方案:可以把集合类事先转换为ToJson的字符串,就可以使用List中的Except方法。

你可能感兴趣的:(c#,开发语言)