为什么我的 TimeSpan.Add() 不起作用?

发布于 2024-09-16 08:30:46 字数 332 浏览 5 评论 0原文

必须有一个简单的答案:

var totalTime = TimeSpan.Zero;

foreach (var timesheet in timeSheets)
{
   //assume "time" is a correct, positive TimeSpan
   var time = timesheet.EndTime - timesheet.StartTime;
   totalTime.Add(time);
}

timeSheets 列表中只有一个值,并且它是一个正的 TimeSpan(在本地检查中验证)。

There has to be an easy answer:

var totalTime = TimeSpan.Zero;

foreach (var timesheet in timeSheets)
{
   //assume "time" is a correct, positive TimeSpan
   var time = timesheet.EndTime - timesheet.StartTime;
   totalTime.Add(time);
}

There's only one value in the list timeSheets and it is a positive TimeSpan (verified on local inspection).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

逆夏时光 2024-09-23 08:30:46

TimeSpan 是值类型。
尝试:

totalTime =totalTime.Add(time)

TimeSpans are value types.
Try:

totalTime = totalTime.Add(time)

儭儭莪哋寶赑 2024-09-23 08:30:46

这是一个常见的错误。 TimeSpan.Add 返回 TimeSpan 的新实例。

This is a common mistake. TimeSpan.Add returns a new instance of TimeSpan.

旧夏天 2024-09-23 08:30:46
totalTime = totalTime.Add(time)
totalTime = totalTime.Add(time)
七分※倦醒 2024-09-23 08:30:46

TimeSpan 是值类型,可以使用类似于整型和浮点数值类型的 += 运算符。我发现 += 运算符在这种情况下使用起来很方便,与编写 x = x + y 相同。

var totalTime = TimeSpan.Zero;

foreach (var timesheet in timeSheets)
{
   totalTime += (timesheet.EndTime - timesheet.StartTime);
}

TimeSpans are value types and can use the += operator similar to integral and floating point numeric types. I find the += operator neat to use in this situation which is the same as writing x = x + y.

var totalTime = TimeSpan.Zero;

foreach (var timesheet in timeSheets)
{
   totalTime += (timesheet.EndTime - timesheet.StartTime);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文