在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在廣大的程式語言中,C# 因其多功能和強大的特性而脫穎而出,用於開發各種類型的應用程式,從桌面到網路及行動應用程式。 C# 受到開發者青睞的關鍵特點之一是其豐富的程式庫和類別集,能夠提供各種程式設計挑戰的解決方案。 其中,這些秒表類別在精確時間測量、分析、和效能分析中具有特殊的重要性。
在本文中,我們將了解如何在 C# 中使用 Stopwatch 物件來通過公有 TimeSpan Elapsed 屬性找到完成特定任務所花費的時間。 此外,我們將計時使用進行 PDF 創建的總耗時時間IronPDF 適用於 C# 開發人員.
Stopwatch
類別是 C# 中 System.Diagnostics
命名空間的一部分,提供了一種簡單且高效的方法來以高精度測量經過的時間。 它是隨著 .NET Framework 推出的一項重要工具,對於開發人員來說,在跟蹤代碼段的執行時間、優化性能和分析應用程序方面非常有價值。
使用 Stopwatch
類別很簡單。 要開始使用,您首先需要創建一個新的 Stopwatch
類別實例:
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch(); // Stopwatch object
}
}
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch(); // Stopwatch object
}
}
Imports System.Diagnostics
Friend Class Program
Shared Sub Main()
Dim stopwatch As New Stopwatch() ' Stopwatch object
End Sub
End Class
一旦創建 Stopwatch
實例,您可以開始和停止計時器以測量經過的時間:
stopwatch.Start();
Console.WriteLine("It will measure the time between start and stop");
stopwatch.Stop(); // Stop measuring elapsed time
stopwatch.Start();
Console.WriteLine("It will measure the time between start and stop");
stopwatch.Stop(); // Stop measuring elapsed time
stopwatch.Start()
Console.WriteLine("It will measure the time between start and stop")
stopwatch.Stop() ' Stop measuring elapsed time
可以使用 Elapsed
屬性獲取經過的時間:
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Elapsed time: {elapsed}");
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Elapsed time: {elapsed}");
Dim elapsed As TimeSpan = stopwatch.Elapsed
Console.WriteLine($"Elapsed time: {elapsed}")
輸出:
Stopwatch
類別提供多種超越基本時間測量的進階功能。 讓我們來探索一些這些功能:
Restart
方法是一種方便的方式,能在一個操作中停止並重置經過時間為零。 這在測量多個代碼段的執行時間而不創建新的Stopwatch
實例時很有用。
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
Console.WriteLine("The time will restart after executing the below code");
stopwatch.Restart();
stopwatch.Stop();
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
Console.WriteLine("The time will restart after executing the below code");
stopwatch.Restart();
stopwatch.Stop();
TimeSpan elapsed = stopwatch.Elapsed;
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Console.WriteLine("The time will restart after executing the below code")
stopwatch.Restart()
stopwatch.Stop()
Dim elapsed As TimeSpan = stopwatch.Elapsed
Console.WriteLine($"Total Elapsed time after Restart: {elapsed}")
輸出:
IsHighResolution
屬性IsHighResolution
屬性指示基礎計時機制是否基於高解析度性能計數器來精確測量經過的時間。當處理可能不支持高解析度計時方法的系統時,檢查此屬性可能會很有用。
Stopwatch stopwatch = new Stopwatch();
if (Stopwatch.IsHighResolution)
{
Console.WriteLine("High-resolution timing is supported");
}
else
{
Console.WriteLine("Fallback to lower-resolution timing");
}
Stopwatch stopwatch = new Stopwatch();
if (Stopwatch.IsHighResolution)
{
Console.WriteLine("High-resolution timing is supported");
}
else
{
Console.WriteLine("Fallback to lower-resolution timing");
}
Dim stopwatch As New Stopwatch()
If System.Diagnostics.Stopwatch.IsHighResolution Then
Console.WriteLine("High-resolution timing is supported")
Else
Console.WriteLine("Fallback to lower-resolution timing")
End If
輸出:
Frequency
屬性返回基礎計時器每秒的計時頻率(刻度)。 此值對於將經過的滴答轉換為其他時間單位(如毫秒)非常有用。
Stopwatch stopwatch = new Stopwatch();
long frequency = Stopwatch.Frequency;
Console.WriteLine($"Timer Frequency: {frequency} ticks per second");
Stopwatch stopwatch = new Stopwatch();
long frequency = Stopwatch.Frequency;
Console.WriteLine($"Timer Frequency: {frequency} ticks per second");
Dim stopwatch As New Stopwatch()
Dim frequency As Long = System.Diagnostics.Stopwatch.Frequency
Console.WriteLine($"Timer Frequency: {frequency} ticks per second")
輸出:
ElapsedTicks
屬性提供直接存取原始計時器刻度數,而無需將其轉換為時間單位。 這在執行自定義計算或處理低層次定時要求時可能是有益的。
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Code segment
long elapsedTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Code segment
long elapsedTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
' Code segment
Dim elapsedTicks As Long = stopwatch.ElapsedTicks
Console.WriteLine($"Elapsed Ticks: {elapsedTicks}")
輸出:
IronPDF 是一個強大的 C# 函式庫,允許開發人員輕鬆地在其 .NET 應用程式中建立、操作和處理 PDF 文件。 無論您需要從 HTML、圖像或其他格式生成 PDF,IronPDF 提供了一整套工具,可無縫整合到您的 C# 專案中。
IronPDF 提供獨特的轉換功能HTML轉PDF,保持佈局和樣式不變。 此功能非常適合從網絡內容中創建 PDF,如報告、發票或文檔。 您可以將HTML檔案、網址和HTML字串轉換為PDF檔案。
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
要在您的 C# 應用程序中開始使用 IronPDF,請遵循以下簡單步驟:
Install-Package IronPdf
或者,您可以使用IronPDF NuGet 套件頁面下載並安裝 "IronPdf" 套件。
using IronPdf;
using IronPdf;
Imports IronPdf
現在,您已準備好在您的應用程式中利用 IronPDF 的功能。
現在,讓我們演示如何使用 C# 的 Stopwatch
類來測量使用 IronPDF 從 URL 創建 PDF 所需的時間:
using System;
using System.Diagnostics;
using IronPdf;
class Program
{
static void Main()
{
// Initialize IronPDF
IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
// Specify the URL for PDF generation
string urlToConvert = "https://example.com";
// Use Stopwatch to measure the time taken
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Create PDF from URL
PdfDocument PDF = Renderer.RenderUrlAsPdf(urlToConvert);
// Stop measuring elapsed time
stopwatch.Stop();
// Save the generated PDF to a file or perform other actions
PDF.SaveAs("GeneratedPDF.pdf");
// Display the time taken
Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds");
}
}
using System;
using System.Diagnostics;
using IronPdf;
class Program
{
static void Main()
{
// Initialize IronPDF
IronPdf.HtmlToPdf Renderer = new IronPdf.HtmlToPdf();
// Specify the URL for PDF generation
string urlToConvert = "https://example.com";
// Use Stopwatch to measure the time taken
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Create PDF from URL
PdfDocument PDF = Renderer.RenderUrlAsPdf(urlToConvert);
// Stop measuring elapsed time
stopwatch.Stop();
// Save the generated PDF to a file or perform other actions
PDF.SaveAs("GeneratedPDF.pdf");
// Display the time taken
Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds");
}
}
Imports System
Imports System.Diagnostics
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Initialize IronPDF
Dim Renderer As New IronPdf.HtmlToPdf()
' Specify the URL for PDF generation
Dim urlToConvert As String = "https://example.com"
' Use Stopwatch to measure the time taken
Dim stopwatch As New Stopwatch()
stopwatch.Start()
' Create PDF from URL
Dim PDF As PdfDocument = Renderer.RenderUrlAsPdf(urlToConvert)
' Stop measuring elapsed time
stopwatch.Stop()
' Save the generated PDF to a file or perform other actions
PDF.SaveAs("GeneratedPDF.pdf")
' Display the time taken
Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds")
End Sub
End Class
此範例初始化 IronPDF,使用 HtmlToPdf
類別從指定的 URL 生成 PDF,並使用 Stopwatch
測量所花費的時間。 調整 urlToConvert
變數為所需的 URL,您可以根據應用程式的需要進一步自訂 PDF 的建立過程。
輸出:
總結而言,C# 中的 Stopwatch
類是精確時間測量和效能分析的關鍵工具,為開發人員提供了優化代碼和評估操作效率的方法。 其直觀的介面和先進的功能使其能夠滿足各種計時需求的多樣性。 此外,將IronPDF整合到C#項目中擴展了該語言在PDF文檔操作方面的能力,提供了一個生成、修改和處理PDF的無縫解決方案。
使用 Stopwatch
來測量使用 IronPDF 從 URL 創建 PDF 的時間的示例展示了精確時間跟踪與高級庫之間的協同作用,強調了在評估應用程式性能時細緻計時的重要性。 C# 的 Stopwatch
和 IronPDF 共同賦予開發者構建高效能應用程式的能力,具有精確計時和多功能 PDF 處理功能。
要獲取免費試用許可證以測試IronPDF功能,請訪問IronPDF 授權資訊頁面. 完整的 URL 轉 PDF 教程可以在 找到IronPDF URL 轉換為 PDF 教程.