Java 10 の JShell 使ってて Java が可愛く思えてきたので、C# にも REPL ないのかなーと見てみたら CSI というのがありました。
C# Interactive Walkthrough · dotnet/roslyn Wiki · GitHub
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\csi.exe
が本体のようです。Visual Studio 2015 から追加されたようです。知りませんでした。
開発者コマンドプロンプトから csi と叩けば使えますが、コマンドプロンプトで C# のコード書くのはちょっときびしいので Visual Studio で
表示 -> その他のウィンドウ -> C# インタラクティブ
でリッチなシェルが起動します*1。プロジェクトを開いてない状態でも使えます。
IntelliSense も効きますしコードが正しく評価されると整形もしてくれます。裏で JIT でコンパイルしてるっぽく、ちょっともっさり感ありますが、なかなか素敵なツールです。
このように LINQ の式を試す時など特に便利そうです。昔から LINQPad というツールがあって、LINQ to Entitis の Playground として使えますが、CSI は Visual Studio に付属しているので気軽に使えますし LINQ 以外の機能も試せます。
macOS や Linux でも使える .NET Core の環境にはまだ、CSI がポーティングされていないようで GitHub に Issue がありました。
IntelliSense 付きの CSI シェルが VS Code の統合ターミナルで動くといいですね。Language Server Protocol で拡張機能を作る感じかな。
言語サーバー プロトコル拡張機能を追加する - Visual Studio | Microsoft Docs
*1:F# Interactive というのもありますね。