Страница 1 из 1

Как посчитать кол-во элементов списка с опр значениями

СообщениеДобавлено: 23 окт 2020, 00:23
EasyWayOut
Помогите пожалуйста

Есть список карт класса Card, у каждого элемента списка есть значение _value типа int
Необходимо посчитать сколько в списке карт с одинаковыми _value и выдать количество карт у которых больше всего совпадений по _value

Пример, если _value карт 1 2 2 3 3 3 4 4 5 5 то на выходе получаем число 3

Re: Как посчитать кол-во элементов списка с опр значениями

СообщениеДобавлено: 23 окт 2020, 00:33
waruiyume
Словарь: ключ- #карты, значение- кол-ко найденных карт
Обходим карты форичем и заполняем словарь.
Обходим словарь ища самое жирное значение.

ЗЫ Наверняка есть какая-то весёлая хреновина для линкю, которая это делает. Если кто знает, поделитесь пожалуйста.

Re: Как посчитать кол-во элементов списка с опр значениями

СообщениеДобавлено: 23 окт 2020, 02:52
1max1
Синтаксис:
Используется csharp
    class Program
    {
        static void print(object obj) => Console.WriteLine(obj);

        class Test
        {
            public int value;
            public string name;

            public Test(int i)
            {
                value = i;
            }
        }

        static void Main(string[] args)
        {
            List<Test> l = new List<Test>();

            l.Add(new Test(1));
            l.Add(new Test(2));
            l.Add(new Test(2));
            l.Add(new Test(3));
            l.Add(new Test(3));
            l.Add(new Test(3));
            l.Add(new Test(4));

            var group = l.GroupBy((t) => t.value);

            var max = group.Max((e) => e.Count());

            print(max); // 3
            print('\n');
        }
    }

Re: Как посчитать кол-во элементов списка с опр значениями

СообщениеДобавлено: 23 окт 2020, 12:58
jetyb
Синтаксис:
Используется csharp
var s = (new int[] { 1, 1, 2, 2, 2, 2, 2, 3, 3, 3 }).GroupBy(i => i).Max(i => i.Count());
 

Re: Как посчитать кол-во элементов списка с опр значениями

СообщениеДобавлено: 23 окт 2020, 17:01
1max1
jetyb писал(а):
Синтаксис:
Используется csharp
var s = (new int[] { 1, 1, 2, 2, 2, 2, 2, 3, 3, 3 }).GroupBy(i => i).Max(i => i.Count());
 

Изображение