真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#強制類型轉(zhuǎn)化有幾種

這篇文章給大家分享的是有關(guān)C#強制類型轉(zhuǎn)化有幾種的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站是一家專業(yè)提供蚌山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為蚌山眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

C#強制類型轉(zhuǎn)化有以下三種:

注:objA 為 typeA 類型,objB 為 typeB 類型

(1) typeA objA = (typeA)objB;

(2) typeA objA = objB as objA;

(3) typeA objA = objB as typeA

在實際開發(fā)過程中我們經(jīng)常用到上面三種類型轉(zhuǎn)換,但這三種C#強制類型轉(zhuǎn)化的區(qū)別,以及在使用中應(yīng)如何選擇呢?

在我們使用***種類型轉(zhuǎn)換時,如果類型typeA是typeB的上層類,則能正確進行類型轉(zhuǎn)換,如typeB是typeA的上層類,將會拋出System.InvalidCastException異常。所以在實開發(fā)中,為了避免異常的發(fā)行,我們可能會用到如下的代碼:

If(objB is typeA)   {   objA = (typeA)objB;   }

其中is為第二種類型轉(zhuǎn)換,根據(jù)MSDN上的解釋,它的作用是“檢查對象是否與給定類型兼容”,盡管它僅是反回一個boolean類型的值,但它也是通過進行類型轉(zhuǎn)換來判斷是否兼容的,所以,在使用此語句的時候,會進行一次類型轉(zhuǎn)換。那么,如果typeB與typeA是相容的話,上述代碼將會再次進行 (typeA)objB的類型轉(zhuǎn),肯定會影響我們所開發(fā)程序的性能。那么有沒有一種更好的辦法來幫助我們解決這個問題呢?

下面我們來看一下第三種C#強制類型轉(zhuǎn)化。

在進行第三種類型轉(zhuǎn)換時,如果typeB型的實例objB無法轉(zhuǎn)換到typeA類型時,就會反回一個null值,若轉(zhuǎn)換成功,則返回一個typeA類型的實例。此種轉(zhuǎn)換不會發(fā)生異常,且僅需一次類型轉(zhuǎn)換。這就解決了上面兩次類型轉(zhuǎn)換所帶來的性能消耗。

感謝各位的閱讀!關(guān)于“C#強制類型轉(zhuǎn)化有幾種”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


分享名稱:C#強制類型轉(zhuǎn)化有幾種
當(dāng)前地址:http://weahome.cn/article/gcjpph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部