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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • RealPapaPit

    RealPapaPit

    16 Mart 2009
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008