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

发布时间:2023年12月17日

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

List 继承了Enumerable ,Enumerable 中有一个Except方法
在这里插入图片描述

它有两个实现:

第一个实现是通过使用默认的相等比较器对值进行比较,生成两个序列的差集。
第二个实现是通过使用指定的 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方法。

文章来源:https://blog.csdn.net/weixin_46879188/article/details/134999316
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。