繁体   English   中英

我如何在2秒内增加精度C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM