Bagaimana cara melakukan perulangan melalui koleksi yang mendukung IEnumerable?
c#
for-loop
foreach
ienumerable
mrblah
sumber
sumber
Seiring dengan metode yang sudah disarankan untuk menggunakan
foreach
loop, saya pikir saya juga akan menyebutkan bahwa objek apa pun yang diimplementasikanIEnumerable
juga menyediakanIEnumerator
antarmuka melaluiGetEnumerator
metode tersebut. Meskipun metode ini biasanya tidak diperlukan, metode ini dapat digunakan untuk mengulang koleksi secara manual, dan sangat berguna saat menulis metode ekstensi Anda sendiri untuk koleksi.IEnumerable<T> mySequence; using (var sequenceEnum = mySequence.GetEnumerator()) { while (sequenceEnum.MoveNext()) { // Do something with sequenceEnum.Current. } }
Contoh utama adalah ketika Anda ingin mengulang dua urutan secara bersamaan , yang tidak mungkin dilakukan dengan satu
foreach
putaran.sumber
atau bahkan metode mode lama yang sangat klasik
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 }
mungkin Anda juga akan menyukai metode ini :-)
sumber
foreach (var element in instanceOfAClassThatImplelemntIEnumerable) { }
sumber
Mungkin Anda lupa menunggu sebelum mengembalikan koleksi Anda
sumber