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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

拆箱存在的隱患

2019-11-17 02:50:55
字體:
供稿:網(wǎng)友

拆箱存在的隱患

static void Main(string[] args)

{

Int32 i = 10; object obj = new object(); //裝箱操作,通常沒有異常 try { obj = i; Console.WriteLine("裝箱成功!"); } catch (Exception ex) { Console.WriteLine("裝箱失敗:"+ex.Message);

return; } //拆箱操作,易產(chǎn)生隱患 try { Int64 j = (Int64)obj; Console.WriteLine("拆箱成功!"); } catch (Exception ex) { Console.WriteLine("拆箱失敗:"+ex.ToString()); } Console.Read();

}

分析:程序會(huì)拋出InvalidCastException類型的異常,這個(gè)異常的含義是無效類型轉(zhuǎn)換或是顯式轉(zhuǎn)換引發(fā)異常。這說明該異常是因被拆箱對象的最初類型與拆箱時(shí)的值類型不一致而產(chǎn)生的。同時(shí)也論證了拆箱時(shí)的一條原則:被拆箱對象的最初類型與拆箱時(shí)的值類型必須一致!

解決:

try{Int64 j = (Int64)(Int32)obj;Console.WriteLine("拆箱成功!");}catch (Exception ex){Console.WriteLine("拆箱失敗:"+ex.ToString());}

技巧:裝箱和拆箱操作會(huì)影響系統(tǒng)性能。并且拆箱操作容易產(chǎn)生隱患,所以建議在可以確定值類型的情況下,應(yīng)該盡可能的使用泛型技術(shù)來處理,這樣可以避免大量地使用拆箱和裝箱操作。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉隆县| 富阳市| 冀州市| 五台县| 贵德县| 桑日县| 安宁市| 怀远县| 阳江市| 新余市| 甘孜县| 韩城市| 旅游| 聂拉木县| 宜昌市| 延边| 旬邑县| 花莲县| 茶陵县| 兰考县| 革吉县| 酒泉市| 鸡泽县| 汽车| 泽州县| 临汾市| 昌图县| 上虞市| 德惠市| 繁峙县| 来凤县| 同仁县| 朝阳区| 郧西县| 航空| 宜昌市| 扶绥县| 江油市| 永福县| 吴川市| 安丘市|