Найти количество вхождений элемента в массив - C#

Узнай цену своей работы

Формулировка задачи:

использую Distinct, к примеру
int[] temp = new int[] { 11, 11, 11, 12, 13, 13, 14, 14, 15 };
Console.WriteLine(temp.Distinct().Count());
а моя задача собственно состоит в том, что бы оперделить, превышает количество повторенний в 3 элемента или нет. вот код
 oneDay[i].subject = list[randNumber].subject;

                if (oneDay.Select(a => a.subject).Distinct().Count() <= 3)
                {
                    list[randNumber].countHour++;
                }
потом вывожу сие чудо
MessageBox.Show(oneDay.Select(a => a.subject).Distinct().Count().ToString());
и тут какой-то бред D: буду благодарен за помощь

Решение задачи: «Найти количество вхождений элемента в массив»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int[] temp = new int[] { 11, 11, 11, 12, 13, 13, 14, 14, 15, 11, 13, 13, 14, 1, 15, 11 };
 
            IEnumerable<dynamic> result = from c in temp
                group c by c
                into grpC
                where grpC.Count() > 3
                select new {key = grpC.Key, count = grpC.Count()};
 
            //or this
            result = temp.GroupBy(c => c).Where(grp => grp.Count() > 3).Select(grp => new { Key = grp.Key, Count = grp.Count() });
 
            foreach (dynamic item in result)
            {
                Console.WriteLine(string.Format("key: {0}, count: {1}", item.Key, item.Count));
            }
            Console.ReadLine();
 
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы