上午, 我试图向现有的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对象,所以我不明白为什么我不能同时使用它们,如第一个代码块中所述。
如果有人能指出我哪里出错了,我会很感激。
感谢。
答案 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)
您当然可以按照指示的方式使用时间跨度。您的问题中没有任何内容表明存在任何问题。