SORU
11 NİSAN 2011, PAZARTESİ


Bilgisayar karşısında()

Bilgisayar gibi iki topluluk arasında bir eşleşme bulmak için kullanılabilir:

// Assign two arrays.
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
// Call Intersect extension method.
var intersect = array1.Intersect(array2);
// Write intersection to screen.
foreach (int value in intersect)
{
    Console.WriteLine(value); // Output: 2, 3
}

Ancak ulaşmak istediğim tersidir, liste yapmak istiyorumöğeleri eksikne zaman iki koleksiyon karşılaştırılması:

// Assign two arrays.
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 3, 4 };
// Call Intersect extension method.
var intersect = array1.NonIntersect(array2); // I've made up the NonIntersect method
// Write intersection to screen.
foreach (int value in intersect)
{
    Console.WriteLine(value); // Output: 4
}

CEVAP
11 NİSAN 2011, PAZARTESİ


Belirtildiği gibi, Eğer sonuç olarak 4 almak istiyorsanız, şöyle yapabilirsiniz:

var nonintersect = array2.Except(array1);

Eğer non-kesişim gerçek (1 ve 4) istiyorsanız, bu hile yapmak gerekir:

var nonintersect = array1.Except(array2).Union( array2.Except(array1));

Bu en ölçülebilir çözüm olmayacaktır, ama küçük listeler için sadece iyi çalışması gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • segtlim

    segtlim

    21 EKİM 2008