我做了一個程序,它是一個使用C#和Xamarin平臺的隨機數生成器。我把一個特定的號碼作爲目標,PC必須隨機抽取數字,當它找到目標號碼時,它給了我找到號碼的試驗次數。我只想念一件事,我想要一個計時器,這樣我就能知道找到這個號碼花了多少時間。當它找到它時,定時器停止錄製。如何做到這一點?如何在C#中記錄持續時間?
回答
可以使用秒錶類,記錄持續時間:
// Create new stopwatch.
Stopwatch stopwatch = new Stopwatch();
// Begin timing.
stopwatch.Start();
// Do something.
for (int i = 0; i < 1000; i++)
{
Thread.Sleep(1);
}
// Stop timing.
stopwatch.Stop();
// Write result.
Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
好吧,我會嘗試。當程序找到目標號碼時,這個計時器是否停止?對不起,我還是個初學者.. – Ayman
@Ayman'Stopwatch'將在你調用'stopwatch.Stop()'時停止,所以當你找到目標號碼時,只需調用'Stop()',你會得到預期的結果。 – dylansturg
@Dylan S,我希望它在發現數字時自動停止,因爲它可能需要數小時才能找到它。 – Ayman
你並不需要爲這個計時器。只是這樣做讓經過的毫秒
var startTime = Environment.TickCount;
// do some work.
var timeTaken =Environment.TickCount-startTime;
- 你的函數
- 登錄你的函數
輸出結果在幾秒鐘或任何之後的結束時間之前登錄的開始時間,你想
單位// 1) Log the start time before your function long startTime = DateTime.Now.Ticks; // 2) Log the finish time after your function double secondsElapsed = new TimeSpan(DateTime.Now.Ticks - startTime).TotalSeconds; // 3) Output result in seconds or whichever units you want Debug.WriteLine($"Function took: {secondsElapsed}");
歡迎來到StackOverflow!我想評論你的答案。你沒有錯,但這不是最好的答案。使用'DateTime'結構對於計算操作時序並不夠精確。 – Cameron
什麼更精確呢? – epenabella
System.Diagnostics命名空間中的'Stopwatch'類是首選和推薦的類。 – Cameron
- 1. SQL時間持續記錄
- 2. CXF呼叫持續時間記錄
- 3. 如何在C++中查找持續時間(時間)單位11
- 4. Symfony2:如何將查詢持續時間記錄到日誌/ dev.log
- 5. 如何記錄應用程序會話持續時間?
- 6. 如何使用cloudfront記錄請求持續時間?
- 7. 如何記錄JDBC/Hibernate事務持續時間?
- 8. 記錄時間的最佳輸入類型持續時間Html
- 9. 如何計算Spark/Scala中的記錄之間的持續時間?
- 10. 獲取連續記錄視圖的持續時間
- 11. C#DateTime TimeSpan持續時間?
- 12. 如何提取只包含持續時間的持續時間?
- 13. 兩個日期之間的查詢記錄持續時間
- 14. 記錄會話持續時間在asp.net網站
- 15. C++保持最長的連續記錄
- 16. 如何在C中設置歌曲的持續時間#
- 17. 持續時間
- 18. 如何在iCalendar中設置日期,時間和持續時間?
- 19. 在C++ std中,如何在運行時選擇計時器的持續時間
- 20. Postgres沒有記錄所有查詢,儘管記錄了持續時間
- 21. 持續記錄練習
- 22. Java - 記錄持續時間的實用方法
- 23. 以hh-mm-ss格式呼叫記錄持續時間
- 24. 時間片持續時間
- 25. Red5錄製文件持續時間
- 26. 如何時間可持續更新C#中的文本框
- 27. 如何解析目標C中的ISO-8601持續時間?
- 28. 如何知道循環持續時間在c#
- 29. 分組記錄了60分鐘持續時間,從所述第一記錄的時間戳開始小時
- 30. 記者:聯繫持續時間和間隔時間
看看[StopWatch](https://msdn.microsoft.com/de-de/library/system.diagno stics.stopwatch(V = vs.110)的.aspx)。這可以衡量時間跨度。 –