亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#強制類型轉化有幾種

發布時間:2021-12-01 14:19:44 來源:億速云 閱讀:331 作者:小新 欄目:編程語言

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

C#強制類型轉化有以下三種:

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

(1) typeA objA = (typeA)objB;

(2) typeA objA = objB as objA;

(3) typeA objA = objB as typeA

在實際開發過程中我們經常用到上面三種類型轉換,但這三種C#強制類型轉化的區別,以及在使用中應如何選擇呢?

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

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

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

下面我們來看一下第三種C#強制類型轉化。

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎鲁特旗| 镇原县| 略阳县| 灵寿县| 阿坝| 民丰县| 南溪县| 鲁山县| 武隆县| 永嘉县| 汤原县| 嵩明县| 怀宁县| 博罗县| 吉安市| 伊通| 长乐市| 兴义市| 扬中市| 杭锦旗| 乐平市| 和平县| 伊金霍洛旗| 永善县| 崇信县| 宜黄县| 章丘市| 安乡县| 陆川县| 桂林市| 泰宁县| 岱山县| 阳曲县| 芷江| 丰都县| 安龙县| 大石桥市| 达拉特旗| 赤水市| 门源| 那曲县|