按年龄范围对用户进行分组

5

我有一些数据需要进行统计,需要按年龄对用户进行分组。

var byAge = displayResult.GroupBy(x => x.Age);

我可以按照上述方法进行操作。但是,这会给我一些像19、20、21等年龄。我想要的是按10年为单位分组的年龄,例如

10-20岁的用户、20-30岁的用户、30-40岁的用户等。

我应该怎么做呢?


这些年龄重叠(在10、20、30等处)。 - Jacob Proffitt
1个回答

7
您可以通过使用整数除法将末尾数字截断,然后再乘以十来实现。请看下面的示例代码:

你可以通过使用整数除法将末尾数字截断,然后再乘以十来实现。

 var byAge = displayResult.GroupBy(x => 10*(x.Age/10));

0到10岁(包括0岁但不包括10岁)的人将被归为“0”组。年龄在10到20岁之间的人将被归为“10”组,20到30岁之间的人将被归为“20”组,以此类推。


除法本身就足够了。 - Jeff Mercado
4
可以的,但是这样就需要将组的关键值乘以十来确定原始年龄所属的范围。我认为在分组之前将关键值乘以十会更加直观。 - Sergey Kalinichenko
啊,我更关心的是分组而不是键。 - Jeff Mercado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接