c# - 如何更改 List<long> 的每个元素?

标签 c#

我有一个不同白天(滴答声)的列表。我尝试获取从现在到每个时间元素剩余时间的列表。

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; }); 

但是,列表没有改变。我错过了什么吗? (nowDateTime.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/

相关文章:

c# - OpenFileDialog 路径问题

c# - 如何拆分字符串中的字符并在 C# 中执行求和

C# 线程 - 如何启动和停止线程

c# - Win32 api - 如何检查指定句柄是否为窗口? (并且不是窗口内的控件)

c# - Azure Key Vault API 的有效 WebKeyType 列表是什么

c# - 向 ASP.NET Core 3.1 标准 JSON BadRequest 响应添加详细消息

c# - 带有 Entity Framework 6 的 mysql 5.7 - 用户 'root' @'localhost' 拒绝访问(使用密码 : NO)

c# - 隐藏代码中的 WPF 命令未触发

与原始查询相比,C# LINQ 查询创建低效的 SQL

c# - 显示 HH :mm:ss in DateTime x axis in Chart C#