【发布时间】:2014-12-14 16:18:09
【问题描述】:
我知道装箱将值类型转换为对象和取消装箱将对象转换为值类型。 示例:
int num = 1;
Object obj = num; //boxing
int num2 = (int)obj //unboxing
但是当我在现实生活中使用它时(当我编写一些代码时)? 我从不将 Int 赋值给 Object (或者我是这么认为的,我没有明确写)
【问题讨论】:
-
这是一个例子:stackoverflow.com/questions/14561382/… 另一个例子是使用旧集合(在 ArrayList 等泛型之前)
-
例如,当您将不同类型的变量传递给方法时,通常会使用装箱。
String.Format接受的参数是对象,因此您可以混合放入字符串中的数据类型:string s = String.Format("The {1} is {0}", 42, "answer");String.Concat可以将对象的集合转换为字符串并连接:string s = String.Contcat("one", 2, "three", 4);您使用+运算符连接,编译器将生成对String.Concat的调用来完成工作:string s = "one" + 2 + "three" + 4;