I've been playing with this little app for a few days now and it's exactly what I was looking for. For the last few years I was knee deep in the crazy world of Java and in my never ending attempt to be different I researched Groovy quite a bit. One of the things that came with the installation of Groovy was a console that let me write off the cuff Groovy or Java statements without having to fire up an editor and stick all that public static void main(string[] args) boilerplate around my code, compile it and run it. I used this console a lot when debugging little bits of code, testing theories, seeing a dump of an object etc and it sped up my development no end. Since getting involved in the .NET world any time I've wanted to write small test apps I've had to either create a new Unit Test or new Console Application and it's a lot slower to do achieve the same results.
This is where LINQPad comes in. LINQPad lets you write C# (and VB) statements, expressions, programs etc and evaluates them as they are without having to write a lot of boilerplate. If your code returns an Object it can be dumped in a very neat fashion into the output window along with the generated IL and some other stuff. LINQPad, as the name suggests also lets you hook up to SQL Server, the Entity Framework, Attachable Databases etc and perform LINQ Queries, showing you the generated SQL as well.
- LINQPad reports the execution time in the status bar, so you won't have to manually create a Stopwatch class for performance testing.
- Want to test a variation of your snippet? Ctrl+Shift+C instantly clones your snippet so you can run another version side-by-side.
- You can return to saved queries in single click, thanks to the My Queries treeview. Some people are using LINQPad as a scripting tool!
The licensed version gives you full Intellisense for your code plus 2 books worth (C# in a Nutshell and LINQ in Action) of working samples. Anyways here are a few screenshots of it in action. Like I said the name nearly made me skip over it but luckily I decided to try it and found what I was after!
[[posterous-content:HEtroelnwcgbGuFkaJnG]]