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