Sometimes it's handy to have access to your language to do quick things without starting Visual Studio and creating a new console app.
Is there something like Python's interactive mode or groovy shell, except for C#?
Sometimes it's handy to have access to your language to do quick things without starting Visual Studio and creating a new console app.
Is there something like Python's interactive mode or groovy shell, except for C#?
Update for 2022
After installing Visual Studio 2022, add the following to your PATH
environment variable.
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\Microsoft.Net.Compilers.2.6.1\tools
Then open your terminal (CMD, PowerShell, Windows Terminal) and type csi
to run C Sharp Interactive.
You'll get something like this:
PS C:\> csi
Microsoft (R) Visual C# Interactive Compiler version 2.6.1.62414
Copyright (C) Microsoft Corporation. All rights reserved.
Type "#help" for more information.
> var list = new List<int>{ 1, 2, 3, 4 };
> list // You don't need to call Console.WriteLine() to see values
List<int>(4) { 1, 2, 3, 4 }
> // You can keep adding lines as needed
Previous Answer
With the Visual Studio 2015 Update 1 there now is a C# Interactive tool window built into Visual Studio.
The new tool window is invoked by going to View
→ Other Windows
→ C# Interactive
.
For Visual Studio 2010 to 2013 you can use the Roslyn CTP to get a similar tool window in Visual Studio.
Have a look at CsharpRepl (part of the Mono project). Never used it myself, I hasten to add.
For LINQ stuff, you should also look at LINQPad.
Like others noted, Mono's CSharpRepl is probably the right answer. However, if you're not fixed to C#, then PowerShell is a pretty nice environment of playing around with .NET. I frequently use it to test regular expressions, format strings, etc. All the kinds of stuff you have ConsoleProject163 lying around for :)
In addition to the other good answers here (+1), there is also CSI and the immediate window in Visual Studio.
Here is a Mono CsharpRepl which is what you are looking for.
This documents the features available in the C# interactive shell that is part of Mono's C# compiler. An interactive shell is usually referred to as a read eval print loop or repl. The C# interactive shell is built on top of the Mono.CSharp (http:/monodoc/N:Mono.CSharp) library, a library that provides a C# compiler service that can be used to evaluate expressions and statements on-the-fly.
With Roslyn CTP there now is a full C# interactive window from Microsoft direct in Visual Studio!! Works great! So far runs all my libraries. After install: Invoking View -> Other Windows -> C# Interactive from the menu.
I use ideone.com sometimes, but LINQPad is a good choice if an install is acceptable.
If you are looking for a simple web based environment to crank out some C# code try coderpad.io Not sure if you can add libraries n' all but its a quick and simple solution if you are just interested in testing out several commands
You can use this developed by Miguel De Icaza, is shipped with mono and have code completion