A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Sailing. 中级黑马   /  2012-12-10 12:53  /  872 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Console类是在命名空间System中定义的一个类,用于
控制台应用程序的标准输入流、输出流和错误流。
其中的WrtieLine()方法用于输出,它有18种重载方法 如图:
我们开始学习C#时,最金典的例子输出字符串:Console.WriteLine("Hello,Word");

还有比如:

            int num;
            num = 1;
            Console.WriteLine(num);

控制台输出 1 ,因为使用了int类型的重载方案;

但是如果如下使用时:

            int num;
            num = 1;
            Console.WriteLine("我今年"+num+"岁了");

控制台将输出 我今年1岁了 。可是从WriteLine()重载版本中并没有string ,int ,string类型的重载方案。
通过IL反编译查询,原来重载的是string类型的版本 如图:


在深入研究,发现原来Concat方法默认使用了 object,object,object 三个参数,C#编译器自动为int类型进行了一次装箱操作。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马