33
votes

Sometimes I would like to quickly see the IL representation of my code snippets in C#, to understand what exactly happens to various code statements under the hood, like it's done here for example.

I know there are ildasm, Reflector, ILSpy, dotPeek and probably quite some other tools available. What I'm wondering here is that if there is any more elegant way from writing some lines of code to seeing the corresponding IL, than compiling your .net code, loading the assembly into one of those programs and finding the code you are curious about.

Maybe having a plugin for visual studio, which would add a right click option for "build and see IL code" or any other convenient way?

Edit:

After some more googling I found NDasm codeplex project which does what I was looking for - integrates into visual studio.

But vcsjones' LINQPad suggestion is great as well, thus I am marking it as accepted, thanks. A really useful tool ...

2
I'm pretty sure Visual Studio Ultimate can do this, by the way. - Ry-
@CodingGorilla: I don't remember. I saw it once, but I never bought it... you know, it's $15,000. - Ry-
@minitech: My guess is that somebody just configured VS to launch ildasm or similar. AFAIK there's no feature in VS itself for this. - Brian Rasmussen
@minitech I'm pretty sure it doesn't have this, or my head will explode if it does. - vcsjones
@vcsjones: No, I'm sure. Let me just fire up VS '11 Ultimate beta, the free copy ;) - Ry-

2 Answers

51
votes

I typically use LINQPad for that. Just paste in some C# and switch to the IL view. For example:

enter image description here

I like it because you can also just post expressions or statements instead of a full program:

enter image description here

Best of all, it's free (with optional premium features).

0
votes

If you have Reflector, you can use the Snippy addin. Here is a blog post on it: Reflector Snippy Addin.