C#インタラクティブ
C#インタラクティブを使うと、コマンドプロンプトのような要領でC#のコードを即座に実行できます。 C#やプログラムの動作の確認・検証に便利です。
C#インタラクティブで実行させる一連のC#スクリプトをファイルに保存しておいて、バッチファイル(拡張子batのファイル)のように実行させることもできます。Visual Studioがなくてもコマンドベースで実行可能です。
Visual StudioのC#インタラクティブ
Visual Studio 2013以前ではこの機能は使用できません。
Visual Studio 2015以降では、メニューから[表示] - [その他のウィンドウ] - [C# インタラクティブ]でC# Interactiveウィンドウが表示されます。ここに実行したいC#のコードを入力します。
たとえば、var x = y = 2; を実行すると、 x の値は何になるでしょうか? C# Interactiveに次のように入力すると試せます。
> var y = 1;
> var x = y = 2;
> x
2
■リスト1:C#インタラクティブによるC#実行答えは 2です。
たとえば、.NETでは虚数はどのように表現されるでしょうか? 平方根を求めるMath.Sqrtを使って実験してみましょう。末尾にセミコロンをつけないと即座に評価して表示してくれます。
>Math.Sqrt(-4)
NaN (非数値)
■リスト2:C#インタラクティブを使って虚数を確認する。答えは NaN でした。
NaNってどういうこと?と思ったら、変数で受けてさらに細かく調べてみましょう。
> var x = Math.Sqrt(-4);
> x.GetType().FullName
"System.Double"
型は double のようです。
> double.IsNaN(x)
true
IsNaNメソッドで検査できるようです。
…のように、いちいちコンソールアプリケーションを作って少しずつプログラムを変えて実験しなくてもどんどん試せるところがC#インタラクティブのよいところです。
Classやメソッドなど複数行にわたるコマンドも記述できます。参照を追加することもできます。詳しくはWebで調べてみてください。
Visual Studioを使わないでC#インタラクティブを実行する
csiを使用するとVisual Studioを使わないでWindowsのコマンドプロンプトを使って、対話形式でC#を実行できます。csiはVisual Studio Community 2017の場合、C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\csi.exe にあります。
ただし、通常は開発者コマンドプロンプトを起動して csi を実行することで起動します。
Visual StudioのC#インタラクティブウィンドウと違ってインテリセンスの支援は受けられませんが機能は同じです。
C#インタラクティブで実行するC#スクリプトをファイルとして保存しておいて実行することもできるので、バッチファイルの代わりにC#を使うということもできそうです。