C# 易于检查IL代码的工具

C# 易于检查IL代码的工具,c#,.net,il,C#,.net,Il,有时,我想快速查看我的代码片段在C#中的IL表示,以了解各种代码语句在幕后到底发生了什么,就像它完成了一样 我知道有、、可能还有很多其他工具可用。我想知道的是,从编写几行代码到查看相应的IL,是否还有比编译.net代码、将程序集加载到其中一个程序中并查找您感兴趣的代码更优雅的方法 也许有一个VisualStudio插件,它会为“构建并查看IL代码”或任何其他方便的方式添加一个右键单击选项 编辑: 在更多的谷歌搜索之后,我发现了我想要的东西——集成到VisualStudio中 但vcsjones的

有时,我想快速查看我的代码片段在C#中的IL表示,以了解各种代码语句在幕后到底发生了什么,就像它完成了一样

我知道有、、可能还有很多其他工具可用。我想知道的是,从编写几行代码到查看相应的IL,是否还有比编译.net代码、将程序集加载到其中一个程序中并查找您感兴趣的代码更优雅的方法

也许有一个VisualStudio插件,它会为“构建并查看IL代码”或任何其他方便的方式添加一个右键单击选项

编辑:

在更多的谷歌搜索之后,我发现了我想要的东西——集成到VisualStudio中

但vcsjones的LINQPad建议也很好,因此我将其标记为已接受,谢谢。一个非常有用的工具

我通常用它。只需粘贴一些C#并切换到IL视图。例如:

我喜欢它,因为您也可以只发布表达式或语句,而不是完整的程序:


最重要的是,它是免费的(具有可选的高级功能)。

如果您有Reflector,您可以使用Snippy插件。这里有一篇关于它的博客文章:

顺便说一下,我很肯定Visual Studio Ultimate可以做到这一点。@CodingGorilla:我不记得了。我看过一次,但我从没买过。。。你们知道,15000美元。@minitech:我猜有人刚刚配置了VS来启动ildasm或类似的产品。好了,VS本身没有这个功能。@minitech我很确定它没有这个,否则我的头会爆炸。@vcsjones:没有,我确定。让我启动VS'11终极测试版,免费版;)可能值得一提的是,LINQPad是一个了不起的工具,我认为每个开发人员都应该拥有它,即使他们从来没有看过IL。它在很多方面都很有用。IL也有工具提示,所以如果你不知道/不认识它,你可以看到它的作用。它还将在变量名中进行注释,并在工具提示上显示它们的类型。例如:将鼠标悬停在ldc.i4.3上会显示:“将整数值3作为int32推送到计算堆栈上”。我不知道哪个版本支持此功能,但它在最新版本(V5.10)中,但我认为在以前的版本(V4)中也支持此功能