Loading AI tools
該標準指定如何在計算機內存中表示類型定義和類型的特定值 来自维基百科,自由的百科全书
通用型別系統 (Common Type System) 定義了執行期引擎如何使用程式中的資料型別,以及如何配置資料在記憶體中的一種標準,依照此種標準所撰寫的程式語言,都可以在同一個執行期引擎中使用,因此它是跨語言支援的重要部份,亦即符合 CTS 規範的程式語言所撰寫出的程式,都可以在 CLR 中使用。
CTS與CLI規格都是由微軟所發展,目前已標準化為 ECMA 335 標準:「Common Language Infrastructure (CLI) Partitions I to VI.」,並且由 Microsoft 在 .NET Framework 中完全的實作。
CTS 定義了兩種類型:
實值型別 (Value-type)
參考型別 (Reference-type)
所謂的打包 (Boxing),是指將實值型別轉換成參考型別的一種機制,如下列程式碼所示,程式並不一定要明確的告知編譯器要將實值型別轉換成參考,它自己會處理這個部份。
Int32 x = 10;
object o = x ; // 隱含打包
Console.WriteLine("The Object o = {0}",o); // prints out 10
然而,一個 Int32 變數總能夠使用類似下列的方式來外顯打包:
Int32 x = 10;
object o = (object) x; // 外顯打包(明確指定)
Console.WriteLine("The object o = {0}",o); // prints out 10
所謂的解包 (Unboxing),是指將參考型別反轉回實值型別,如下列程式所示。
Int32 x = 5;
object o = x; // 隱含打包
x = o; // 隱含解包
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.