鉴于一堆列表,我需要同时迭代它们.假设我有三个人:list1,list2,和list3.
到目前为止我发现的是:
foreach (var tuple in list1.Zip(list2, (first, second) => new { object1 = first, object2 = second })
.Zip(list3, (first, second) => new { object1 = first.object1, object2 = first.object2, object3 = second }))
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
除非列表的数量不大,否则这种方法很好并且可读性很强.我知道如何将它进一步扩展到4,5,....列表,但如果我压缩其中的10个,代码将会非常长.有没有可能重构它?或者我需要其他解决方案而不是Zip功能?