Bagaimana cara melakukan perulangan melalui koleksi yang mendukung IEnumerable?
Jawaban:
Biasa untuk masing-masing akan melakukan:
foreach (var item in collection)
{
// do your stuff
}
Seiring dengan metode yang sudah disarankan untuk menggunakan foreach
loop, saya pikir saya juga akan menyebutkan bahwa objek apa pun yang diimplementasikan IEnumerable
juga menyediakan IEnumerator
antarmuka melalui GetEnumerator
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.
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 :-)
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{
}
Mungkin Anda lupa menunggu sebelum mengembalikan koleksi Anda