比较两个通用列表 C# 的最快方法
Quickest way to compare two generic lists C#
我需要知道什么是比较两个列表的最佳方式,例如:
var list1 = new List<string> { "ITEM", "FROM", "TO", "X kg/cm2g", "Y kg/cm2g" };
var list2 = new List<string> { "ITEM", "TO", "FROM", "Y", "X" };
然后,我在列表 2 中的项目存在于列表 1 中,在这种情况下是正确的,因为我只需要知道列表 1 中的项目是否包含列表 2。
例如
"ITEM"
存在
"TO"
存在
"FROM"
存在
Y
存在是因为“Y kg/cm2g”
X
存在是因为“X kg/cm2g”
您可以将列表 1 中的项目连接到一个大字符串并循环检查它是否包含列表 2 中的项目。
听起来您正在尝试验证 list2
中的所有项目是否包含在 list1
中的至少一项中。如果是这样的话,这应该可以解决问题:
bool list1ContainsList2Items = list2.All(l2 => list1.Any(l1 => l1.Contains(l2)));
我需要知道什么是比较两个列表的最佳方式,例如:
var list1 = new List<string> { "ITEM", "FROM", "TO", "X kg/cm2g", "Y kg/cm2g" };
var list2 = new List<string> { "ITEM", "TO", "FROM", "Y", "X" };
然后,我在列表 2 中的项目存在于列表 1 中,在这种情况下是正确的,因为我只需要知道列表 1 中的项目是否包含列表 2。
例如
"ITEM"
存在
"TO"
存在
"FROM"
存在
Y
存在是因为“Y kg/cm2g”
X
存在是因为“X kg/cm2g”
您可以将列表 1 中的项目连接到一个大字符串并循环检查它是否包含列表 2 中的项目。
听起来您正在尝试验证 list2
中的所有项目是否包含在 list1
中的至少一项中。如果是这样的话,这应该可以解决问题:
bool list1ContainsList2Items = list2.All(l2 => list1.Any(l1 => l1.Contains(l2)));