• 24-08-2019, 00:36:49
    #1
    Merhabalar. 4 adet list var . amacım bunlardan hangisinin eleman sayısının fazla olduğunu bulmak . kısa yoldan bunu nasıl bulabilirim. Teşekürler.
     List<int> ls1= new List<int>();
    List<int> ls2= new List<int>();
    List<int> ls3= new List<int>();
            List<int> ls4= new List<int>();
  • 24-08-2019, 01:05:22
    #2
    list.count fonksiyonunu incelermisin? eğer çözemezseniz iletişim kurmanız daha fazla yardımcı olabilirim.
  • 24-08-2019, 01:06:00
    #3
    List<int> ls1 = new List<int>() { 1,2 };
    List<int> ls2 = new List<int>() { 1,2,3 };
    List<int> ls3 = new List<int>() { 1,2,3,4,5 };
    List<int> ls4 = new List<int>() { 1,2,3,4 };
    List<List<int>> listeler = new List<List<int>>() { ls1, ls2, ls3, ls4 };
    var enFazlaElemanli = listeler.OrderByDescending(x => x.Count).First();
  • 24-08-2019, 01:09:19
    #4
    cdermnx adlı üyeden alıntı: mesajı görüntüle
    list.count fonksiyonunu incelermisin? eğer çözemezseniz iletişim kurmanız daha fazla yardımcı olabilirim.
    @cdermnx hocam list.count biliyorum. fakat benim istediğim hangisinin elaman sayısı fazla.
    ls1.count() // 100
    ls2.count() // 200
    ls3.count() // 75
    ls4.count() // 12
    bu şekilde akdık diyelim hocam en fazla elaman sayısı hangisi onu bulmak istiyorum .sonuc olarak bana "ls2" en fazla elamana sahip demesi gerekiyor
  • 24-08-2019, 01:18:00
    #5
    if ile sorguluyarak bulabilirsin.

    if(ls1.count() > ls2.count() && ls1.count() > ls3.count() && ls1.count() > ls4.count())
    {
    Console.Write("en çok eleman lst1. de var.")
    }
  • 24-08-2019, 01:33:48
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu şekilde daha anlaşılır olur sanırım;

    public static List<int> Compare(params IList<int>[] lists) {
    List<int> comp = new List<int>();
    foreach(var list in lists){
    if(list.Count() > comp.Count()) comp=list.ToList();
    }
    return comp;
    }
    Şöyle çağırabilirsin;

    List<int> buyuk = Compare(ls1,ls2,ls3,ls4);
  • 24-08-2019, 02:22:34
    #7
    rshcoosl adlı üyeden alıntı: mesajı görüntüle
    List<int> ls1 = new List<int>() { 1,2 };
    List<int> ls2 = new List<int>() { 1,2,3 };
    List<int> ls3 = new List<int>() { 1,2,3,4,5 };
    List<int> ls4 = new List<int>() { 1,2,3,4 };
    List<List<int>> listeler = new List<List<int>>() { ls1, ls2, ls3, ls4 };
    var enFazlaElemanli = listeler.OrderByDescending(x => x.Count).First();
    Hocam yazdığınız kodda tüm list'leri tek listte topluyor buda benim işime yaramıyor .
    istediğim şey hangi list'in adet sayısı fazla ise mesajBox ile bildirsin gibi





    NetBilgi adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde daha anlaşılır olur sanırım;

    public static List<int> Compare(params IList<int>[] lists) {
    List<int> comp = new List<int>();
    foreach(var list in lists){
    if(list.Count() > comp.Count()) comp=list.ToList();
    }
    return comp;
    }
    Şöyle çağırabilirsin;

    List<int> buyuk = Compare(ls1,ls2,ls3,ls4);
    Malesef hocam olmadı . Büyük list'in içine tüm elemanları atıyor buda benim işime yaramıyor hangisinin adet sayısı fazla ise onu bildirmesi gerek



    cdermnx adlı üyeden alıntı: mesajı görüntüle
    if ile sorguluyarak bulabilirsin.

    if(ls1.count() > ls2.count() && ls1.count() > ls3.count() && ls1.count() > ls4.count())
    {
    Console.Write("en çok eleman lst1. de var.")
    }

    Hocam burada sadece ls1 kontrolunu sağlıyabiliyoruz. aynı kodları ls2,ls3,ls4 içinde yapılabılır fakat eğer ls2 ile ls4 aynı diyelim sonuç vermiyecektir
  • 24-08-2019, 04:22:51
    #8
    Fonksiyonu sizin için bu şekilde düzenledim;

      public static int Compare(params IList<int>[] lists) {
    var max = lists.Max(x=>x.Count());
    
    for(int i=0;i<lists.Count();i++)
    {
    if(lists[i].Count == max) return i;
    }
    return 0;
    }
    Şöyle kullanabilirsiniz;

    List<int> ls1 = new List<int>() { 1,2 };
    List<int> ls2 = new List<int>() { 1,2,3 };
    List<int> ls3 = new List<int>() { 1,2,3,4,5 };
    List<int> ls4 = new List<int>() { 1,2,3,4 };
    
    List<string> listexp = new List<string>() {"ls1", "ls2", "ls3", "ls4"};
    Console.WriteLine(listexp[Compare(ls1, ls2, ls3, ls4)]);
  • 24-08-2019, 04:52:45
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
               List<int> ls1 = new List<int>() { 1 };
    List<int> ls2 = new List<int>() { 1, 2, 3 };
    List<int> ls3 = new List<int>() { 1, 2, 3, 4, 5 };
    List<int> ls4 = new List<int>() { 1, 2, 3, 4 };
    int[] sayi = new int[4];
    sayi[0] = ls1.Count;
    sayi[1] = ls2.Count;
    sayi[2] = ls3.Count;
    sayi[3] = ls4.Count;
    
    int min = sayi[0];
    int maks = sayi[0];
    
    for (int i = 1; i < sayi.Length; i++)
    {
    if (min > sayi[i])
    min = sayi[i];
    if (maks < sayi[i])
    maks = sayi[i];
    }
    
    if (ls1.Count == maks)
    {
    MessageBox.Show("En çok elemanı olan liste : " + maks + " adet eleman ile ls1 listesi");
    }
    if (ls2.Count == maks)
    {
    MessageBox.Show("En çok elemanı olan liste : " + maks + " adet eleman ile ls2 listesi");
    }
    if (ls3.Count == maks)
    {
    MessageBox.Show("En çok elemanı olan liste : " + maks + " adet eleman ile ls3 listesi");
    }
    if (ls4.Count == maks)
    {
    MessageBox.Show("En çok elemanı olan liste : " + maks + " adet eleman ile ls4 listesi");
                }