1

我有时间跨度:“P3M10DT5H2M”我试图用这些代码解析:

var timespan =  "P3M10DT5H2M"
string[] formats = new[] { "'PT's'S'", "'PT'm'M'", "'P'd'D'", "'PT'h'H'", "'P'd'DT'h'H'", "'P'd'DT'h'H'm'M'", "'PT'h'H'm'M'", "'P'd'DT'h'H'm'M's'S'", "'P'm'M'd'DT'h'H'm'M'" };
TimeSpan.ParseExact((string)timespan , formats, CultureInfo.InvariantCulture);

但出现此错误:在 mscorlib.dll 中发生“System.FormatException”类型的第一次机会异常

附加信息:字符串未被识别为有效的时间跨度。

最后一个格式应该与这个字符串匹配,但为什么不匹配?还有另一个问题,我的方式不太好。因为我必须以格式写出所有可能性。所以我应该使用正则表达式而不是格式数组。请帮我。

4

0 回答 0