int i=5;
object o = 5;
Console.WriteLine(o); //prints 5
我有三个问题:
1) 变量 o
中的数字 5
比变量 i
中的数字 5
多了哪些额外/有用的功能?
2) 如果某段代码需要一个值类型,我们可以直接传递 int 类型的变量 i
,但如果它需要一个引用类型,那么它可能并不关心 o
中装箱的数字 5。那么在什么情况下会在代码中显式使用装箱转换?
3) 为什么 Console.WriteLine(o)
输出的是数字 5 而不是 System.Object?