濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > .net中as和is之間的區(qū)別分析

.net中as和is之間的區(qū)別分析

熱門(mén)標(biāo)簽:萊蕪?fù)夂綦婁N(xiāo)機(jī)器人價(jià)格 凱立德導(dǎo)航官網(wǎng)地圖標(biāo)注 長(zhǎng)春呼叫中心外呼系統(tǒng)哪家好 鄭州400電話辦理 聯(lián)通 電銷(xiāo)語(yǔ)音自動(dòng)機(jī)器人 地圖標(biāo)注和認(rèn)領(lǐng) 智能電話營(yíng)銷(xiāo)外呼系統(tǒng) 戶外地圖標(biāo)注軟件手機(jī)哪個(gè)好用 五常地圖標(biāo)注

1、as

用于在兼容的引用類(lèi)型之間執(zhí)行轉(zhuǎn)換,as 運(yùn)算符類(lèi)似于強(qiáng)制轉(zhuǎn)換操作;但是,如果轉(zhuǎn)換不可行,as 會(huì)返回 null 而不是引發(fā)異常。更嚴(yán)格地說(shuō),這種形式的表達(dá)式:expression as type,等效于expression is type ? (type)expression : (type)null,只是 expression 只被計(jì)算一次。注意,as 運(yùn)算符只執(zhí)行引用轉(zhuǎn)換和裝箱轉(zhuǎn)換。as 運(yùn)算符無(wú)法執(zhí)行其他轉(zhuǎn)換,如用戶定義的轉(zhuǎn)換,這類(lèi)轉(zhuǎn)換應(yīng)使用 cast 表達(dá)式來(lái)執(zhí)行 as操作符不會(huì)做過(guò)的轉(zhuǎn)換操作,當(dāng)需要轉(zhuǎn)化對(duì)象的類(lèi)型屬于轉(zhuǎn)換目標(biāo)類(lèi)型或者轉(zhuǎn)換目標(biāo)類(lèi)型的派生類(lèi)型時(shí),那么此轉(zhuǎn)換操作才能成功。

效率:

當(dāng)用as操作符進(jìn)行類(lèi)型轉(zhuǎn)換的時(shí)候,首先判斷當(dāng)前對(duì)象的類(lèi)型, 當(dāng)類(lèi)型滿足要求后才進(jìn)行轉(zhuǎn)換,而傳統(tǒng)的類(lèi)型轉(zhuǎn)換方式,是用當(dāng)前對(duì)象直接去轉(zhuǎn)換, 而且為了保護(hù)轉(zhuǎn)換成功,要加上try-catch. 而且并不產(chǎn)生新的對(duì)象【當(dāng)不成功的時(shí)候,會(huì)返回null】。 相對(duì)來(lái)說(shuō),as效率高點(diǎn),用as進(jìn)行類(lèi)型轉(zhuǎn)換是安全的。 實(shí)例: e.Item.DataItem as DataRowView 同等 (DataRowView)e.Item.DataItem

2、is

檢查對(duì)象是否與給定類(lèi)型兼容,例如:if(obj is string){}。如果所提供的表達(dá)式非空,并且所提供的對(duì)象可以強(qiáng)制轉(zhuǎn)換為所提供的類(lèi)型而不會(huì)導(dǎo)致引發(fā)異常,則 is 表達(dá)式的計(jì)算結(jié)果將是 true。如果已知表達(dá)式將始終是 true 或始終是 false,則 is 關(guān)鍵字將導(dǎo)致編譯時(shí)警告,但是,通常在運(yùn)行時(shí)才計(jì)算類(lèi)型兼容性。不能重載 is 運(yùn)算符。請(qǐng)注意,is 運(yùn)算符只考慮引用轉(zhuǎn)換、裝箱轉(zhuǎn)換和取消裝箱轉(zhuǎn)換。

您可能感興趣的文章:
  • ASP.NET小結(jié)之MVC, MVP, MVVM比較以及區(qū)別(二)
  • ASP.NET小結(jié)之MVC, MVP, MVVM比較以及區(qū)別(一)
  • asp.net中virtual和abstract的區(qū)別分析
  • Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析
  • c#.net中const和readonly的區(qū)別
  • 詳細(xì)說(shuō)明asp.net中datareader 和 dataset 的區(qū)別
  • asp.net中DBNull.Value,null,String.Empty區(qū)別淺析
  • asp.net 中靜態(tài)方法和動(dòng)態(tài)方法調(diào)用的區(qū)別實(shí)例分析
  • ASP.NET筆記之 控件與母板的區(qū)別分析
  • .net中的session與cookies區(qū)別及使用方法
  • .NET MVC中ViewData,ViewBag和TempData的區(qū)別淺析

標(biāo)簽:岳陽(yáng) 西寧 湖州 宣城 紅河 衢州 西藏 福州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.net中as和is之間的區(qū)別分析》,本文關(guān)鍵詞  .net,中,和,之,間的,區(qū)別,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.net中as和is之間的區(qū)別分析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于.net中as和is之間的區(qū)別分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    衡山县| 张掖市| 岗巴县| 武夷山市| 曲水县| 英吉沙县| 策勒县| 夏津县| 焉耆| 翁源县| 广灵县| 兴安县| 武安市| 晋江市| 申扎县| 乌恰县| 横峰县| 湘潭市| 出国| 霍林郭勒市| 枣庄市| 岳普湖县| 精河县| 遵化市| 怀化市| 汉寿县| 宜兰县| 阿拉尔市| 三明市| 安丘市| 襄樊市| 白城市| 皋兰县| 聂拉木县| 三台县| 朝阳市| 水富县| 海宁市| 清水河县| 龙山县| 盖州市|