質問: c#において、if def相当のデバッグ用ロジックはどう書けば良いですか?
回答: C言語と同様に`#if` `#else` `#endif`のプリプロセッサ ディレクティブが使えます。またデバッグビルドを行う際、`DEBUG`が定義されるよう構成されているため`#if DEBUG`と記述することができます。 ただし、これは厳密には「デバッグの時のみ走る」でなく、デバッグビルドの場合は常に走ります。 一般にデバッグ時/非デバッグ時で処理を分けるべきではありません。しかし、適切に動作しているかのチェックコードを埋め込むことはよくあり、C#言語においても、`Debug.Assert`メソッドが用意されています。こちらもデバッグビルドの場合は常に走るチェックコードとなります。 厳密な意味で「デバッグの時のみ走る」ですとDebugger.IsAttachedプロパティが用意されています。デバッグ中=デバッガーに接続されている場合にのみこのプロパティは`true`を返しますので、`if`文で判定して必要なロジックを書くことができます。