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

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • kylediablo

    kylediablo

    8 Ocak 2007
  • ShayLoss

    ShayLoss

    5 Kasım 2009