TimeSpanのコンストラクタでは、時分秒に負の値を指定したり、36時間90分といった値を指定することができます。 負数や大きな値を指定した場合でも、TimeSpanの最大・最小値を越えない限り例外はスローされません。 時間に負の値・分に正の値といった指定もすることが出来ます。 時分秒単位以外にも、DateTime・DateTimeOffsetの精度と同じ単位であるタイマ刻み数(=100ナノ秒)単位の値を指定することも出来ます。

コンストラクタを使ってTimeSpanインスタンスを作成する
using System;

class Sample {
  static void Main()
  {
    // 3日と1時間30分
    var a = new TimeSpan(3, 1, 30, 00);

    // -3時間+90分 (-1時間30分)
    var b = new TimeSpan(-3, 90, 0);

    // 1500ミリ秒
    var c = new TimeSpan(0, 0, 0, 0, 1500);

    // 30,000,000 × 100ナノ秒 = 3秒
    var d = new TimeSpan(30000000);

    Console.WriteLine(a);
    Console.WriteLine(b);
    Console.WriteLine(c);
    Console.WriteLine(d);
  }
}
実行結果
3.01:30:00
-01:30:00
00:00:01.5000000
00:00:03

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。