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

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

C#強(qiáng)制類型轉(zhuǎn)換與泛型怎么理解

本篇內(nèi)容主要講解“C#強(qiáng)制類型轉(zhuǎn)換與泛型怎么理解”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“C#強(qiáng)制類型轉(zhuǎn)換與泛型怎么理解”吧!

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的甘南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

C# 強(qiáng)制類型轉(zhuǎn)換和普通對(duì)象一樣,泛型類的對(duì)象也可以采用強(qiáng)制類型轉(zhuǎn)換轉(zhuǎn)換成另外的泛型類型,不過(guò)只有當(dāng)兩者在各個(gè)方面兼容時(shí)才能這么做。C# 編譯器只允許將一般類型參數(shù)隱式強(qiáng)制轉(zhuǎn)換到 Object 或約束指定的類型,如下面代碼塊所示。這樣的隱式強(qiáng)制類型轉(zhuǎn)換是類型安全的,因?yàn)榭梢栽诰幾g時(shí)發(fā)現(xiàn)任何不兼容性。

C# 強(qiáng)制類型轉(zhuǎn)換與C# 泛型實(shí)例演示

代碼塊

一般類型參數(shù)的隱式強(qiáng)制類型轉(zhuǎn)換

interface ISomeInterface  {...}  class BaseClass  {...}  class MyClass where T : BaseClass,ISomeInterface  {     void SomeMethod(T t)     {        ISomeInterface obj1 = t;        BaseClass      obj2 = t;        object         obj3 = t;     }  }

編譯器允許您將一般類型參數(shù)顯式強(qiáng)制轉(zhuǎn)換到其他任何接口,但不能將其轉(zhuǎn)換到類:

interface ISomeInterface  {...}  class SomeClass  {...}  class MyClass   {     void SomeMethod(T t)     {        ISomeInterface obj1 = (ISomeInterface)t;//Compiles        SomeClass      obj2 = (SomeClass)t;     //Does not compile     }  }

但是,您可以使用臨時(shí)的 Object 變量,將一般類型參數(shù)強(qiáng)制轉(zhuǎn)換到其他任何類型:

class SomeClass  {...}   class MyClass   {          void SomeMethod(T t)          {        object temp = t;        SomeClass obj = (SomeClass)temp;          }  }

不用說(shuō),這樣的顯式強(qiáng)制類型轉(zhuǎn)換是危險(xiǎn)的,因?yàn)槿绻麨槿〈话泐愋蛥?shù)而使用的類型實(shí)參不是派生自您要顯式強(qiáng)制轉(zhuǎn)換到的類型,則可能在運(yùn)行時(shí)引發(fā)異常。要想不冒引發(fā)強(qiáng)制類型轉(zhuǎn)換異常的危險(xiǎn),一種更好的辦法是使用 is 和 as 運(yùn)算符,如代碼塊 6 所示。如果一般類型參數(shù)的類型是所查詢的類型,則 is 運(yùn)算符返回 true;如果這些類型兼容,則 as 將執(zhí)行強(qiáng)制類型轉(zhuǎn)換,否則將返回 null。您可以對(duì)一般類型參數(shù)以及帶有特定類型實(shí)參的一般類使用 is 和 as。

C# 強(qiáng)制類型轉(zhuǎn)換與C# 泛型實(shí)例:

代碼塊

對(duì)一般類型參數(shù)使用“is”和“as”運(yùn)算符

public class MyClass   {     public void SomeMethod(T t)     {        if(t is int)        {...}          if(t is LinkedList)        {...}         string str = t as string;        if(str != null)        {...}         LinkedList list = t as LinkedList;        if(list != null)        {...}     }  }

到此,相信大家對(duì)“C#強(qiáng)制類型轉(zhuǎn)換與泛型怎么理解”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


當(dāng)前題目:C#強(qiáng)制類型轉(zhuǎn)換與泛型怎么理解
標(biāo)題鏈接:http://weahome.cn/article/piihgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部