gpt4 book ai didi

c# - 如何获取 List 中特定星期几的日期数?

转载 作者:行者123 更新时间:2023-11-30 20:16:02 25 4
gpt4 key购买 nike

美好的一天,我有一个列表,其中有一些日期,我需要得到一周中一天的天数,例如,在一个 int 变量中获取星期日的日期数,另一个 int 用于星期一...

我试过使用下面的代码:

List<int> SundayDates = DateList.FindAll(x => x.DayOfWeek = DayOfWeek.Sunday) 

但它说它是只读的,(DateList 是我存储日期和我想要获取它的位置的列表)。

最佳答案

  • 您需要使用==,即进行相等性检查。单个 = 是一个赋值
  • 要计算出现次数,请使用 Count .
int numberOfSundays = DateList.Count(x => x.DayOfWeek == DayOfWeek.Sunday);

这是一周中每一天的计数。分组连接确保即使某天不在列表中(例如没有出现星期一)它仍然会出现在结果列表中且计数为 0。

dotnetfiddle

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;

关于c# - 如何获取 List<DateTime> 中特定星期几的日期数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com