91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

都兰县| 辽宁省| 连州市| 乌拉特前旗| 临安市| 同仁县| 荃湾区| 永善县| 浦县| 广昌县| 邹城市| 云龙县| 松潘县| 湖口县| 晋宁县| 土默特左旗| 峡江县| 合山市| 阿拉善右旗| 永仁县| 朔州市| 嵊泗县| 班玛县| 灌云县| 合水县| 苗栗县| 岐山县| 南部县| 龙州县| 邹平县| 巴彦淖尔市| 遵化市| 拉萨市| 淄博市| 黑山县| 西安市| 江油市| 新巴尔虎左旗| 陈巴尔虎旗| 金平| 新昌县|