为什么我的 TimeSpan.Add() 不起作用?
必须有一个简单的答案:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
TimeSpan 是值类型。
尝试:
totalTime =totalTime.Add(time)
TimeSpans are value types.
Try:
totalTime = totalTime.Add(time)
这是一个常见的错误。
TimeSpan.Add
返回TimeSpan
的新实例。This is a common mistake.
TimeSpan.Add
returns a new instance ofTimeSpan
.TimeSpan 是值类型,可以使用类似于整型和浮点数值类型的 += 运算符。我发现 += 运算符在这种情况下使用起来很方便,与编写
x = x + y
相同。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
.