SORU
23 Aralık 2009, ÇARŞAMBA


İki listeyi yinelemek ya da C içinde bir ForEach deyimi ile Diziler#

Sadece genel bilgi için:

Eğer iki varsa, diyelimListeve aynı foreach döngüsü ile yineleme yapmak istiyorum, bunu yapabilir miyiz?

Edit

Sadece netleştirmek için, bu yapmak istediğim:

List<String> listA = new List<string> { "string", "string" };
List<String> listB = new List<string> { "string", "string" };

for(int i = 0; i < listA.Count; i  )
    listB[i] = listA[i];

Ama dosyalarda grup =)

CEVAP
23 Aralık 2009, ÇARŞAMBA


Bu Zip bir operasyon olarak bilinen ve desteklenen olacak .NET 4.

Bunun gibi bir şey yazmak için mümkün olacaktır:

var numbers = new [] { 1, 2, 3, 4 };
var words = new [] { "one", "two", "three", "four" };

var numbersAndWords = numbers.Zip(words, (n, w) => new { Number = n, Word = w });
foreach(var nw in numbersAndWords)
{
    Console.WriteLine(nw.Number   nw.Word);
}

Adında alanları ile anonim tür bir alternatif olarak, ayrıca bir Başlık ve statik Dizi kullanarak parantez tasarruf edebilirsiniz.Oluşturun Yardımcısı:

foreach (var nw in numbers.Zip(words, Tuple.Create)) 
{
    Console.WriteLine(nw.Item1   nw.Item2);
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BigBoyTV

    BigBoyTV

    25 EYLÜL 2013
  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • Vagrant Records

    Vagrant Reco

    8 Mayıs 2006