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

  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • MatheusDosGames

    MatheusDosGa

    28 Aralık 2011
  • The Computer Chronicles

    The Computer

    7 Kasım 2012