我有以下用户实体:
public class User
{
public DateTime Birthday { get; set; }
}
如何按年龄范围计算用户数?类似的东西:
0 to 5
5 to 15
...
我尝试了以下内容:
var usersByAge = context.Users.GroupBy(x => x.Info.Birthday).Count();
但是这会按照他们的生日对用户进行分组,并按天计算。 它按天计算,因为时间总是空的......
但我需要按年龄范围分组。 例如,获取从生日到DateTime.Now的年份范围。 然后按“0-5”,“5-15”分组,......然后计数。
我该怎么做?请告诉我是否清楚。
答案 0 :(得分:1)
您可以选择像这样过滤它们:
var year = DateTime.Now.Year;
var users = yourUserCollection.Count(x =>
x.BirthDay.Year - year >= 5 &&
x.BirthDay.Year - year <= 11);