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

  • spederson7

    spederson7

    17 Temmuz 2006
  • Truc Minh

    Truc Minh

    23 Ocak 2011
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006