Me falta algo simple aquí.Uso de IEnumerable sin el bucle foreach
tomar el código siguiente:
public IEnumerable<int> getInt(){
for(int i = 0; i < 10; i++){
yield return i;
}
}
puedo llamar a esto con:
foreach (int j in obj.getInt()){
//do something with j
}
¿Cómo puedo usar el método getInt sin el bucle foreach:
IEnumerable<int> iter = obj.getInt();
// do something with iter ??
Gracias.
ediciones
Para los que preguntan por qué me gustaría esto. Estoy iteración de dos cosas:
IEnumerator<int> iter = obj.getInt().GetEnumerator();
foreach(object x in xs){
if (x.someCondition) continue;
iter.MoveNext();
int n = iter.current();
x.someProp = n;
etc...
}
¿Qué es exactamente estás tratando de hacer? El punto entero en 'IEnumerable' es permitir la iteración, y un bucle 'foreach' es la forma más eficiente de hacerlo. –
@ Zakwe, quiero iterar dos enumerables a la vez. El foreach se mueve a través del primero, si cumple una condición, necesito el siguiente int (solo un ejemplo, no realmente un int). – Mark