.NETヘルプ C# Stopwatch (開発者向けの仕組み) Curtis Chau 更新日:6月 22, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 広大なプログラミング言語の世界の中で、C#はデスクトップからWebやモバイルアプリケーションに至るまで、幅広いアプリケーションの開発に使用される多才で強力な言語として際立っています。 C#が開発者の間で人気となっている主な特徴の1つは、さまざまなプログラミングの課題に対するソリューションを提供する豊富なライブラリとクラスのセットです。 これらの中で、Stopwatchクラスは、正確な時間計測、プロファイリング、およびパフォーマンス分析の役割で特別な位置を占めています。 この記事では、C#で特定のタスクを実行するためにかかった時間を見つけるために、Stopwatchオブジェクトを使用する方法を紹介します。 IronPDF for C# Developersを使用したPDF作成にかかった総経過時間も計測します。 1. Stopwatchクラスとは? StopwatchクラスはC#のSystem.Diagnostics名前空間の一部であり、高精度で経過時間を測定するためのシンプルで効率的な方法を提供します。 .NET Frameworkと共に導入され、コードセグメントの実行時間を追跡し、パフォーマンスを最適化し、アプリケーションをプロファイルするために開発者にとって貴重なツールとなっています。 2. 初期化と基本的な使用法 Stopwatchクラスの使用は簡単です。 使用を開始するには、まずStopwatchクラスの新しいインスタンスを作成する必要があります。 using System.Diagnostics; class Program { static void Main() { // Create a new stopwatch instance for timing operations Stopwatch stopwatch = new Stopwatch(); } } using System.Diagnostics; class Program { static void Main() { // Create a new stopwatch instance for timing operations Stopwatch stopwatch = new Stopwatch(); } } Imports System.Diagnostics Friend Class Program Shared Sub Main() ' Create a new stopwatch instance for timing operations Dim stopwatch As New Stopwatch() End Sub End Class $vbLabelText $csharpLabel Stopwatchインスタンスが作成されると、経過時間を測定するためにストップウォッチを開始および停止できます。 using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); // Start timing stopwatch.Start(); Console.WriteLine("It will measure the time between start and stop"); // Stop timing stopwatch.Stop(); } } using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); // Start timing stopwatch.Start(); Console.WriteLine("It will measure the time between start and stop"); // Stop timing stopwatch.Stop(); } } Imports System Friend Class Program Shared Sub Main() Dim stopwatch As New Stopwatch() ' Start timing stopwatch.Start() Console.WriteLine("It will measure the time between start and stop") ' Stop timing stopwatch.Stop() End Sub End Class $vbLabelText $csharpLabel 経過時間は、Elapsedプロパティを使用して取得できます。 using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // Simulate some work by sleeping for 2 seconds System.Threading.Thread.Sleep(2000); // Stop timing stopwatch.Stop(); // Fetch the elapsed time TimeSpan elapsed = stopwatch.Elapsed; Console.WriteLine($"Elapsed time: {elapsed}"); } } using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // Simulate some work by sleeping for 2 seconds System.Threading.Thread.Sleep(2000); // Stop timing stopwatch.Stop(); // Fetch the elapsed time TimeSpan elapsed = stopwatch.Elapsed; Console.WriteLine($"Elapsed time: {elapsed}"); } } Imports System Friend Class Program Shared Sub Main() Dim stopwatch As New Stopwatch() stopwatch.Start() ' Simulate some work by sleeping for 2 seconds System.Threading.Thread.Sleep(2000) ' Stop timing stopwatch.Stop() ' Fetch the elapsed time Dim elapsed As TimeSpan = stopwatch.Elapsed Console.WriteLine($"Elapsed time: {elapsed}") End Sub End Class $vbLabelText $csharpLabel 出力: 3. Stopwatchの高度な機能 Stopwatchクラスは基本的な時間計測を超えた高度な機能をいくつか提供します。 これらの機能のいくつかを探ってみましょう。 3.1. Restartメソッド Restartメソッドは、経過時間をゼロにリセットして停止を1つの操作で行う便利な方法です。 これは、Stopwatchインスタンスを新たに作成せずに複数のコードセグメントの実行時間を測定する際に便利です。 using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); // Start timing stopwatch.Start(); Console.WriteLine("The time will restart after executing the below code"); // Restart timing stopwatch.Restart(); // Simulate work System.Threading.Thread.Sleep(1000); // Stop timing stopwatch.Stop(); // Fetch the elapsed time after restart TimeSpan elapsed = stopwatch.Elapsed; Console.WriteLine($"Total Elapsed time after Restart: {elapsed}"); } } using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); // Start timing stopwatch.Start(); Console.WriteLine("The time will restart after executing the below code"); // Restart timing stopwatch.Restart(); // Simulate work System.Threading.Thread.Sleep(1000); // Stop timing stopwatch.Stop(); // Fetch the elapsed time after restart TimeSpan elapsed = stopwatch.Elapsed; Console.WriteLine($"Total Elapsed time after Restart: {elapsed}"); } } Imports System Friend Class Program Shared Sub Main() Dim stopwatch As New Stopwatch() ' Start timing stopwatch.Start() Console.WriteLine("The time will restart after executing the below code") ' Restart timing stopwatch.Restart() ' Simulate work System.Threading.Thread.Sleep(1000) ' Stop timing stopwatch.Stop() ' Fetch the elapsed time after restart Dim elapsed As TimeSpan = stopwatch.Elapsed Console.WriteLine($"Total Elapsed time after Restart: {elapsed}") End Sub End Class $vbLabelText $csharpLabel 出力: 3.2. IsHighResolutionプロパティ IsHighResolutionプロパティは、基盤となるタイミングメカニズムが高精度のパフォーマンスカウンターに基づいて経過時間を正確に測定しているかどうかを示します。このプロパティを確認することは、高精度のタイミングメソッドをサポートしないシステムを扱う際に有用です。 using System; class Program { static void Main() { if (Stopwatch.IsHighResolution) { Console.WriteLine("High-resolution timing is supported"); } else { Console.WriteLine("Fallback to lower-resolution timing"); } } } using System; class Program { static void Main() { if (Stopwatch.IsHighResolution) { Console.WriteLine("High-resolution timing is supported"); } else { Console.WriteLine("Fallback to lower-resolution timing"); } } } Imports System Friend Class Program Shared Sub Main() If Stopwatch.IsHighResolution Then Console.WriteLine("High-resolution timing is supported") Else Console.WriteLine("Fallback to lower-resolution timing") End If End Sub End Class $vbLabelText $csharpLabel 出力: 3.3. Frequencyプロパティ Frequencyプロパティは、ティックパー秒での基盤となるタイマーの周波数を返します。 この値は、経過ティックをミリ秒などの他の時間単位に変換するのに役立ちます。 using System; class Program { static void Main() { long frequency = Stopwatch.Frequency; Console.WriteLine($"Timer Frequency: {frequency} ticks per second"); } } using System; class Program { static void Main() { long frequency = Stopwatch.Frequency; Console.WriteLine($"Timer Frequency: {frequency} ticks per second"); } } Imports System Friend Class Program Shared Sub Main() Dim frequency As Long = Stopwatch.Frequency Console.WriteLine($"Timer Frequency: {frequency} ticks per second") End Sub End Class $vbLabelText $csharpLabel 出力: 3.4. ElapsedTicksプロパティ ElapsedTicksプロパティは、時間単位に変換する必要なしに生のティックカウントに直接アクセスを提供します。 これは、カスタム計算を行ったり、低レベルのタイミング要求を扱ったりする際に有益です。 using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // Simulate some work System.Threading.Thread.Sleep(1500); // Stop timing stopwatch.Stop(); // Fetch the elapsed ticks long elapsedTicks = stopwatch.ElapsedTicks; Console.WriteLine($"Elapsed Ticks: {elapsedTicks}"); } } using System; class Program { static void Main() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // Simulate some work System.Threading.Thread.Sleep(1500); // Stop timing stopwatch.Stop(); // Fetch the elapsed ticks long elapsedTicks = stopwatch.ElapsedTicks; Console.WriteLine($"Elapsed Ticks: {elapsedTicks}"); } } Imports System Friend Class Program Shared Sub Main() Dim stopwatch As New Stopwatch() stopwatch.Start() ' Simulate some work System.Threading.Thread.Sleep(1500) ' Stop timing stopwatch.Stop() ' Fetch the elapsed ticks Dim elapsedTicks As Long = stopwatch.ElapsedTicks Console.WriteLine($"Elapsed Ticks: {elapsedTicks}") End Sub End Class $vbLabelText $csharpLabel 出力: 4. C#におけるIronPDFの紹介 IronPDFは強力なC#ライブラリで、開発者が.NETアプリケーション内でPDFドキュメントを簡単に作成、操作、および処理することを可能にします。 HTML、画像、その他の形式からPDFを生成する必要がある場合でも、IronPDFはC#プロジェクトへシームレスに統合するための包括的なツールセットを提供します。 IronPDFはHTMLをPDFに変換するためのユニークな能力を持ち、レイアウトとスタイルを保持します。 この機能は、レポート、請求書、またはドキュメントなどのWebコンテンツからPDFを作成するのに最適です。 HTMLファイル、URL、およびHTML文字列をPDFファイルに変換できます。 using IronPdf; class Program { static void Main(string[] args) { // Initialize the PDF renderer 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) { // Initialize the PDF renderer 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) ' Initialize the PDF renderer 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 $vbLabelText $csharpLabel 4.1. C#でのIronPDFのインストール C#アプリケーションでIronPDFの使用を開始するには、次の簡単な手順に従います。 NuGetパッケージマネージャー: Visual StudioでC#プロジェクトを開き、パッケージマネージャーコンソールに移動します。 次のコマンドを実行してIronPDFをインストールします。 Install-Package IronPdf また、IronPDF NuGetパッケージページを使用して"IronPdf"パッケージをダウンロードしてインストールすることも可能です。 コードへの参照: インストールが成功したら、C#コードでIronPDFへの参照を追加します。 using IronPdf; using IronPdf; Imports IronPdf $vbLabelText $csharpLabel これで、アプリケーションでIronPDFの機能を活用する準備が整いました。 4.2. C# Stopwatchを使用してURLからのPDF作成時間を計測する ここでは、IronPDFを使用してURLからPDFを作成するのにかかった時間を測定するためにC#のStopwatchクラスを使用する方法を示します。 using System; using System.Diagnostics; using IronPdf; class Program { static void Main() { // Initialize IronPDF Renderer 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 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 Renderer 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 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 Renderer 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 PDF.SaveAs("GeneratedPDF.pdf") ' Display the time taken Console.WriteLine($"Time taken to create PDF from URL: {stopwatch.ElapsedMilliseconds} milliseconds") End Sub End Class $vbLabelText $csharpLabel この例では、IronPDFを初期化しHtmlToPdfクラスを使用して指定されたURLからPDFをレンダリングし、Stopwatchを使用して所要時間を測定します。 望むURLに合わせてurlToConvert変数を調整し、アプリケーションの要件に応じてPDF作成プロセスをさらにカスタマイズできます。 出力: 5. 結論 結論として、C#のStopwatchクラスは、正確な時間計測とパフォーマンス分析のための重要なツールであり、開発者がコードを最適化し運用効率を評価する手段を提供します。 その直感的なインターフェースと高度な機能により、さまざまなタイミング要件に対応できる多用途なツールとなっています。 さらに、IronPDFをC#プロジェクトに統合することで、PDFドキュメント操作分野での言語の可能性が拡がり、PDFの生成、加工、処理をシームレスに行うソリューションを提供します。 IronPDFを使用してURLからPDFを作成するのにかかった時間をStopwatchで測定する例が示すように、正確なタイムトラッキングと高度なライブラリとの相乗効果は、アプリケーションの性能を評価する際の時間測定の重要性を際立たせています。 C#のStopwatchとIronPDFは一体となり、高性能アプリケーションを構築するために正確なタイミングと多用途なPDF操作能力を開発者に提供します。 IronPDFの機能をテストするための無料試用ライセンスを取得するには、IronPDFライセンス情報ページをご覧ください。 URLをPDFに変換するための完全なチュートリアルはIronPDF URL to PDFチュートリアルで見つかります。 よくある質問 ストップウォッチクラスは C# アプリケーションのパフォーマンス最適化にどのように役立ちますか? C# のストップウォッチクラスは、コードの実行時間を高精度で計測できるため、開発者がパフォーマンスのボトルネックを特定し、コードをより効率的に最適化できます。 C# 開発者に向けたストップウォッチクラスの高度な機能とは何ですか? ストップウォッチクラスは、タイミングをリセットして再開始する Restart メソッド、システムのタイミング精度を確認する IsHighResolution、タイミング頻度を示す Frequency、細かい時間測定のための ElapsedTicks などの高度な機能を提供します。 Stopwatchクラスはすべてのシステムで高解像度のタイミングに使用できますか? ストップウォッチクラスは、システムのハードウェアが提供する場合に高解像度 timing をサポートします。開発者は、システムが高解像度 timing を許可しているかを確認するために IsHighResolution プロパティをチェックできます。 C# アプリケーションで HTML コンテンツを PDF に変換するにはどうすればよいですか? C# アプリケーションで HTML コンテンツを PDF に変換するには、IronPDF を使用できます。IronPDF は HTML のレイアウトとスタイルの整合性を保ち、レポートや請求書などの高品質な PDF ドキュメントの生成に適しています。 C# の PDF 生成とストップウォッチの統合方法は? ストップウォッチを PDF 生成と統合するには、IronPDF での PDF レンダリングプロセスを開始する前にストップウォッチをスタートし、PDF が生成されたらストップウォッチを止めて、プロセス全体の時間を計測します。 Visual Studio C# プロジェクトで PDF ライブラリをインストールするプロセスは何ですか? Visual Studio では、NuGet パッケージ マネージャーを使用して IronPDF をインストールできます。パッケージ マネージャー コンソールで Install-Package IronPdf コマンドを実行し、コード内で using IronPdf; を含めてその機能にアクセスします。 ストップウォッチクラスが C# でのパフォーマンス調整にとって重要な理由は何ですか? ストップウォッチクラスは、コードの実行時間を測定して分析するのに役立つ高精度のタイミング機能を提供するため、パフォーマンス調整にとって重要です。この情報は、遅い操作を特定し、アプリケーションのパフォーマンスを向上させるのに不可欠です。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む 更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む Jquery Datatable (開発者向けの仕組み)Swashbuckle ASP .NET Core (開発...
更新日 9月 4, 2025 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 9月 4, 2025 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む
更新日 8月 5, 2025 C# Switch Pattern Matching(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む