《C# to IL》第四章 关键字和操作符(上)
2009-06-03 08:30:41 来源:WEB开发网l 这个方法会连接两个字符串并在栈上创建一个新的字符串。
l 这个合成的字符串会被存储在变量V_1中。
l 最后,这个合成的字符串会被打印出来。
在C#中,有两个PLUS(+)操作符。
l 一个处理字符串。这个操作符会被转换为IL中String类的Concat函数。
l 另一个则处理数字。这个操作符会被转换为IL中的add指令。
从而,String类和它的函数是在C#编译器中创建的。因此我们能够断定,C#可以理解并处理字符串运算。
a.cs
class zzz
{
public static void Main()
{
string a = "bye";
string b = "bye";
System.Console.WriteLine(a == b);
}
}
a.il
.assembly mukhi {}
.class private auto ansi zzz extends [mscorlib]System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
.locals (class System.String V_0,class System.String V_1)
ldstr "bye"
stloc.0
ldstr "bye"
stloc.1
ldloc.0
ldloc.1
call bool [mscorlib]System.String::Equals(class System.String,class System.String)
call void [mscorlib]System.Console::WriteLine(bool)
ret
}
}
Output
True
就像+操作符那样,当==操作符和字符串一起使用时,编译器会将其转换为函数Equals。
从上面的例子中,我们推论出C#编译器对字符串的处理是非常轻松的。下一个版本将会引进更多这样的类,编译器将会从直观上理解它们。
- ››Illustrator CS6 打造孔雀花纹的字体
- ››TOscilloscope 仿Windows任务管理器CPU使用记录组...
- ››Illustrator教程:设计制作几何花瓣LOGO
- ››Illustrator实例教程:漂亮证卡变幻线的制作
- ››Illustrator文字教程:制作漂亮质感描边字
- ››Illustrator鼠绘:渐变工具运用绘制金属闹钟
- ››Illustrator鼠绘:教你画一个可爱卡通宝宝教程
- ››Illustrator简单四步做透明气泡教程
- ››Illustrator教程:制作漂亮的新货吊牌
- ››Illustrator教程:改变圆角矩形中一个圆角半径
- ››Illustrator教程:如何用网格工具绘制花瓣
- ››Illustrator涂抹命令打造文字草图特效
更多精彩
赞助商链接