## Definition

Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

``````public:
``public TimeSpan Add (TimeSpan ts);``
``member this.Add : TimeSpan -> TimeSpan``
``Public Function Add (ts As TimeSpan) As TimeSpan``

ts
TimeSpan

#### Returns

TimeSpan

A new object that represents the value of this instance plus the value of `ts`.

#### Exceptions

The resulting TimeSpan is less than TimeSpan.MinValue or greater than TimeSpan.MaxValue.

## Examples

The following example calls the Add method to add each element in an array of time intervals to a base TimeSpan value.

``````TimeSpan baseTimeSpan = new TimeSpan(1, 12, 15, 16);

// Create an array of timespan intervals.
TimeSpan[] intervals = {
TimeSpan.FromDays(1.5),
TimeSpan.FromHours(1.5),
TimeSpan.FromMinutes(45),
TimeSpan.FromMilliseconds(505),
new TimeSpan(1, 17, 32, 20),
new TimeSpan(-8, 30, 0)
};

// Calculate a new time interval by adding each element to the base interval.
foreach (var interval in intervals)
Console.WriteLine(@"{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}",
interval < TimeSpan.Zero ? "-" : "+");

// The example displays the following output:
//       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
//       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
//       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
//       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
//       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
//       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
``````
``````open System

let baseTimeSpan = TimeSpan(1, 12, 15, 16)

// Create a list of timespan intervals.
let intervals =
[ TimeSpan.FromDays 1.5
TimeSpan.FromHours 1.5
TimeSpan.FromMinutes 45
TimeSpan.FromMilliseconds 505
TimeSpan(1, 17, 32, 20)
TimeSpan(-8, 30, 0) ]

// Calculate a new time interval by adding each element to the base interval.
for interval in intervals do
printfn \$"""{baseTimeSpan,-10:g} {if interval < TimeSpan.Zero then "-" else "+"} {interval.ToString "%d\:hh\:mm\:ss\.ffff",15} = {baseTimeSpan.Add(interval).ToString "%d\:hh\:mm\:ss\.ffff"}"""

// The example displays the following output:
//       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
//       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
//       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
//       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
//       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
//       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
``````
``````Module Example
Public Sub Main()
Dim baseTimeSpan As New TimeSpan(1, 12, 15, 16)
' Create an array of timespan intervals.
Dim intervals() As TimeSpan = { TimeSpan.FromDays(1.5),
TimeSpan.FromHours(1.5),
TimeSpan.FromMinutes(45),
TimeSpan.FromMilliseconds(505),
New TimeSpan(1, 17, 32, 20),
New TimeSpan(-8, 30, 0) }
' Calculate a new time interval by adding each element to the base interval.
For Each interval In intervals
Console.WriteLine("{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}", baseTimeSpan, interval,
baseTimeSpan.Add(interval), If(interval < TimeSpan.Zero, "-", "+"))
Next
End Sub
End Module
' The example displays the following output:
'       1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
'       1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
'       1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
'       1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
'       1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
'       1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
``````

## Remarks

The return value must be between TimeSpan.MinValue and TimeSpan.MaxValue; otherwise, an exception is thrown.

The return value is a new TimeSpan; the original TimeSpan is not modified.