c# - 使用 SequenceEqual 然后返回哪些元素不匹配

标签 c# .net linq c#-4.0 .net-4.0

我有两个 List<string>我正在使用 SequenceEqual方法来确定它们是否匹配。

我现在需要一个 List<int>, string, IEnumerable,失败的元素的任何索引。

有没有简单的方法?

谢谢

最佳答案

我想你想要:

List<string> list1 = ...
List<string> list2 = ...

var differentIndices = list1.Zip(list2, (item1, item2) => item1 == item2)
                            .Select((match, index) => new { Match = match, Index = index })
                            .Where(a => !a.Match)
                            .Select(a => a.Index);

请注意,如果其中一个列表比另一个长,则不会考虑超出较小列表长度的项目。

关于c# - 使用 SequenceEqual 然后返回哪些元素不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342013/

相关文章:

c# - 引用列按顺序排列

c# - 调试 WCF 服务

c# - Azure 中跨上下文 LINQ 加入?

c# - 如何使用 Entity Framework Core 1.1 实现自引用多对多关系?

c# - 拖动时显示图像

c# - 是否有 ListDictionary 类的通用替代品?

c# - 先按null排序再降序

c# - 使用 IEnumerable GetGenericArguments 获取类型

c# - SQLite 的 DLL hell

.net - 可以从非托管 C++ 调用托管 DLL 吗?