1

我有以下用户实体:

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”,...分组,然后计数。

我怎样才能做到这一点?请让我知道是否清楚。

4

1 回答 1

1

您可以像这样选择过滤它们:

var year = DateTime.Now.Year;
var users = yourUserCollection.Count(x =>
    x.BirthDay.Year - year >= 5 && 
    x.BirthDay.Year - year <= 11);
于 2013-03-08T22:51:27.193 回答