Comment parcourir une collection qui prend en charge IEnumerable?
c#
for-loop
foreach
ienumerable
mrblah
la source
la source
Outre les méthodes déjà suggérées pour l'utilisation d'une
foreach
boucle, j'ai pensé mentionner également que tout objet implémentantIEnumerable
fournit également uneIEnumerator
interface via laGetEnumerator
méthode. Bien que cette méthode ne soit généralement pas nécessaire, elle peut être utilisée pour itérer manuellement sur des collections et est particulièrement utile lors de l'écriture de vos propres méthodes d'extension pour les collections.IEnumerable<T> mySequence; using (var sequenceEnum = mySequence.GetEnumerator()) { while (sequenceEnum.MoveNext()) { // Do something with sequenceEnum.Current. } }
Un excellent exemple est lorsque vous souhaitez itérer sur deux séquences simultanément , ce qui n'est pas possible avec une
foreach
boucle.la source
ou même une méthode à l'ancienne très classique
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 }
peut-être aimeriez-vous aussi cette méthode :-)
la source
foreach (var element in instanceOfAClassThatImplelemntIEnumerable) { }
la source
Peut-être avez-vous oublié l' attente avant de retourner votre collection
la source