2012-03-23 43 views
9

我明白拆箱是,当我乘坐对象,并将其拆箱到值类型像MSDN例如:我可以解开一个字符串吗?

int i = 123; 
object o = i; 
o = 123; 
i = (int)o; // unboxing 

所以我就在想,能串拆箱?我认为,不,它不能,因为没有价值类型可以代表一个字符串。我对吗?

+0

可能的重复:http://stackoverflow.com/questions/6423452/boxing-and-unboxing-in-int-and-string – 2012-03-23 16:37:23

+2

@Baboon我在发布我之前阅读过这个问题。我认为我的问题更加紧张,因为字符串不能拆箱。另一种是在我的观点更一般=)感谢保持SO干净无论如何;-) – 2012-03-23 16:40:31

回答

16

你说得对。字符串不能拆箱,因为只有值类型受到装箱和拆箱的限制;一个字符串是一个引用类型。

+0

谢谢!我前几天感到困惑,并开始阅读有关它,所以这只是一个控制问题,所以我知道了;-)谢谢! – 2012-03-23 16:37:51

+0

所以一个字符串既不能像第一行所示的那样被装箱:http://johnbarshinger.wordpress.com/2008/07/02/c-boxing-and-unboxing-cast-as-convert-parse-tryparse/ – 2012-03-23 16:42:51

+0

@SimonEdström:没有。这个例子是错误的。 – Ryan 2012-03-23 16:44:16

相关问题