首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

泛型:怎么按出现次数分组

2012-08-25 
泛型:如何按出现次数分组Listint a new Listint{0,3,7,2,3,7,0,1,7,0,2,4,3,4,7,1,2,8,4,8}Listint

泛型:如何按出现次数分组
List<int> a = new List<int>{0,3,7,2,3,7,0,1,7,0,2,4,3,4,7,1,2,8,4,8}

List<int> num = new List<int>{0,1,2,3,4,5,6,7,8,9}


先判断数字0~9的出现次数,

次数<2的数值,也就是569 放入单元格(1,1)
次数=2的数值,也就是18 放入单元格(1,2)
次数>2的数值,也就是02347 放入单元格(1,3)

[解决办法]
var query=a.GroupBy(a=>a).Select(g=>new{k=g.Key,cnt=g.Count()});
次数<2的数值,也就是569 放入单元格(1,1)
// String.Join("",query.Where(x=>x.cnt<2).Select(x=>x.k.ToString()).ToArray());
次数=2的数值,也就是18 放入单元格(1,2)
//String.Join("",query.Where(x=>x.cnt==2).Select(x=>x.k.ToString()).ToArray());
次数>2的数值,也就是02347 放入单元格(1,3)
String.Join("",query.Where(x=>x.cnt>2).Select(x=>x.k.ToString()).ToArray());

热点排行