我有一个不同白天(滴答声)的列表。我尝试获取从现在到每个时间元素剩余时间的列表。
List<long> diffliste = new List<long>(m_DummyAtTime);
// 864000000000 ≙ 24h
diffliste.ForEach(item => { item -= now; if (item < 0) item += 864000000000; });
// test, does also not work
// diffliste.ForEach(item => { item -= 500; });
但是,列表没有改变。我错过了什么吗?
(now
是 DateTime.Now.TimeOfDay.Ticks
)
最佳答案
var times = diffliste.Select(ticks => new DateTime(ticks) - DateTime.Now);
将返回从现在到每次之间的 TimeSpans 集合。
不使用 Linq:
List<TimeSpan> spans = diffliste.ConvertAll(ticks => new DateTime(ticks) - DateTime.Now);
(根据马克的建议进行修改)
关于c# - 如何更改 List<long> 的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8255184/