最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET中的 類型轉(zhuǎn)換深入理解

 更新時(shí)間:2013年01月10日 11:50:49   作者:  
CLR最重要的一個(gè)特性就是類型安全,CLR在運(yùn)行時(shí)總能知道一個(gè)對(duì)象的類型,我們也可以通過調(diào)用GetType()方法,來得到對(duì)象的準(zhǔn)確類型,接下來詳細(xì)介紹,感興趣的朋友可以了解下

CLR最重要的一個(gè)特性就是類型安全。CLR在運(yùn)行時(shí)總能知道一個(gè)對(duì)象的類型。我們也可以通過調(diào)用GetType()方法,來得到對(duì)象的準(zhǔn)確類型。因?yàn)樵摲椒ㄊ且粋€(gè)非虛方法,所以我們不可能利用它來篡改一個(gè)類型的信息。(Microsoft.NET 框架程序設(shè)計(jì)<修訂版>p117)

我們定義如下類

復(fù)制代碼 代碼如下:

 public class Employee  
  {
     string name= string.Empty;
     float age = -1;
     public override string ToString()
     {
         return "name = "+name +" and age = "+age;
     }
 }
 

通過如下代碼:
復(fù)制代碼 代碼如下:

 Employee e = new Employee();
 object oe = e as object;
 if(oe == null)
 {
     Console.WriteLine("oe is null");
 }
 Console.WriteLine("oe's type is : {0}",oe.GetType());
 

通過以上,應(yīng)該可以明白“CLR在運(yùn)行時(shí)總能知道一個(gè)對(duì)象的類型?!绷恕?BR>as 操作符提供了對(duì)左邊實(shí)例到右邊類型的兼容性檢驗(yàn),如果兼容,即左邊實(shí)例可以轉(zhuǎn)換為右邊類型的對(duì)象,則返回此對(duì)象的引用,否則返回null。除了as操作符之外,C#中還提供了is 操作符,它也提供了對(duì)左邊實(shí)例與右邊類型的兼容性檢驗(yàn),只不過當(dāng)檢驗(yàn)結(jié)果兼容時(shí),它返回的是true,否則返回false,因此,它還需要額外的顯示操作,以完成轉(zhuǎn)換。所以相對(duì)比較起來,as操作符效率更高些。此外,兩個(gè)操作符運(yùn)行過程中,都不會(huì)拋出異常。但是as操作符要求對(duì)轉(zhuǎn)換過的對(duì)象增加是否為null引用的判斷,以防止轉(zhuǎn)換不成功時(shí),對(duì)空引用操作。

由于as操作符在檢驗(yàn)結(jié)果不兼容時(shí),會(huì)返回null,因此,as操作符不可以把實(shí)例與值類型相檢驗(yàn),否則編譯不通過。因?yàn)橹殿愋筒荒苜x值為null(?除外).

相關(guān)文章

  • asp.net Web Service 接口大量數(shù)據(jù)傳輸解決方案

    asp.net Web Service 接口大量數(shù)據(jù)傳輸解決方案

    就管他叫“使用多線程分段獲取大量數(shù)據(jù)方法”吧。假定我們的需求是,通過Web Service獲取10W條訂單,我的解決方案是 分成10個(gè)線程每個(gè)線程傳輸1W條訂單分段獲取
    2010-04-04
  • .NET Core應(yīng)用類型(Portable apps & Self-contained apps)

    .NET Core應(yīng)用類型(Portable apps & Self-contained apps)

    這篇文章主要介紹了.NET Core應(yīng)用類型,通常類型用來描述一個(gè)特定的執(zhí)行模型或者基于此的應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • asp.net(C#)防sql注入組件的實(shí)現(xiàn)代碼

    asp.net(C#)防sql注入組件的實(shí)現(xiàn)代碼

    經(jīng)常要寫一些.net的程序,對(duì)于數(shù)據(jù)庫的防注入要求要比較高。這時(shí)我從網(wǎng)上搜了一些代碼。查看了一下主要是通過HTTPModel來進(jìn)行對(duì)客戶端轉(zhuǎn)過來的數(shù)據(jù)進(jìn)行處理。
    2009-12-12
  • .net core Api 部署到Linux的方法步驟

    .net core Api 部署到Linux的方法步驟

    這篇文章主要介紹了.net core Api 部署到Linux的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • ASP.NET設(shè)計(jì)FTP文件上傳的解決方案

    ASP.NET設(shè)計(jì)FTP文件上傳的解決方案

    這篇文章主要介紹了ASP.NET設(shè)計(jì)FTP文件上傳的解決方案,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-09-09
  • asp.net html控件的File控件實(shí)現(xiàn)多文件上傳實(shí)例分享

    asp.net html控件的File控件實(shí)現(xiàn)多文件上傳實(shí)例分享

    asp.net中html控件的File控件實(shí)現(xiàn)多文件上傳簡(jiǎn)單實(shí)例,開發(fā)工具vs2010使用c#語言,感興趣的朋友可以了解下,必定是多文件上傳值得學(xué)習(xí),或許本文所提供的知識(shí)點(diǎn)對(duì)你有所幫助
    2013-02-02
  • .NET?Core項(xiàng)目使用swagger開發(fā)組件

    .NET?Core項(xiàng)目使用swagger開發(fā)組件

    這篇文章介紹了.NET?Core項(xiàng)目使用swagger開發(fā)組件的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • asp.net 使用Response.Filter 過濾非法詞匯

    asp.net 使用Response.Filter 過濾非法詞匯

    一般信息發(fā)布網(wǎng)站,論壇等均具有實(shí)現(xiàn)非法詞匯過濾功能,即當(dāng)用戶錄入非法詞匯時(shí),進(jìn)行替換,使其無法顯示到頁面上,針對(duì)此種功能,通常采用的時(shí),在讀取時(shí),在讀到非法詞匯后,進(jìn)行替換。
    2010-03-03
  • asp.net Repeater中使用if的代碼

    asp.net Repeater中使用if的代碼

    asp.net Repeater中使用if的和asp.net日期綁定的轉(zhuǎn)換
    2009-02-02
  • asp.net+ajaxfileupload.js 實(shí)現(xiàn)文件異步上傳代碼分享

    asp.net+ajaxfileupload.js 實(shí)現(xiàn)文件異步上傳代碼分享

    本文給大家分享一段asp.net基于ajaxfileupload.js實(shí)現(xiàn)文件異步上傳的代碼,本人項(xiàng)目中已經(jīng)在使用的代碼,小伙伴們可以直接移植到自己的項(xiàng)目中去。
    2014-11-11

最新評(píng)論

隆回县| 锡林郭勒盟| 杨浦区| 桦南县| 化隆| 班玛县| 盐城市| 宁波市| 临朐县| 古浪县| 泾阳县| 金平| 祁连县| 墨江| 平乐县| 青冈县| 景洪市| 武清区| 子洲县| 宣化县| 林州市| 尚义县| 潞城市| 寿阳县| 万安县| 磐安县| 南昌市| 沙河市| 馆陶县| 都江堰市| 泸溪县| 抚宁县| 德令哈市| 黄大仙区| 海林市| 瑞金市| 措勤县| 额尔古纳市| 衡山县| 会宁县| 抚顺县|