Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取从StartDate到EndDate的日期列表_C#_Linq_Lambda - Fatal编程技术网

C# 获取从StartDate到EndDate的日期列表

C# 获取从StartDate到EndDate的日期列表,c#,linq,lambda,C#,Linq,Lambda,如何使用linq或lambda表达式获取开始日期和结束日期之间的日期列表 DateTime StartDate = DateTime.Now; DateTime EndDate = DateTime.Now.AddMonths(13); List<DateTime> ListofDates = //Contains list of all dates only between start and end date. DateTime StartDate=DateTime.Now;

如何使用linq或lambda表达式获取开始日期和结束日期之间的日期列表

DateTime StartDate = DateTime.Now;
DateTime EndDate = DateTime.Now.AddMonths(13);
List<DateTime> ListofDates = //Contains list of all dates only between start and end date.
DateTime StartDate=DateTime.Now;
DateTime EndDate=DateTime.Now.AddMonths(13);
List ListofDates=//仅包含开始日期和结束日期之间的所有日期的列表。

首先,当您想要
日期而不是
日期时间时,最好使用
DateTime.Now.Date
而不仅仅是
DateTime.Now

我已经编辑了SLaks代码,所以你可以得到你想要的日期列表

DateTime StartDate = DateTime.Now.Date;
DateTime EndDate = DateTime.Now.Date.AddMonths(13);
IEnumerable<double> daysToAdd = Enumerable.Range(0,
                                                (EndDate - StartDate).Days + 1)
                                            .ToList().ConvertAll(d => (double)d);
IEnumerable<DateTime> ListOfDates = daysToAdd.Select(StartDate.AddDays).ToList();
DateTime StartDate=DateTime.Now.Date;
DateTime EndDate=DateTime.Now.Date.AddMonths(13);
IEnumerable daysToAdd=可枚举范围(0,
(结束日期-开始日期)。天数+1)
.ToList().ConvertAll(d=>(double)d);
IEnumerable ListOfDates=daysToAdd.Select(StartDate.AddDays.ToList();
请注意,我在可枚举列表中添加了
+1
,这样您就可以同时拥有
开始日期和
结束日期(您没有指定它)

列表日期=可枚举范围(0,(EndDate-StartDate).Days)
.Select(i=>StartDate.AddDays(i))
.ToList();

它会根据需要将列表列表返回给我list@SOFUser:这不会返回日期时间。
DateTime StartDate = DateTime.Now.Date;
DateTime EndDate = DateTime.Now.Date.AddMonths(13);
IEnumerable<double> daysToAdd = Enumerable.Range(0,
                                                (EndDate - StartDate).Days + 1)
                                            .ToList().ConvertAll(d => (double)d);
IEnumerable<DateTime> ListOfDates = daysToAdd.Select(StartDate.AddDays).ToList();
List<DateTime> ListofDates = Enumerable.Range(0, (EndDate - StartDate).Days)
                                       .Select(i => StartDate.AddDays(i))
                                       .ToList();