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

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Nightmare2005

    Nightmare200

    14 Ocak 2007