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

时间:2012-06-25 08:15:30

标签: c# c#-4.0 timespan

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

ts3.Add(TimeSpan.FromMinutes(1));

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

public TimeSpan Add(TimeSpan ts)

和TimeSpan.FromMinutes方法为:

public static TimeSpan FromMinutes(double value)

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

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

感谢。

3 个答案:

答案 0 :(得分:8)

可以一起使用它们 - 但是你需要知道TimeSpan本身是不可变的 - 你需要使用返回值:

TimeSpan result = ts3.Add(TimeSpan.FromMinutes(1));

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

ts3 = ts3.Add(TimeSpan.FromMinutes(1));

我个人也会使用运算符重载:

TimeSpan result = ts3 + TimeSpan.FromMinutes(1);

ts3 += TimeSpan.FromMinutes(1);

答案 1 :(得分:1)

您必须创建一个新的TimeSpan,以便为现有的TimeSpan添加一分钟。

唯一的方法是myTimeSpan.Add(TimeSpan.FromMinutes(xxx))并使用返回的值作为添加的结果

答案 2 :(得分:0)

您当然可以按照指示的方式使用时间跨度。您的问题中没有任何内容表明存在任何问题。