未将时间分配给DateTime变量

本文关键字:DateTime 变量 分配 时间 | 更新日期: 2023-09-27 18:16:00

我正在尝试为DateTime变量列表分配时间。但在我执行linqforeach之后,时间显示为00:00:00。请告诉我哪里出了问题。提前感谢

TimeSpan ts = DateTime.Now.TimeOfDay;    
List<DateTime> lstdt = dates.Where(d => d.Date == tpl.Item1).ToList();
lstdt.ForEach(d => d = d.Date + ts);

未将时间分配给DateTime变量

试试这个:

List<DateTime> lstdt = dates.Where(d => d.Date == tpl.Item1).ToList();
var myList = lstdt.Select(d => d.Date + ts).ToList();

或在一行中

dates.Where(d => d.Date == tpl.Item1).Select(d => d.Date + ts);

您正在将值分配给d,但这不会更改列表中的原始日期

使用传统的foreach,您的代码将是:

foreach (var d in lstdt) {
     d = d.Date + ts;
}

其将预期时间分配给变量CCD_ 3但不会在列表中改变。与linq无差异。