Visual Studio で使用できる機能のうち
- インタラクティブウィンドウ
- イミディエイトウィンドウ
の使い方を紹介します。これらのツールを使用することで、コードを少し変えて何回もビルドして検証する手間を減らせるため、ぜひ使ってみてください。
インタラクティブウィンドウ
※Microsoft 公式ページでは明確な紹介が見つかりませんでした。Python でのインタラクティブウィンドウはありましたが、C#については Dev ブログでの紹介があるのみでした。
メニューバーから「表示」>「その他のウィンドウ」>「C# インタラクティブ」で表示できます。いわゆる REPL(Read-Eval-Print Loop)と呼ばれる機能です。
C#は通常実行にビルドが必要ですが、このインタラクティブウィンドウを使用するとコードを対話的に実行することが可能です。この機能の素晴らしい点は、対話的実行でもしっかり補完が利き、なおかつハイライトも適用されることです。
上記ではString型の name がしっかり補完に表示されています。文字列操作の処理を作成する際に手元で簡単に検証ができるため便利です。
イミディエイトウィンドウ
イミディエイトウィンドウもインタラクティブウィンドウと同様に対話的にコードを実行できる機能ですが、ブレークポイントで止まっている状態でコードが実行可能です。その時のローカル変数の状態を参照することができます。
特徴としては
- ローカル変数も含めて入力補完が利く
- メソッド実行も可能
ということがあります。そのため DB から取得したデータ配列に対して、ローカル変数のウィンドウでいちいちドロップダウンを開いて値を確認しなくても、LINQ を用いて値を調査することができます。また IsValid()やIsEmpty()などの真偽値を返すメソッドをデバッグ中に実行して結果を確認することも可能です。個人的には配列の中身の値をWhere()でフィルターしたり、その時確認したい値だけをSelect()して抜き出すようなことをデバッグ中に簡単にできることが気に入っています。
まとめ
REPL 自体はわりとどの言語でもあるツールではありますが、C#の魅力の一つでもある静的型付けで補完が強力であるという特徴を残したまま使用できるのは魅力です。
この記事が皆様のコーディングライフの助けになれば幸いです。
参考

