我有重複號碼的清單:LINQ:的GroupBy,每組最大計數
Enumerable.Range(1,3).Select(o => Enumerable.Repeat(o, 3)).SelectMany(o => o)
// {1,1,1,2,2,2,3,3,3}
I組他們,並得到一次出現的數量:
Enumerable.Range(1,3).Select(o => Enumerable.Repeat(o, 3)).SelectMany(o => o)
.GroupBy(o => o).Select(o => new { Qty = o.Count(), Num = o.Key })
Qty Num
3 1
3 2
3 3
我真正需要的是限制每個組的數量爲某個數字。如果限制是2以上分組的結果將是:
Qty Num
2 1
1 1
2 2
1 2
2 3
1 3
所以,如果數量= 10和下限爲4,則結果爲3行(4,4,2)。每個數字的數量與例子中的數量不相等。指定的數量限制對於整個列表是相同的(不因數量而異)。
感謝
我只是好奇。這個算法用於什麼? – Luke101 2010-06-04 03:33:19
我需要以這種格式爲CNC機器吐出數據。 – JKJKJK 2010-06-30 19:58:02