![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《C# to IL》
CsToD
这个作者很懒,什么都没留下…
展开
-
第一章 IL入门
转自包建强的翻译文章,原文在这里,后续文章不再说明。-1- 我们用C#、VB.NET语言编写的代码最终都会被编译成程序集或IL。因此用VB.NET编写的代码可以在C#中修改,随后在COBOL中使用。因此,理解IL是非常有必要的。 一旦熟悉了IL,理解.NET技术就不会有障碍了,因为所有的.NET语言都会编译为IL。IL是一门中性语言。IL是先发明的,随后才有了C转载 2009-05-29 18:12:00 · 938 阅读 · 0 评论 -
第二章 IL基础
如果你真的想要理解C#代码,那么最好的方法就是通过理解由C#编译器生成的代码。本章和下面两章将关注于此,请相信我们。 因此,我们将用一个小的C#程序揭露并解释有编译器生成的IL代码。通过这样做,我们就可以“一箭双雕”了:首先,我们将能够揭开IL的神秘,其次我们将更直观地理解C#编程语言。 我们将首先向你展示一个.cs文件,并随后由C#编译器用IL编写一个程序转载 2009-05-31 07:16:00 · 635 阅读 · 1 评论 -
第三章 选择和循环
-3- 在IL中,标号(label)是一个末尾带有冒号(即:)的名称。它使我们能够从代码的一部分无条件地跳转到另一部分。我们经常在由反编译器生成的IL代码中看到这个标号。例如:IL_0000: ldstr "hi"IL_0005: call void [mscorlib]System.Console::WriteLine(class System.String转载 2009-06-01 15:28:00 · 371 阅读 · 0 评论 -
第四章 关键字和操作符
-4- 关键字和操作符 位于return语句之后的代码是不会被执行的。在下面给出的第1个程序中,你将发现在C#中有一个WriteLine函数调用,但是在我们的IL代码中却看不到。这是因为编译器意识到任何return之后的语句都不会被执行,从而,也就不用将其转换到IL中了。a.csclass zzz{public static void Main(){retu转载 2009-06-03 20:38:00 · 502 阅读 · 0 评论