I’ve been working a lot with ScriptCS lately. It’s amazing how productive you can be working with this tool. There are so many times in the past when I would spin up a new project (or reuse an existing one) to test out some algorithm or small piece of code. Usually these projects are console applications that spit out some information at various times. This was the approach I took to test the performance of some IEnumerable extension methods. Using ScriptCS, I am able to remove the need for the extra project file, perform a quick test and then continue on with my development.
Most of the standard namespaces are already included (System, System.Collections.Generic, System.Linq, System.Text, System.Threading.Tasks, System.IO), but there are times when you will need to include the namespace of the class you are using (example: System.Diagnostics.Process class).
You can add a using statement if you will be using the namespace a lot.
You can also reference your own assemblies.
You can build loops within the script.
You can even create classes.
The above examples can even be pasted into the console! Just make sure that starting { brackets are on the same line as the loop/class/etc.
When you want to extend it even more you can write Script Pack.