Board logo

标题: [讨论]这个小程序有几个装箱过程 [打印本页]

作者: s37su37    时间: 2008-7-21 00:09     标题: [讨论]这个小程序有几个装箱过程

[讨论]这个小程序有几个装箱过程
议题作者:shaguasha
信息来源:邪恶八进制信息安全团队(www.eviloctal.com
复制内容到剪贴板
代码:
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 42;
            object o = i;
            Console.WriteLine(i + "," + (Int32)o);
        }
    }
}
帖子8 精华0 积分12 阅读权限40 性别男 在线时间14 小时 注册时间2007-12-24 最后登录2008-6-26 查看详细资料引用 报告 回复 TOP 良辰择日,预测咨询,公司改名,权威易经


shaguasha
晶莹剔透§烈日灼然
作者: 明记    时间: 2008-7-21 00:09

后来经过查书,明白了,总共有三个装箱过程,第一个是object o=i第二个和第三个都在Console.writeline()这个函数里,因为提交给这个函数的参数必须是引用类型,所以这里有装箱过程
帖子8 精华0 积分12 阅读权限40 性别男 在线时间14 小时 注册时间2007-12-24 最后登录2008-6-26 查看详细资料引用 报告 回复 TOP 良辰择日,预测咨询,公司改名,权威易经

silenceshell
晶莹剔透§烈日灼然
作者: lzx    时间: 2008-7-21 00:09

后面有个是拆箱吧...!show more..

帖子35 精华0 积分111 阅读权限40 在线时间65 小时 注册时间2007-6-22 最后登录2008-7-15 查看详细资料引用 报告 回复 TOP 少女暴富的隐秘(图)

shaguasha
晶莹剔透§烈日灼然
作者: ahwx    时间: 2008-7-21 00:09

是的,(Int32)o是个拆箱过程,因为i是值类型,所以必须拆箱成为值类型才可以,然后再装箱,提交给Console.WriteLine()。不知道分析的对不对?
帖子8 精华0 积分12 阅读权限40 性别男 在线时间14 小时 注册时间2007-12-24 最后登录2008-6-26 查看详细资料引用 报告 回复 TOP

刘的林
晶莹剔透§烈日灼然




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./) Powered by Discuz! 7.2