1

次の User エンティティがあります。

public class User
{
  public DateTime Birthday { get; set; }
}

年齢層別にユーザーをカウントするにはどうすればよいですか? 何かのようなもの:

0 to 5
5 to 15
...

私は次のことを試しました:

var usersByAge = context.Users.GroupBy(x => x.Info.Birthday).Count();

ただし、これはユーザーを誕生日でグループ化し、日ごとにカウントします。時間は常に null であるため、日単位でカウントされます...

しかし、年齢範囲でグループ化する必要があります。たとえば、誕生日から 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 に答える