程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#中的裝箱(boxing)拆箱(unboxing)

C#中的裝箱(boxing)拆箱(unboxing)

編輯:.NET實例教程

    在.Net中的通用類型系統(Common Type system,CTS)中,所有類型都是對象(object),都派生自System.Object。CTS支持兩組類型:值類型和引用類型。如果變量是 值類型那麼這個變量就包含實際的數據。也就是在內存中確實會分配那麼一部分空間給這個變量並存儲值,引用類型就類似一個類型安全的指針,本身並沒有開辟內 存空間去存儲東西。這玩意是基礎,羅嗦的重復一下。
所謂裝箱和拆箱是一個很抽象的概念

裝箱是將值類型轉換為引用類型
拆箱是將引用類型轉換為值類型
利用裝箱和拆箱功能,可通過允許值類型的任何值與Object 類型的值相互轉換,將值類型與引用類型鏈接起來
例如:
int val = 100;
object obj = val;
Console.WriteLine (“對象的值 = {0}", obj);
這是一個裝箱的過程,是將值類型轉換為引用類型的過程

int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine ("num: {0}", num);
這是一個拆箱的過程,是將值類型轉換為引用類型,再由引用類型轉換為值類型的過程

PS:被裝過箱的對象才能被拆箱

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved