◆ break point で式を評価できる
◆ メソッド実行や代入して変数の値を変更もできる 

こういうコードを準備します
// いろいろ

public void test()
{
var a = 1;

// ここでbreak point

Console.WriteLine(a);
}

普通にこのメソッドが実行されれば a = 1 があるので 1 が出力されます

イミディエイトウィンドウ

デバッグ実行中にはイミディエイトウィンドウというウィンドウが表示されてます

imw01

これみてもなにこれ?
としか思わず気にしていなかったのですが とっても便利な機能です


何も書いていないのでわかりづらいですが コンソールです
>

↑ これがあるものだと考えてください


break point で止まっているときにここにコードを打つと評価して結果を確認できます

imw02

1 行目 の 「a」 と 3 行目の 「this.DataContext」 が入力したもので その下の行が結果として表示されたものです

ローカル変数の確認ではプロパティ・フィールドは見えてもメソッド実行はできなくてメソッドの結果を見ることができないですが イミディエイトウィンドウを使うことで結果を見ることができます

メソッドが実行できるということは 値を受け取って表示するだけでなく 値の変更もできます
代入式を評価すれば代入もできます

a = 20

をイミディエイトウィンドウに入力すると

imw03

break point を解除して Console.WriteLine(a); が実行されると
20

が表示されます


JavaScript でよく実行中に breakpoint おいて そこで値確認したり値変更してみたりとしているので VisualStudio で C# も同じように扱えるのはすごくうれしいです

C# インタラクティブは実行中のものとは別の REPL なので実行中にその値を使ったり編集したりということはできないですからね