TimeSpan.Add()与TimeSpan.FromMinutes(1)一起使用

Han*_*del 0 c# timespan c#-4.0

我想尝试在现有的TimeSpan对象上添加1分钟.我想避免声明一个新的TimeSpan对象,并认为以下代码可以工作:

ts3.Add(TimeSpan.FromMinutes(1));
Run Code Online (Sandbox Code Playgroud)

MSDN信息将TimeSpan.Add方法签名声明为:

public TimeSpan Add(TimeSpan ts)
Run Code Online (Sandbox Code Playgroud)

和TimeSpan.FromMinutes方法为:

public static TimeSpan FromMinutes(double value)
Run Code Online (Sandbox Code Playgroud)

添加需要一个TimeSpan对象,而FromMinutes返回一个TimeSpan对象,所以我不明白为什么我不能同时使用它们,如第一个代码块中所述.

如果有人能指出我哪里出错了,我会很感激.

谢谢.

Jon*_*eet 8

可以结合使用它们 - 但您需要知道它TimeSpan本身是不可变的 - 您需要使用返回值:

TimeSpan result = ts3.Add(TimeSpan.FromMinutes(1));
Run Code Online (Sandbox Code Playgroud)

或者你总是可以分配回同一个变量:

ts3 = ts3.Add(TimeSpan.FromMinutes(1));
Run Code Online (Sandbox Code Playgroud)

就个人而言,我会使用运算符重载:

TimeSpan result = ts3 + TimeSpan.FromMinutes(1);
Run Code Online (Sandbox Code Playgroud)

要么

ts3 += TimeSpan.FromMinutes(1);
Run Code Online (Sandbox Code Playgroud)