亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我們需要在C#中裝箱和拆箱?

為什么我們需要在C#中裝箱和拆箱?

HUWWW 2019-07-31 14:24:24
為什么我們需要在C#中裝箱和拆箱?為什么我們需要在C#中裝箱和拆箱?我知道拳擊和拆箱是什么,但我無法理解它的實際用途。我應該在哪里以及在哪里使用它?short s = 25;object objshort = s;  //Boxingshort anothershort = (short)objshort;  //Unboxing
查看完整描述

4 回答

?
qq_慕容8568841

TA貢獻1條經驗 獲得超0個贊

首先我想說,你那個“拳擊”翻譯得也太形象了點吧(用拳頭把值類型錘進箱子里面去,哈哈哈哈……),正統的翻譯叫“裝箱”。然后說一下裝箱和拆箱的用途,有時候你使用別人寫的接口,用的是封裝好的引用類型,而你定義的變量是值類型,這個時候就涉及到裝箱。相反的,將別人的接口返回值(引用類型)轉換成值類型,就涉及到拆箱。

例如:int????a=5;

????????? Func(object o);????//別人寫的接口

????????? Func(a);????//你調用別人的接口

最后,說一下在泛型和object類都能解決問題的情況下,應該盡可能使用泛型,泛型是在編譯期檢查類型;而使用object會造成頻繁的裝箱和拆箱,有損性能,隱式轉換也會帶來編譯錯誤。

????????

查看完整回答
反對 回復 2019-09-09
  • 4 回答
  • 0 關注
  • 1644 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號