Hi czy istnieje sposób, aby robić rzeczy tak:używając foreach do iteracji jednocześnie przez wielu list (cukier składnia)
for (int i = 0; i < Math.Min(a.Count, b.Count); i++)
{
// Do stuff
//a[i]
//b[i]
}
z foreach?
ponieważ byłoby miło, aby napisać coś jak
foreach(var item1 in list1 and var item2 in list2 /* ....*/)
{
item1.use(item2);
}
EDIT
ok Przepraszam, że nie było wystarczająco jasne dla niektórych ludzi, więc tutaj jestem nadzieją lepszego wyjaśnienia
List<classA> listA = fillListA();
List<classB> listB = fillListB();
//here could be infinity many lists of sometimes diffrent T types
teraz chcę wykonać pewnego rodzaju ForEach, ponieważ nie chcę tego zrobić z dla pętla powinno być proste i jasne jak coś
foreach(var item1 in list1 and var item2 in list2 /* and ...*/)
{
item1.use(item2);
}
AFAIK cant Modifié taki Keay słowo klasa rzeczą więc pomyślałem ok budować iteracyjnej jak Parallel.ForEach zrobił ForEach<TSource>(IEnumerable<TSource>, Action<TSource>)
ale ją dostanę stucked bo don „t wiedzieć, jak wdrożyć go
Static.ForEach<TSource>(IEnumerable<TSource>,IEnumerable<TSource>, ???Action<TSource,???>????)
czy twoja odpowiedź ma jakieś zalety, jeśli nie odpowie Ani? – WiiMaxx
@ WiiMaxx można rozszerzyć to podejście dla 3 lub więcej list (patrz edycja), ale jeśli potrzebujesz tylko zip 2 list, są one prawie takie same - praktycznie nie ma różnicy wydajności ani czytelności. –
Co zrobić, jeśli jedna lista jest krótsza od drugiej? Czy to się nie skończy? – Kris