0

この形式の時間値を保持する文字列リストがあります: 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.
4

4 に答える 4

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();
于 2013-09-03T09:50:17.977 に答える
4

これを試して

TimeSpan _maxtime= time.Max(); // For max time
TimeSpan _mintime= time.Min();// For min time

MSDNも見てください

于 2013-09-03T09:42:50.383 に答える
2

ParseExact を使わずに試す

List<TimeSpan> times = StringList
    .Select(x => TimeSpan.Parse(x))
    .OrderBy(ts => ts)
    .ToList();
TimeSpan shortest = times.First();
TimeSpan longest = times.Last();
于 2013-09-03T09:49:29.353 に答える