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

首頁 > 開發(fā) > 綜合 > 正文

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

2024-07-21 02:17:29
字體:
來源:轉載
供稿:網(wǎng)友

裝箱和拆箱:任何值類型、引用類型可以和object(對象)類型之間進行轉換。裝箱轉換是指將一個值類型隱式或顯式地轉換成一個object類型,或者把這個值類型轉換成一個被該值類型應用的接口類型(interface-type)。把一個值類型的值裝箱,就是創(chuàng)建一個object實例并將這個值復制給這個object,裝箱后的object對象中的數(shù)據(jù)位于堆中,堆中的地址在棧中。被裝箱的類型的值是作為一個拷貝賦給對象的。如:int i = 10;object obj = i; //隱式裝箱object obj = object(i); //顯式裝箱if(obj is int) //int       console.writeline(“ok”);

console.writeline(obj.gettype()); //system.int32
有兩種方式來查看包裝以后的引用對象中包裝的原始數(shù)據(jù)的類型。要判斷原始類型是否是某個給定的原子類型,用is;如果要返回一個字符串,可以用object類的gettype方法。

拆箱轉換是指將一個對象類型顯式地轉換成一個值類型,或是將一個接口類型顯式地轉換成一個執(zhí)行該接口地值類型。注意裝箱操作可以隱式進行但拆箱操作必須是顯式的。拆箱過程分成兩步:首先,檢查這個對象實例,看它是否為給定的值類型的裝箱值。然后,把這個實例的值拷貝給值類型的變量。比如:int i = 10;object obj = i;int j = (int)obj;有兩種方式來查看包裝以后的引用對象中包裝的原始數(shù)據(jù)的類型。要判斷原始類型是否是某個給定的原子類型,用is;如果要返回一個字符串,可以用object類的gettype方法。

拆箱轉換是指將一個對象類型顯式地轉換成一個值類型,或是將一個接口類型顯式地轉換成一個執(zhí)行該接口地值類型。注意裝箱操作可以隱式進行但拆箱操作必須是顯式的。拆箱過程分成兩步:首先,檢查這個對象實例,看它是否為給定的值類型的裝箱值。然后,把這個實例的值拷貝給值類型的變量。比如:int i = 10;object obj = i;int j = (int)obj;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丰原市| 广灵县| 三河市| 宜章县| 鹰潭市| 舟山市| 霍林郭勒市| 益阳市| 潜山县| 赤峰市| 西乡县| 新疆| 罗源县| 张家界市| 普宁市| 文水县| 太仓市| 桐柏县| 韶山市| 大英县| 会泽县| 乌拉特中旗| 汉川市| 铁岭县| 白城市| 图片| 家居| 鄂温| 屯门区| 泰安市| 库车县| 巩义市| 曲靖市| 阿图什市| 拉萨市| 丰城市| 鄂尔多斯市| 翁牛特旗| 肇东市| 西和县| 公安县|