Есть ли ошибка в TimeSpan? - PullRequest
       7

Есть ли ошибка в TimeSpan?

4 голосов
/ 17 сентября 2010

Будет выведено «0»:

TimeSpan span = TimeSpan.Zero;
span.Add(TimeSpan.FromMinutes(5));
Console.WriteLine(span.TotalSeconds);   -----> 

Однако, это выведет «300»:

TimeSpan span = TimeSpan.Zero.Add(TimeSpan.FromMinutes(5));
Console.WriteLine(span.TotalSeconds);   -----> 

Это известная ошибка?

Ответы [ 2 ]

17 голосов
/ 17 сентября 2010

TimeSpan.Add не изменяет ввод - он возвращает новый TimeSpan, который является вводом плюс добавление:

Примечания

Возвращаемое значение должно быть между TimeSpan.MinValue и TimeSpan.MaxValue; в противном случае исключение.

Возвращаемое значение - новый интервал времени; исходный интервал времени не изменяется.

0 голосов
/ 17 сентября 2010

Не ошибка в Timespan, но .... в том, как структуры копируются в C #.

...