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

  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006