释义:
IL,同MSIL(Microsoft Intermediate Language),是将.NET代码转化为机器语言的一个中间语言,因此又把IL语言称之为伪汇编语言。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,也可以在.net平台上运行IL代码,C# 实现IL可参考System.Reflection.Emit命名空间下提供的类型,指令集可参考System.Reflection.Emit.OpCodes。
IL优点:
使用中间语言的优点有两点,一是可以实现平台无关性,既与特定CPU无关;二是提高了灵活性,例如,将参数A通过某个实现方式处理出结果B,而其实现方式是根据参数A的某个值T决定的,而T的值有一百种,一千种,甚至是不能确定的。直接使用if语句判断会非常复杂,如果使用System.Reflection.Emit命名空间下的DynamicMehtod制作出动态方法或动态委托就简单许多;三是其执行效率远高于使用.net反射的效率。