使用Linq按变量整数范围分组

问题描述

参数化范围上限列表…

var ceilings = new[] { 10, 100, 500 };
var groupings = items.GroupBy(item => ceilings.First(ceiling => ceiling >= item));

解决方法

我正在尝试根据整数的范围对一组数据进行分组,但范围不会以固定的间隔增加。

例如我有

商品ID价格
1 10
2 30
3 50
4 120

我想将价格为0-10、11-100和100-500的商品分组。因此,项目1在组A中,项目2,3在组B中,在组C中在项目4。

我能得出的最接近的是来自(items.price / 10)的项目分组项目

然后将各组放在一起以获得不同的范围。

有任何想法吗?