[英]How can I add a precision within 2 seconds c#
我只是想知道如何增加2秒的精度。 目前,我的代码可以按我希望的方式工作,但是我想增加2000毫秒的精度。
[TestMethod]
public void LocationNameSearch()
{
// Create new stopwatch.
Stopwatch stopwatch = new Stopwatch();
// Begin timing.
stopwatch.Start();
// Import the search method.
System.Threading.Thread.Sleep(2000);
// Stop timing.
stopwatch.Stop();
//Assert
Assert.IsTrue(stopwatch.ElapsedMilliseconds < 3000, **2000**);
}
如果您想在特定值的上方和下方指定2000毫秒的范围,则可以使用以下代码检查经过的毫秒数是否在3000的2000毫秒内。
Assert.IsTrue(stopwatch.ElapsedMilliseconds <= 3000 + 2000
&& stopwatch.ElapsedMilliseconds >= 3000 - 2000
);
编辑:根据评论,听起来需要更多区别:
if (stopwatch.ElapsedMilliseconds >= 3000)
{
if (stopwatch.ElapsedMilliseconds > 5000)
{
Assert.Fail("Error");
}
else
{
// Generate warning
Assert.Fail("Warning");
}
}
如果您的最小标度是2000
则应该这样做。
var lowprec = (stopwatch.ElapsedMilliseconds/2000)*2000; // notice the integer division
if(lowprec < 3000)
{
//pass
}
else if(lowprec < 5000)
{
//warn
}
此处假设经过的时间为3542
毫秒。 lowprec
变为2000
(因为它的最高精度),并且它将通过。
如果经过的时间是4032
毫秒,则lowprec
变为4000
,然后发出警告。
但是,如果我是你,我只会正常比较结果。 在编程中,我们没有50%正确50%错误。 它没有任何意义。 我们只有100%正确或100%错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.