我有一个以这种格式保存时间值的字符串列表:11:25:46.123
,我希望能够从此列表中找到最高和最低时间值。我该怎么做?
我尝试过类似的东西,但我不确定它是否正确,我不知道下一步该做什么。
List<TimeSpan> time = StringList.Select(x => TimeSpan.ParseExact(x, "HH:mm:ss.fff", null)).ToList();
编辑: 我收到了错误:
Input string was not in a correct format.
答案 0 :(得分:7)
我收到错误: 输入字符串的格式不正确。
您的时间跨度格式不正确。试试这个
var StringList = new[] { "21:25:46.123" };
List<TimeSpan> time = StringList
.Select(x => TimeSpan.ParseExact(x, @"hh\:mm\:ss\.fff", null))
.ToList();
var max = time.Max();
var min = time.Min();
答案 1 :(得分:4)
你试过了吗?
TimeSpan maxTimeSpan = time.Max();
TimeSpan minTimeSpan = time.Min();
答案 2 :(得分:4)
试试这个
TimeSpan _maxtime= time.Max(); // For max time
TimeSpan _mintime= time.Min();// For min time
另请参阅MSDN
答案 3 :(得分:2)
不使用ParseExact
尝试List<TimeSpan> times = StringList
.Select(x => TimeSpan.Parse(x))
.OrderBy(ts => ts)
.ToList();
TimeSpan shortest = times.First();
TimeSpan longest = times.Last();