2012-03-23 57 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

相關問題