早上好,我有一个列表,其中有一些日期,我需要获取一周中一天的天数,例如,获取int变量中星期天的日期数,另一个为int星期一...
我尝试使用以下代码:
List<int> SundayDates = DateList.FindAll(x => x.DayOfWeek = DayOfWeek.Sunday)
但是它说它是只读的(而DateList是我存储日期和要获取日期的列表)。
答案 0 :(得分:6)
==
,即进行相等性检查。单个=
是一项任务int numberOfSundays = DateList.Count(x => x.DayOfWeek == DayOfWeek.Sunday);
这是一周中每一天的计数。分组联接确保即使列表中不存在一天(例如,星期一不出现),其仍将出现在结果列表中,且计数为0。
var DateList = new List<DateTime>(); // your populated list of dates
var allDaysOfWeek = Enum.GetValues(typeof(DayOfWeek)).Cast<DayOfWeek>();
var totalDayCounts = allDaysOfWeek.GroupJoin(DateList, dayOfWeek => dayOfWeek, date => date.DayOfWeek, (dayOfWeek, times) => new
{
DayOfTheWeek = dayOfWeek,
DayOfWeekCount = times.Count()
});
不要忘记在代码文件的顶部添加using System.Linq;