5

I have some data which i need to make some statistics. I need to group the users by age.

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

Which i can do as above. However, this gives me ages like 19, 20, 21 etc. what I want is grouping age by 10 years, such as

users between 10-20 yearsold, 20-30 years old, 30-40 years old etc.

How can i get that?

DarthVader
  • 49,515
  • 70
  • 199
  • 295

1 Answers1

6

You can truncate the trailing digit by dividing by ten using integer division, and then multiplying back by ten.

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

Everyone between 0, inclusive, and 10, exclusive, will be in the bucket 0. from 10 to 20 will be under the key 10, from 20 to 30 - under the key 20, and so on.

Sergey Kalinichenko
  • 697,062
  • 78
  • 1,055
  • 1,465