none
List içindeki 2 tane aynı değeri nasıl bulurum? RRS feed

  • Soru

  • List<int> Kisiler = new List<int>();
    

    Listemin içindeki örneğin 1,2,2,3,4,5,5 olan verilerimden sadece 2 ve 5'i döndürmek istiyorum. 

    Özetle eğer liste içinde aynı değerden birden fazla rakam varsa onları oradan döndürüp (2 ile 5'i) if işlemi yapmak istiyorum.

    Nasıl yapabilirim? 

    24 Haziran 2019 Pazartesi 10:23

Tüm Yanıtlar

  • var liste = new [] {1,2,2,3,4,5,5}.ToList();
    var birdenÇokOlanlar = liste.Where(p=> liste.Count(q=>q==p) > 1).Distinct().ToList();


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    24 Haziran 2019 Pazartesi 10:59
    Moderatör
  • İki tane de ben ekleyim, eksik kalmayım.

    var liste = new [] {1,2,2,3,4,5,5}.ToList();
    var birdenÇokOlanlar = liste.GroupBy(x=>x).Where(g=>g.Count()>1).Select(g=>g.Key).ToList();

    Tercih edeceğim ise:

    var liste = new[] { 1, 2, 2, 3, 4, 5, 5 }.ToList();
    var tmp = new HashSet<int>();
    var birdenÇokOlanlar = liste.Where(x=>!tmp.Add(x)).ToList();


    www.cihanyakar.com

    24 Haziran 2019 Pazartesi 12:58