SORU
17 ŞUBAT 2009, Salı


Kimse bana IEnumerable ve IEnumerator açıklayabilir mi?

Kimse bana IEnumerable ve IEnumerator açıklayabilir mi?

dosyalarda grup üzerinde kullanmak için ne zaman, örneğin,? IEnumerable ve IEnumerator arasındaki fark nedir? Neden bunu kullanmaya gerek var mı?

CEVAP
17 ŞUBAT 2009, Salı


dosyalarda grup üzerinde kullanmak için ne zaman, örneğin,?

""foreach. IEnumerable kullanmayın IEnumerable Uygulama foreach kullanarak yaparmümkün.

Yazarken kod gibi:

foreach (Foo bar in baz)
{
   ...
}

işlevsel yazmaya denk geliyor:

IEnumerator bat = baz.GetEnumerator();
while (bat.MoveNext())
{
   bar = (Foo)bat.Current
   ...
}

"İşlevsel olarak eşdeğer" derleyici kodu döner aslında demek istediğim. Bu örnekte baz foreach kullanamazsınızsürecebaz IEnumerable uygular.

IEnumerable baz yöntemi uygulayan anlamına gelir

IEnumerator GetEnumerator()

IEnumerator Bu yöntem döndürür yöntemleri uygulamak gerekir o nesnenin

bool MoveNext()

ve

Object Current()

İlk yöntem numaralandırıcısı yaratan IEnumerable nesne bir sonraki nesneye gelişmeler, eğer yapılırsa false dönen ve ikinci geçerli nesne döndürür.

Hiçbir şey .Üzerinden yineleme oran IEnumerable uygular. Eğer bina kendi sınıf etmiyor zaten devralan bir sınıf uygulayan IEnumerable edebilirsiniz sınıfı kullanılabilir foreach ifadeleri tarafından uygulanması IEnumerable (ve oluşturarak bir kaptan sınıfı bu yeni GetEnumerator yöntem döndürür).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012