0

朝、既存の 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 オブジェクトを返すため、最初のコード ブロックで述べたように、両方を組み合わせて使用​​できない理由がわかりません。

誰かが私が間違っている場所を指摘できれば幸いです。

ありがとう。

4

3 に答える 3

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);
于 2012-06-25T08:20:12.323 に答える
1

既存の TimeSpan に分を追加するには、新しい TimeSpan を作成する必要があります。

唯一の方法は myTimeSpan.Add(TimeSpan.FromMinutes(xxx)) であり、加算の結果として返された値を使用します

于 2012-06-25T08:21:15.037 に答える
0

確かに、指定した方法でタイムスパンを使用できます。あなたの質問には何も問題はありません。

于 2012-06-25T08:19:37.367 に答える