我有一个来源整数列表,数字从0到50。
然后我想要一个分组目标列表,意思是:
group1: 1,2,3,4,5,6,7,8,9,10
group2: 11,12,13,14,15,16,17,18,19,20
group3: etc... ,30
group4: etc... ,40
group5: etc... ,50
这里的groupFactor是5。
如何根据可能是任意数字的组因子对整数列表进行分组?
更新
如果组因子是6 会有一个额外的:
group6: etc... ,60
答案 0 :(得分:2)
让k成为你的组因子。通过将列表成员乘以k然后除以50来对列表进行分组,并将序列分组到结果商上。
答案 1 :(得分:0)
试试这个
static void Main(string[] args)
{
List<int> input = new List<int>();
for (int i = 0; i <= 50; i++)
{
input.Add(i);
}
List<List<int>> output = input.Select((x, i) => new { x = x, i = (int)(x / 10) }).GroupBy(y => y.i).Select(z => z.Select(a => a.x).ToList()).ToList();
}
答案 2 :(得分:0)
你的问题有点模糊,但对于你提供的样本,我发现这个奇特的小组:)
var list = new List<int>();
for (int i=0; i <= 50; i++)
{
list.Add(i);
}
var result = list.GroupBy( n => (n-1)/10 );