c# - 比较两个列表<string>之间的差异

标签 c# visual-studio list compare

我正在尝试检查两个 List<string> 之间的区别在 c# .

例子:

List<string> FirstList = new List<string>();
List<string> SecondList = new List<string>();

FirstList填充有以下值:

FirstList.Add("COM1");
FirstList.Add("COM2");

SecondList填充有以下值:

SecondList.Add("COM1");
SecondList.Add("COM2");
SecondList.Add("COM3");

现在我想检查 SecondList 中是否有一些值等于 FirstList 中的值.

如果两个列表中有相同的值,如:COM1 和 COM2,则从列表中过滤它们,并将剩余的值添加到另一个列表。

所以如果我创建一个新的 ThirdList ,它将仅填充“COM3”,因为其他值是重复的。

如何创建这样的支票?

最佳答案

尝试使用Except LINQ 扩展方法,它只从第一个列表中获取第二个列表中不存在的项目。示例如下:

List<string> ThirdList =  SecondList.Except(FirstList).ToList();

您可以使用以下代码打印结果:

Console.WriteLine(string.Join(Environment.NewLine, ThirdList));

或者

Debug.WriteLine(string.Join(Environment.NewLine, ThirdList));

注意:不要忘记包括:using System.Diagnostics;

打印:

COM3

关于c# - 比较两个列表<string>之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612162/

相关文章:

c++ - 单个继承的派生类的大小

node.js - 如何在 VS2015 中更新 Node 和 npm?

Python 接受成对的字符串和整数输入

c# - C# 的沮丧检测工具

c# - 在 C# 中使用自定义千位分隔符

c# - 不正确的语法 ASP.NET

java - 过时的元素引用 : element is not attached to the page document

C# Switch 语句重构

c# - PrintPreviewDialog 可以修改吗?

删除列表中所有数据框中包含某个值的行