我有一个小方法来获取特定年龄范围内的成员数量。该范围应该包括两端,即如果我调用CountSelection(memberList, 16, 19)(memberLista在哪里List<Member>),我希望将 16、17、18 和 19 岁的成员人数加在一起:
private int CountSelection(List<Member> members, int minAge, int maxAge)
{
DateTime from = DateTime.Now.AddYears(minAge * -1);
DateTime to = DateTime.Now.AddYears(maxAge * -1);
return members.Count(m =>
m.DateBorn.Date <= from.Date &&
m.DateBorn.Date >= to.Date);
}
但是,我的方法不可靠 - 有时它会省略成员,我猜测出生日期何时落在范围之间。在main方法中,我调用CountSelection()了几次,每次调用的范围都不一样,理论上覆盖所有年龄层。
查询应该是什么样子才能保证所有成员都被计算在内?
万千封印
慕容3067478
相关分类