我正在嘗試爲TimeTime變量列表分配時間。 但是我執行linq foreach之後顯示爲00:00:00。 請讓我知道我哪裏錯了。在此先感謝未將時間分配給DateTime變量
TimeSpan ts = DateTime.Now.TimeOfDay;
List<DateTime> lstdt = dates.Where(d => d.Date == tpl.Item1).ToList();
lstdt.ForEach(d => d = d.Date + ts);
我正在嘗試爲TimeTime變量列表分配時間。 但是我執行linq foreach之後顯示爲00:00:00。 請讓我知道我哪裏錯了。在此先感謝未將時間分配給DateTime變量
TimeSpan ts = DateTime.Now.TimeOfDay;
List<DateTime> lstdt = dates.Where(d => d.Date == tpl.Item1).ToList();
lstdt.ForEach(d => d = d.Date + ts);
嘗試這樣的:
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
你的代碼woul d是:
foreach (var d in lstdt) {
d = d.Date + ts;
}
這將在預期的時間分配給變量d
但不會在列表中被改變。與linq
沒有區別。
謝謝塞巴斯蒂安。它的工作:) 我有另一個需要。對於lstdt中的每個元素,我想將時間跨度增加一定的時間。這怎麼可能?? 例如:假設ts是09:00 foreach元素它必須分配09:00然後11:00等等.. 如果我能夠在分配時間的情況下做到這一點,那將是一件好事。 – IamP
@PrabhuChandan這是一個不同的問題,你應該發佈一個新的問題。 – Jonesopolis
ts值究竟是什麼? –
我剛更新了代碼。請看一看。 ts是TimeSpan – IamP