C# 以特定格式比较TimeSpan

C# 以特定格式比较TimeSpan,c#,C#,我只需要一只手来尝试比较TimeSpan值。我已经看过了MSDN,但是很遗憾,那里的例子对我没有多大帮助 我从格式为mm:ss.ffff的两个字符串中获取timespan。我想比较一下。到目前为止,我掌握的代码是: TimeSpan elapsed; TimeSpan maxExpected; if (!String.IsNullOrEmpty(MaximumValue)) { maxExpected = TimeSpan.ParseExact(MaximumValue, "G", nu

我只需要一只手来尝试比较
TimeSpan
值。我已经看过了MSDN,但是很遗憾,那里的例子对我没有多大帮助

我从格式为
mm:ss.ffff
的两个字符串中获取
timespan
。我想比较一下。到目前为止,我掌握的代码是:

TimeSpan elapsed;
TimeSpan maxExpected;
if (!String.IsNullOrEmpty(MaximumValue))
{
    maxExpected = TimeSpan.ParseExact(MaximumValue, "G", null);
    elapsed = TimeSpan.ParseExact(ElapsedTime, "G", null);
    return elapsed < maxExpected;
}

return false;
经过的时间跨度;
预计时间跨度;
如果(!String.IsNullOrEmpty(MaximumValue))
{
maxExpected=TimeSpan.ParseExact(MaximumValue,“G”,null);
已用时间=TimeSpan.ParseExact(ElapsedTime,“G”,null);
返回时间
它引发异常:
System.FormatException:String未被识别为有效的时间跨度。

因此,我不确定我对
ParseExact
期望的格式参数使用了什么?

您需要一个。尝试使用
DateTime
而不是
TimeSpan

maxExpected = DateTime.ParseExact(MaximumValue, "mm.ss.ffff", null);
elapsed = DateTime.ParseExact(ElapsedTime, "mm.ss.ffff", null);
return elapsed < maxExpected;
maxExpected=DateTime.ParseExact(MaximumValue,“mm.ss.ffff”,null);
已用=DateTime.ParseExact(ElapsedTime,“mm.ss.ffff”,null);
返回时间
您看到了吗?您有使用[.](点)或[,](逗号)作为十进制分隔符的windows语言环境设置吗?在哪里可以找到这些设置?MSDN建议我使用mm:ss.ffff作为格式来正确显示毫秒。我仍然希望在其他情况下使用点作为十进制分隔符。我仍然会收到一个不正确的格式异常,即使我传入了值00:02.0000-指定的格式:(酷。谢谢,这很有效。尽管我仍然不知道为什么TimeSpan无法将值解析为指定的格式?