2010-11-20 136 views
0

可能重複:
In C#, why is String a reference type that behaves like a value type?字符串是一個類爲什麼

爲什麼在C#字符串是一類/ REF類型,其中爲INT /雙都值/ struct-任何特定原因還是設計上的原因

+3

這是[在C#中,爲什麼字符串的行爲像一個值類型的引用類型?](http://stackoverflow.com/questions/636932/in-c-why-is-string-a-引用類型 - 即 - 的行爲樣一個值,類型)。簡而言之:我們希望它是一個值類型,但它需要在堆上分配,因爲它的大小可能很大。 – 2010-11-20 15:38:30

回答

0

積分類型具有處理器一次可訪問的重要屬性。對於可能由數千個字節組成的字符串來說,情況並非如此,因此在所有語言中都始終指向字符串,因爲計算機無法真正以任何其他方式進行操作。
在像C#這樣的對象語言中,創建一個指向內存位置的類是正則的:這實際上就是一個對象的意思。

所以,字符串是類,因爲它們不能是整型。