using System;
using System.Globalization;
using System.Linq;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
string[] strings = new[] { "1:23:45.6", "23:45.6", "23:45", "1:23:45" };
string[] formats = new[] { "H:mm:ss.f", "H:mm.f", "H:mm", "H:mm:ss" };
TimeSpan[] timespans = strings
.Select(str =>
{
TimeSpan? ts = null;
DateTime dt;
if (DateTime.TryParseExact(str, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
ts = dt.TimeOfDay;
return ts;
})
.Where(ts => ts.HasValue)
.Select(ts => ts.Value)
.ToArray();
foreach(TimeSpan ts in timespans)
Console.WriteLine(ts.ToString());
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgCgoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgICAgc3RyaW5nW10gc3RyaW5ncyA9IG5ld1tdIHsgIjE6MjM6NDUuNiIsICIyMzo0NS42IiwgIjIzOjQ1IiwgIjE6MjM6NDUiIH07CiAgICAgICAgc3RyaW5nW10gZm9ybWF0cyA9IG5ld1tdIHsgIkg6bW06c3MuZiIsICJIOm1tLmYiLCAiSDptbSIsICJIOm1tOnNzIiB9OwogICAgICAgIFRpbWVTcGFuW10gdGltZXNwYW5zID0gc3RyaW5ncwogICAgICAgICAgICAuU2VsZWN0KHN0ciA9PgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBUaW1lU3Bhbj8gdHMgPSBudWxsOwogICAgICAgICAgICAgICAgRGF0ZVRpbWUgZHQ7CiAgICAgICAgICAgICAgICBpZiAoRGF0ZVRpbWUuVHJ5UGFyc2VFeGFjdChzdHIsIGZvcm1hdHMsIEN1bHR1cmVJbmZvLkludmFyaWFudEN1bHR1cmUsIERhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCBkdCkpCiAgICAgICAgICAgICAgICAgICAgdHMgPSBkdC5UaW1lT2ZEYXk7CiAgICAgICAgICAgICAgICByZXR1cm4gdHM7CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIC5XaGVyZSh0cyA9PiB0cy5IYXNWYWx1ZSkKICAgICAgICAgICAgLlNlbGVjdCh0cyA9PiB0cy5WYWx1ZSkKICAgICAgICAgICAgLlRvQXJyYXkoKTsKICAgICAgICBmb3JlYWNoKFRpbWVTcGFuIHRzIGluIHRpbWVzcGFucykKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUodHMuVG9TdHJpbmcoKSk7Cgl9Cn0=