2010-08-05 32 views

cevap

8

Bir numaralayıcı, bir öğe koleksiyonunda numaralandırmanıza (yinelemenize) yardımcı olur.

Bu amacı, yalnızca members of the IEnumerator Interface'a bakarak bulabilirsin. Daha spesifik olarak, Enumerator, koleksiyonda (geçerli öğe) tam olarak nerede bulunduğunuzu ve bir sonraki öğenin nerede olduğunu (MoveNext yöntemi) bilir. Yineleyiciyi üzerinde Wikipedia makalesi

atın:

Iterator - Wikipedia

1

Sen öğelerinden oluşan bir koleksiyonu üzerinde yineleme yapmayı sýralayýcý kullanırlar.

Bu tür bir şey yapmanın en iyi yolu, C# foreach döngüsünü kullanmaktır.

Ör:

IList<string> actors = new List<string>(); 
actors.Add("Chuck Norris"); 
actors.Add("Denzel Washington"); 
actors.Add("Sylvester Stallone"); 

// iterate over the list using foreach 
foreach (string actor in actors) 
{ 
    //... 
} 
4

"Listeleyicisi" Yineleyicilerin için .NET Framework adıdır.

Genel olarak, bir yineleyici bir koleksiyona geçiş yapmanıza izin verir. C# yinelemeler foreach statement boyunca en yaygın implicity kullanılır:

foreach (myType o in myCollection) 
{ 
    // do something with o 
} 

Bu Yineleyici aşağıdaki açık kullanımına eşdeğerdir:

IEnumerator<myType> iter = myCollection.GetEnumerator(); 
while (iter.MoveNext()) 
{ 
    var o = iter.Current; 
    // do something with o 
} 
1

IEnumerable ve IEnumarable GetEnumerator (adlı bir yöntem var) Bir Enumerator nesnesini döndüren

Sayım, kendiliğinden açıklayıcı olan GetNext() Yöntemini gösterir.

Numaratörler, foreach döngüsünü etkinleştiren nedir?