通用型別系統通用型別系統 (Common Type System) 定義了執行期引擎如何使用程式中的資料型別,以及如何配置資料在記憶體中的一種標準,依照此種標準所撰寫的程式語言,都可以在同一個執行期引擎中使用,因此它是跨語言支援的重要部份,亦即符合 CTS 規範的程式語言所撰寫出的程式,都可以在 CLR 中使用。 CTS與CLI規格都是由微軟所發展,目前已標準化為 ECMA 335 標準:「Common Language Infrastructure (CLI) Partitions I to VI.」,並且由 Microsoft 在 .NET Framework 中完全的實作。 CTS 的功能
CTS 的類型CTS 定義了兩種類型: 實值型別 (Value-type)
參考型別 (Reference-type)
Boxing 與 UnboxingBoxing所謂的打包 (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所謂的解包 (Unboxing),是指將參考型別反轉回實值型別,如下列程式所示。 Int32 x = 5;
object o = x; // 隱含打包
x = o; // 隱含解包
参考文献外部連結 |
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia