SORU
31 AĞUSTOS 2013, CUMARTESİ


C# ETMENİZ bulmak çiftleri Listesinde

SERİ kullanan, List<int>, bir kaç girişleri birden fazla kez ve yinelenen değerleri içeren bir liste alabilir miyim?

CEVAP
31 AĞUSTOS 2013, CUMARTESİ


Sorunu çözmek için en kolay yolu değerlerine göre grup elemanları, sonra grup içinde birden fazla öğe varsa, orada grup temsilcisi seç. Seri, bu çevirir:

var query = lst.GroupBy(x=>x)
              .Where(g=>g.Count()>1)
              .Select(y=>y.Key)
              .ToList();

Eğer elementleri tekrarlanan bilmek istiyorsanız, kullanabilirsiniz:

var query = lst.GroupBy(x=>x)
              .Where(g=>g.Count()>1)
              .Select(y=> new { Element = y.Key, Counter = y.Count()})
              .ToList();

Bu bir anonim tip bir Listesini döndürür, ve her elementin özellikleri Element ve ihtiyacınız olan bilgileri almak için Sayaç var.

Ve son olarak, eğer aradığınız bir sözlük varsa, kullanabilirsiniz

var query = lst.GroupBy(x=>x)
              .Where(g=>g.Count()>1)
              .ToDictionary(x=>x.Key,y=>y.Count());

Bu bir sözlük, anahtar ve değer olarak tekrarlanan bir zamanlar sayısı kadar eleman ile dönecektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • fufko

    fufko

    27 ŞUBAT 2006
  • Pituvision

    Pituvision

    11 Mart 2006