有没有比以下更紧凑的方法来编写一次迭代两个列表的循环:
var listA = new List<string>();
var listB = new List<int>();
foreach (var (itemFromListA, itemFromListB) in listA.Zip(listB,
(itemFromListA, itemFromListB)=>(itemFromListA, itemFromListB)){
// do something with itemFromListA and itemFromListB
}
Run Code Online (Sandbox Code Playgroud)
键入(itemFromListA, itemFromListB)三遍似乎不必要地繁琐,而且(itemFromListA, itemFromListB)=>(itemFromListA, itemFromListB)对于身份运算符来说,诸如此类的内容太长了。
你可以这样写:
foreach (var (a,b) in listA.Zip(listB, ValueTuple.Create))
Run Code Online (Sandbox Code Playgroud)