文字列からTimeSpanに変換するには、ParseメソッドTryParseメソッドを使うことが出来ます。 また、厳密に書式を指定して文字列からTimeSpanへ変換するには、ParseExactメソッドTryParseExactメソッドを使うことが出来ます。 なお、これらのメソッドはいずれも.NET Framework 4から使用可能になっています。

TimeSpan.TryParse/TryParseExactメソッドで文字列からTimeSpanに変換する
using System;

class Sample {
  static void Main()
  {
    var arr = new string[] {
      "1.2:34:5.678",           // 日数と時間の区切りに '.' を用いた形式
      "1:2:34:5.678",           // 日数と時間の区切りに ':' を用いた形式
      "1日2時間34分5秒678",     // 時間単位に日本語を用いた形式
      "01日02時間34分05秒678",
    };

    Console.WriteLine("[TryParse]");

    foreach (var s in arr) {
      // TryParseメソッドで変換を試みる
      TimeSpan ts;

      if (TimeSpan.TryParse(s, out ts))
        // 変換できた場合は結果を表示
        Console.WriteLine("{0} -> {1}", s, ts);
      else
        Console.WriteLine("{0} -> (invalid format)", s);
    }

    Console.WriteLine();

    Console.WriteLine("[TryParseExact]");

    foreach (var s in arr) {
      // TryParseExactメソッドで書式を指定して変換を試みる
      var formats = new string[] {
        "G", // "一般的な形式"を表す書式指定子
        "d'日'h'時間'm'分's'秒'fff", // カスタム書式指定子の組み合わせ
      };

      TimeSpan ts;

      if (TimeSpan.TryParseExact(s, formats, null, out ts))
        // 変換できた場合は結果を表示
        Console.WriteLine("{0} -> {1}", s, ts);
      else
        Console.WriteLine("{0} -> (invalid format)", s);
    }
  }
}
実行結果
[TryParse]
1.2:34:5.678 -> 1.02:34:05.6780000
1:2:34:5.678 -> 1.02:34:05.6780000
1日2時間34分5秒678 -> (invalid format)
01日02時間34分05秒678 -> (invalid format)

[TryParseExact]
1.2:34:5.678 -> (invalid format)
1:2:34:5.678 -> 1.02:34:05.6780000
1日2時間34分5秒678 -> 1.02:34:05.6780000
01日02時間34分05秒678 -> 1.02:34:05.6780000

ToStringメソッドおよびParse*メソッドでは、現在のカルチャの影響を受けるもの(ローカライズされる書式)が存在します。 これらのメソッドと文字列化に関する詳細な動作については日時・文字列の変換と書式でも解説しているので、あわせてご覧ください。