【C#】ストップウォッチで処理時間を取得する


この記事はプロモーションを含みます。

C#

C#でストップウォッチを使用し、処理時間を取得する方法を解説します。

事前準備

ここでは、事前準備として、ボタンとテキストボックスを配置した簡単な画面を作成します。
ボタンは処理の開始用、テキストボックスは処理時間の表示用です。
以下は、デザインのコードです。

namespace WinFormsApp2
{
    partial class Form1
    {
        /// <summary>
        ///  Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        ///  Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        ///  Required method for Designer support - do not modify
        ///  the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            textBox1 = new TextBox();
            button1 = new Button();
            SuspendLayout();
            // 
            // textBox1
            // 
            textBox1.Location = new Point(12, 12);
            textBox1.Name = "textBox1";
            textBox1.Size = new Size(164, 23);
            textBox1.TabIndex = 0;
            // 
            // button1
            // 
            button1.Location = new Point(182, 12);
            button1.Name = "button1";
            button1.Size = new Size(75, 23);
            button1.TabIndex = 1;
            button1.Text = "button1";
            button1.UseVisualStyleBackColor = true;
            button1.Click += button1_Click;
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 15F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(267, 46);
            Controls.Add(button1);
            Controls.Add(textBox1);
            Name = "Form1";
            Text = "Form1";
            ResumeLayout(false);
            PerformLayout();
        }

        #endregion

        private TextBox textBox1;
        private Button button1;
    }
}

ソースコード

ボタンをクリックすることで実行され、処理時間を計測、テキストボックスに表示するソースコードです。
時間を計測する処理として、3秒間のスリープを入れています。

using System.Diagnostics;

namespace WinFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // Stopwatchインスタンスの作成
            Stopwatch stopwatch = new();

            // 計測開始
            stopwatch.Start();

            // 時間を計測したい処理
            Thread.Sleep(3000);

            // 計測終了
            stopwatch.Stop();

            // 結果を表示
            textBox1.Text = stopwatch.Elapsed.ToString();
        }
    }
}

27行目の「stopwatch.Elapsed.ToString();」を、
「stopwatch.ElapsedMilliseconds.ToString();」に書き換えることで、
処理時間をミリ秒で取得することが可能です。

実行イメージ

以下は、処理時間計測後の実行イメージになります。

コメント

タイトルとURLをコピーしました