Dato un gruppo di elenchi, ho bisogno di scorrere su di essi contemporaneamente. Supponiamo che ne abbia tre: list1
, list2
e list3
.Iterare su più elenchi
Quello che ho trovato finora è la seguente:
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
}
Questo funziona bene ed è abbastanza leggibile, a meno che il numero di liste non è grande. So come estenderlo ulteriormente alle 4, 5, .... liste, ma se ne comprimo 10, il codice sarebbe estremamente lungo. C'è qualche possibilità di refactoring? O avrei bisogno di un'altra soluzione rispetto alla funzione Zip
?
uso 'for' e di accesso elenca gli elementi di indice – ASh
Quindi, "allo stesso tempo" non significa in parallelo, in questo caso, giusto? –
Hai 'lista1',' lista2', ... in una collezione? – CodeCaster