IRONSOFTWAREHOME
開発者向けアップデート

C# Stopwatch (開発者向けの仕組み)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月23日

広大なプログラミング言語の世界の中で、C#はデスクトップからWebやモバイルアプリケーションに至るまで、幅広いアプリケーションの開発に使用される多才で強力な言語として際立っています。 C#が開発者の間で人気となっている主な特徴の1つは、さまざまなプログラミングの課題に対するソリューションを提供する豊富なライブラリとクラスのセットです。 これらの中で、Stopwatchクラスは、正確な時間計測、プロファイリング、およびパフォーマンス分析の役割で特別な位置を占めています。

この記事では、C#で特定のタスクを実行するためにかかった時間を見つけるために、Stopwatchオブジェクトを使用する方法を紹介します。 IronPDF for C# Developersを使用したPDF作成にかかった総経過時間も計測します。

1. Stopwatchクラスとは?

C# において、Stopwatch クラスは 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();
    }
}

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();
    }
}

経過時間は 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}");
    }
}

出力:

C# ストップウォッチ (開発者向けの動作): 図 1 - システムタイマー出力

3. Stopwatchの高度な機能

Stopwatch クラスは、基本的な時間測定を超えた高度な機能をいくつか提供します。 これらの機能のいくつかを探ってみましょう。

3.1. Restartメソッド

Restart メソッドは、単一の操作で経過時間をゼロにリセットして停止する便利な方法です。 これにより、複数のコードセグメントの実行時間を計測する際に、新しい 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}");
    }
}

出力:

C# ストップウォッチ (開発者向けの動作): 図 2 - リスタート出力

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");
        }
    }
}

出力:

C# ストップウォッチ (開発者向けの動作): 図 3 - 高解像度タイミング出力

3.3. Frequencyプロパティ

Frequency プロパティは、基礎となるタイマーの頻度を秒あたりのティック数で返します。 この値は、経過ティックをミリ秒などの他の時間単位に変換するのに役立ちます。

using System;

class Program
{
    static void Main()
    {
        long frequency = Stopwatch.Frequency;
        Console.WriteLine($"Timer Frequency: {frequency} ticks per second");
    }
}

出力:

C# ストップウォッチ (開発者向けの動作): 図 4 - 周波数出力

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}");
    }
}

出力:

C# ストップウォッチ (開発者向けの動作): 図 5 - 経過ティック出力

4. Introduction to IronPDF in C#

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");
    }
}

4.1. Installation of IronPDF in C#

C#アプリケーションでIronPDFの使用を開始するには、次の簡単な手順に従います。

  1. NuGetパッケージ マネージャー: Visual Studio で C# プロジェクトを開き、パッケージ マネージャー コンソールに移動します。 次のコマンドを実行してIronPDFをインストールします。

    PM > Install-Package IronPdf

    あるいは、IronPDF NuGet パッケージページを使用して "IronPDF" パッケージをダウンロードしてインストールすることもできます。

2.**コードでの参照:**インストールが成功したら、C# コードにIronPDFへの参照を追加します。

using IronPdf;

これで、アプリケーションでIronPDFの機能を活用する準備が整いました。

4.2. URL から PDF を作成するために C# ストップウォッチを使用する

それでは、C# の Stopwatch クラスを使用して、IronPDFを使ってURLからPDFを作成するのにかかる時間を測定する方法を示します。

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");
    }
}

この例では、IronPDF を初期化し、HtmlToPdf クラスを使用して指定された URL から PDF をレンダリングし、Stopwatch を使って所要時間を測定します。 必要に応じて urlToConvert 変数を目的のURLに調整することで、アプリケーションのニーズに合わせてPDF作成プロセスをカスタマイズすることができます。

出力:

C# ストップウォッチ (開発者向けの動作): 図 6 - PDF 作成タイマー出力

5. 結論

結論として、C# の Stopwatch クラスは、正確な時間測定とパフォーマンス分析のための重要なツールであり、開発者にコードを最適化し、運用効率を評価する手段を提供します。 その直感的なインターフェースと高度な機能により、さまざまなタイミング要件に対応できる多用途なツールとなっています。 さらに、IronPDFをC#プロジェクトに統合することで、PDFドキュメント操作分野での言語の可能性が拡がり、PDFの生成、加工、処理をシームレスに行うソリューションを提供します。

IronPDF を用いて URL から PDF を作成するのにかかる時間を測定するために Stopwatch を使用した例は、正確な時間追跡と高度なライブラリの相乗効果を示しており、アプリケーションのパフォーマンスを評価する際の細心のタイミングの重要性を強調しています。 C# の Stopwatch と IronPDF が一緒になることで、開発者は高性能なアプリケーションを構築し、細心のタイミングと多用途なPDF処理機能を実現できます。

IronPDFの機能をテストするための無料試用ライセンスを取得するには、IronPDFライセンス情報ページをご覧ください。 URLをPDFに変換するための完全なチュートリアルはIronPDF URL to PDFチュートリアルで見つかります。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。