duplicados posible:
Create Items from 3 collections using LinqCómo utilizar Zip en tres IEnumerables
he realizado un zippage de dos secuencias de la siguiente manera.
IEnumerable<Wazoo> zipped = arr1.Zip(arr2, (outer, inner) =>
new Wazoo{P1 = outer, P2 = inner});
Ahora, me acabo de dar cuenta de que usaré tres secuencias, no dos. Así que traté de rediseñar el código a algo como esto:
IEnumerable<Wazoo> zipped = arr1.Zip(arr2, arr3, (e1, e2, e3) =>
new Wazoo{P1 = e1, P2 = e2, P3 = e3});
Por supuesto, no funcionó. ¿Hay alguna manera de implementar Zip
para incorporar lo que estoy buscando? ¿Hay algún otro método para tal uso? ¿Tendré que comprimir dos de las secuencias y luego comprimirlas con la tercera descomprimiéndolas en el proceso?
En este punto estoy a punto de crear un simple for
-loop y yield return
la estructura solicitada. ¿Debería? Estoy en .Net 4.
similar: http://stackoverflow.com/questions/5284315/create-items-from-3-collections-using-linq – AakashM
@AakashM: Creo que eso no es sólo similares, es un duplicado. –
@Ben, así que veo, este es acerca de las matrices que tienen un indexador rápido como la 'Lista's en el enlace, por lo que sí se aplica la misma solución. Aún no se ha planteado la interesante pregunta sobre qué hacer con un 'IEnumerable <>' arbitrario ... – AakashM