Найти количество вхождений элемента в массив - C#
Формулировка задачи:
использую Distinct,
к примеру
а моя задача собственно состоит в том, что бы оперделить, превышает количество повторенний в 3 элемента или нет.
вот код
потом вывожу сие чудо
и тут какой-то бред D:
буду благодарен за помощь
int[] temp = new int[] { 11, 11, 11, 12, 13, 13, 14, 14, 15 };
Console.WriteLine(temp.Distinct().Count()); 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());
Решение задачи: «Найти количество вхождений элемента в массив»
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();
}
}
}