我有以下两个列表:
IEnumerable<bool> a = True True True False
List<bool> b = True True False False
我需要创建另一个列表,如果列表 a 和列表 b 的元素匹配则显示 true。列表 a 和 b 将始终被填充并具有相同数量的元素。因此,例如输出将是:
List<bool> c = True True False True
有没有简单的方法可以做到这一点?我必须使用 LINQ 吗?我想我可以通过遍历一个数组来做到这一点,但我希望有一种更简单的方法。
最佳答案
如果您使用的是 .NET 4,则可以通过 IEnumerable.Zip
使用 LINQ将两个列表“压缩”到第三个结果列表中。 Zip 对两个列表中的协调元素进行操作以生成第三个列表。
第二个参数是一个函数,定义了您要对每对元素执行的操作。
var c = a.Zip(b, (p, q) => p == q).ToList();
关于c# - 我如何比较两个列表并创建另一个匹配的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213271/