Come scorrere una raccolta che supporta IEnumerable?
Risposte:
Un regolare per ciascuno farà:
foreach (var item in collection)
{
// do your stuff
}
Insieme ai metodi già suggeriti per l'utilizzo di un foreachciclo, ho pensato di menzionare anche che qualsiasi oggetto che implementa IEnumerablefornisce anche IEnumeratorun'interfaccia tramite il GetEnumeratormetodo. Sebbene questo metodo di solito non sia necessario, può essere utilizzato per l'iterazione manuale sulle raccolte ed è particolarmente utile quando si scrivono i propri metodi di estensione per le raccolte.
IEnumerable<T> mySequence;
using (var sequenceEnum = mySequence.GetEnumerator())
{
while (sequenceEnum.MoveNext())
{
// Do something with sequenceEnum.Current.
}
}
Un ottimo esempio è quando si desidera iterare su due sequenze contemporaneamente , cosa che non è possibile con un foreachciclo.
o anche un metodo vecchio stile molto classico
IEnumerable<string> collection = new List<string>() { "a", "b", "c" };
for(int i = 0; i < collection.Count(); i++)
{
string str1 = collection.ElementAt(i);
// do your stuff
}
forse ti piacerebbe anche questo metodo :-)
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{
}
Forse hai dimenticato l' attesa prima di restituire la tua collezione