C# 中Stopwatch和timer的實現(xiàn)示例
在C#中,Stopwatch 和 Timer(通常指的是 System.Timers.Timer 或 System.Windows.Forms.Timer)是兩個不同的類,它們用于不同的目的:
Stopwatch 類
Stopwatch 類位于 System.Diagnostics 命名空間,主要用于精確測量時間間隔。它非常適合用于性能分析、測量代碼塊的執(zhí)行時間或任何需要高精度計時的場景。Stopwatch 提供了以下功能:
- 以高精度(通常為計時器分辨率,可能是微秒級別)啟動、停止和重置計時器。
- 提供了
Elapsed屬性,返回一個TimeSpan對象,表示經(jīng)過的時間。 - 支持跨平臺使用,因為它不依賴于操作系統(tǒng)的計時器。
示例代碼:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 執(zhí)行一些操作
for (int i = 0; i < 1000000; i++)
{
// 模擬工作負載
}
stopwatch.Stop();
Console.WriteLine("Elapsed time: " + stopwatch.Elapsed);
}
}Timer 類
Timer 類通常指的是 System.Timers.Timer 或 System.Windows.Forms.Timer,它們用于在指定的時間間隔后執(zhí)行代碼。這些計時器主要用于定時任務(wù),如每隔一段時間執(zhí)行一次操作。
System.Timers.Timer
System.Timers.Timer 位于 System.Timers 命名空間,提供了一個服務(wù)器端的定時器,可以用于任何需要定時執(zhí)行任務(wù)的場景,包括Windows服務(wù)。
示例代碼:
using System;
using System.Timers;
class Program
{
static void Main()
{
Timer timer = new Timer(1000); // 設(shè)置定時器間隔為1000毫秒
timer.Elapsed += (sender, e) =>
{
Console.WriteLine("Timer ticked at " + DateTime.Now);
// 執(zhí)行定時任務(wù)
};
timer.AutoReset = true; // 設(shè)置定時器自動重置
timer.Enabled = true; // 啟動定時器
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
timer.Dispose(); // 清理資源
}
}System.Windows.Forms.Timer
System.Windows.Forms.Timer 位于 System.Windows.Forms 命名空間,主要用于Windows Forms應(yīng)用程序中,以指定的時間間隔觸發(fā)事件。
using System;
using System.Windows.Forms;
class Program
{
static void Main()
{
Timer timer = new Timer();
timer.Interval = 1000; // 設(shè)置定時器間隔為1000毫秒
timer.Tick += (sender, e) =>
{
Console.WriteLine("Timer ticked at " + DateTime.Now);
// 執(zhí)行定時任務(wù)
};
timer.Start(); // 啟動定時器
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
timer.Stop(); // 停止定時器
}
}總結(jié)
- Stopwatch:用于測量時間間隔,適合性能分析和精確計時。
- Timer:用于在指定的時間間隔后執(zhí)行代碼,適合定時任務(wù)。
根據(jù)你的具體需求,可以選擇使用 Stopwatch 來測量時間間隔,或使用 Timer 來執(zhí)行定時任務(wù)。
到此這篇關(guān)于C# 中Stopwatch和timer的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)C# Stopwatch timer內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C#中高精度計時器Stopwatch的用法詳解
- C#使用Stopwatch實現(xiàn)計時功能
- C#?Stopwatch實現(xiàn)計算代碼運行時間
- C#中Stopwatch的使用及說明
- C# 中使用Stopwatch計時器實現(xiàn)暫停計時繼續(xù)計時功能
- 如何使用C# Stopwatch 測量微秒級精確度
- .NET/C# 使用Stopwatch測量運行時間
- C#使用StopWatch獲取程序毫秒級執(zhí)行時間的方法
- C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析
- C#中的Timer和DispatcherTimer使用實例
- C#中的三種定時計時器Timer用法介紹
- C#中三種Timer計時器的詳細用法
- 詳解C#中的定時器Timer類及其垃圾回收機制
- C#使用timer實現(xiàn)的簡單鬧鐘程序
- [C#].NET中幾種Timer的使用實例
相關(guān)文章
基于WPF平臺使用純C#實現(xiàn)動態(tài)處理json字符串
在當今的軟件開發(fā)領(lǐng)域,數(shù)據(jù)的交換與存儲變得愈發(fā)頻繁,JSON作為一種輕量級的數(shù)據(jù)交換格式,在 WPF平臺開發(fā)的桌面應(yīng)用里,我們常常需要與各種數(shù)據(jù)源交互,動態(tài)處理JSON字符串就成為了一項必備技能,本文將深入探討如何在 WPF 平臺上,僅使用純C#代碼實現(xiàn)對JSON字符串的動態(tài)處理2025-01-01
C#實現(xiàn)DataList里面嵌套DataList的折疊菜單
這篇文章主要介紹了C#實現(xiàn)DataList里面嵌套DataList的折疊菜單,以實例形式詳細分析了DataList嵌套實現(xiàn)折疊菜單所涉及的JavaScript、HTML與C#相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11

