国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#的裝箱與拆箱

2023-05-09 18:58:25
字體:
來源:轉載
供稿:網友

裝箱(boxing)和拆箱(unboxing)是.NET提出得新概念!我們知道C#的所有類型都是由基類System.Object派生來的。如果在聲明這些數據類型的時候都在堆(HEAP)中分配內存,會造成極低的效率。

為了解決這個問題,.NET的值類型在棧中分配內存,而引用型是在堆中分配內存,初始化為null,引用類型是需要通過垃圾回收器來回收內存,而值類型超過其作用域,就會失效。

有時我們需要將一個值類型轉換為引用類型,而有時又需要把引用類型轉換為值類型,有人把這種操作分別稱之為裝箱操作和拆箱操作。

即,裝箱操作是指把一個值類型的數據轉換為對象類型的,如:

        using  System;
               class class1
               {
                      static void Main()
                      {
                             int a=0;
                             object obj = i;
                             .......
                      }
                }

上面的代碼中,object obj = i;就是一個裝箱操作,它把一個值類型,即int型的數據隱式轉換為對象類型。

拆箱就是將一個引用類型的對象轉換成值類型!比如:

        int a=0;
               object obj=a;    //裝箱操作
               int b=(int)obj;  //拆箱操作

 從以上的操作過程中,我們看到裝箱操作是一種隱式數據類型轉換,是自動進行的,而拆箱操作是一種顯示的數據類型轉換,需要強制進行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 农安县| 孝昌县| 泰和县| 慈利县| 克什克腾旗| 娄底市| 成武县| 鄂尔多斯市| 英吉沙县| 色达县| 土默特左旗| 万州区| 任丘市| 武穴市| 景泰县| 江孜县| 双辽市| 宁强县| 千阳县| 吴川市| 大渡口区| 辽源市| 舞阳县| 沧源| 逊克县| 庆阳市| 彰武县| 娄烦县| 稻城县| 浦北县| 广河县| 前郭尔| 公主岭市| 泰安市| 栾川县| 高邑县| 潮安县| 济阳县| 古蔺县| 海晏县| 嵩明县|