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

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006