日期:2014-05-18  浏览次数:20743 次

一个小面试题,有点内容

  int i = 2000;
  object o = i;
  i = 2001;
  int j = (int)o;
  Console.WriteLine("i={0},o={1},j={2}", i, o, j);

先写答案,再验证
输出的结果是什么……


------解决方案--------------------
探讨
i=2001,o=2000,j=2000

------解决方案--------------------
探讨

引用:
i=2001,o=2000,j=2000

不过和拆箱装箱基本无关。当然你要说对object调用ToString()那也可以,不过根本无须考虑。
等价如下代码:
int i = 2000;
int o = i;
i = 2001;
int j = o;

------解决方案--------------------
接分。。。
------解决方案--------------------
值类型和引用类型不停的转行,即装箱和拆箱 性能会下降很多。
------解决方案--------------------
i=2001,o=2000,j=2000.考试基础题吧
------解决方案--------------------
我的答案:
i=2001,o=2000,j=2000
调试答案:
i=2001,o=2000,j=2000
探讨
int i = 2000;
object o = i;
i = 2001;
int j = (int)o;
Console.WriteLine("i={0},o={1},j={2}", i, o, j);

先写答案,再验证
输出的结果是什么……

------解决方案--------------------
居然没陷阱。。。就那么简单
------解决方案--------------------
探讨

要是面试题都是这种就好了

------解决方案--------------------
探讨

引用:

要是面试题都是这种就好了
+