《C# to IL》第四章 关键字和操作符(上)
2009-06-03 08:30:41 来源:WEB开发网a.cs
class zzz
{
int @int;
public static void Main()
{
}
}
a.il
.assembly mukhi {}
.class private auto ansi zzz extends [mscorlib]System.Object
{
.field private int32 'int'
.method public hidebysig static void vijay() il managed
{
.entrypoint
ret
}
}
在上面的程序中,局部变量@int变成了一个名为int的字段。而数据类型int改变为int32,后者是IL中的保留字。之后,编译器在一个单引号内写字段名称。在转换到IL的过程中,@符号会直接从变量的名称中消失。
a.cs
// hi this is comment
class zzz
{
public static void Main() // allowed here
{
/*
A comment over
two lines
*/
}
}
a.il
.assembly mukhi {}
.class private auto ansi zzz extends [mscorlib]System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
ret
}
}
当你看到上面的代码时,你将理解为什么全世界的程序员都讨厌写注释。C#中的所有注释在生成的IL中都会被删除。单引号不会被复制到IL代码中。
编译器对注释是缺乏“尊重”的,它会把所有的注释都扔掉。程序员认为写注释是徒劳的,他们会产生极大的挫折感——这并不奇怪。
a.cs
class zzz
{
public static void Main()
{
System.Console.WriteLine("hi "nBye"tNo");
System.Console.WriteLine("""");
System.Console.WriteLine(@"hi "nBye"tNo");
}
}
- ››Illustrator CS6 打造孔雀花纹的字体
- ››TOscilloscope 仿Windows任务管理器CPU使用记录组...
- ››Illustrator教程:设计制作几何花瓣LOGO
- ››Illustrator实例教程:漂亮证卡变幻线的制作
- ››Illustrator文字教程:制作漂亮质感描边字
- ››Illustrator鼠绘:渐变工具运用绘制金属闹钟
- ››Illustrator鼠绘:教你画一个可爱卡通宝宝教程
- ››Illustrator简单四步做透明气泡教程
- ››Illustrator教程:制作漂亮的新货吊牌
- ››Illustrator教程:改变圆角矩形中一个圆角半径
- ››Illustrator教程:如何用网格工具绘制花瓣
- ››Illustrator涂抹命令打造文字草图特效
更多精彩
赞助商链接