SORU
31 Temmuz 2009, Cuma


Olası geri dosyalarda grup arasında dolaşmak için?

for bir ifade kullanın ve aynı etkiyi elde edebileceğimi biliyorum, ama geriye C foreach bir döngü içinde döngü miyim#?

CEVAP
31 Temmuz 2009, Cuma


Eğer .NET 3.5 yapabilirsiniz:

IEnumerable<int> enumerableThing = ...;
foreach (var x in enumerableThing.Reverse())

Temelde numaralandırıcısı ileri yığını ters sırada tekrar her şey açılır, sonra da her şeyi bir araya geçmesi için olduğu gibi çok verimli değil.

Eğer doğrudan-değiştirilebilir uçlu bir koleksiyon (ör: IList) varsa kesinlikle for döngü kullanmalısınız.

Eğer .NET 2.0 ve kullanamazsınız bir döngü için (yani sadece bir IEnumerable), sadece kendi Ters fonksiyon yazmak gerekir. Bu çalışması gerekir:

static IEnumerable<T> Reverse<T>(IEnumerable<T> input)
{
    return new Stack<T>(input);
}

Bu belki de o kadar belli olmayan bazı davranışlara dayanır. Kurucu yığını için bir IEnumerable geçirdiğinizde bu yineleme ve üzerine öğeleri yığın itecektir. Daha sonra yığın içinde yineleme ne zaman bir şeyler ters sırada geri çıkıyor.

Bu ve bu .3.5 Reverse() uzatma ağı yöntemi belli ki sen hiç iade engelleyen bir IEnumerable beslersen patlayacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006