未分類

C# デバッグ時にだけ実行されるコードを記述する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
using System.Diagnostics;

// コード
private void button1_Click(object sender, EventArgs e)
{
  #if DEBUG
    Console.WriteLine("デバッグ時にだけ実行されます。");
  #endif
  Console.WriteLine("いつでも実行されます。");
}

解説

#if DEBUG のブロックに記述されたコードはデバッグ時にのみ実行されます。これは VS2010 IDE のツールバーにあるソリューションの構成で Debug を選択した場合です。Release を選択した場合には、このコードは実行されません。正確に言うと、コンパイルの対象外となります。試しに、Release を選択して、#if DEBUG 内にエラーのあるコードを書いてもエラーとはなりません。

この DEBUG はデフォルトで定義されている条件付きコンパイル定数になります。これはプロジェクトのプロパティのビルドタブ内でデフォルトで使用されるようにチェックが付いています。もし、使いたくない場合にはチェックを外します。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類