Hopes

          Start Here..

           

          C#中as與is的用法(轉)

          C#中as與is的用法(轉) 

          一、類型轉換   
          1.任何類型都可以轉換為其基類類型,用隱式轉換完成;  
          2.任何類型轉換為其派生類型時,必須進行顯示轉換。如:(類型名)對象名; 
          3.使用GetType可以取得任何對象的精確類型; 
          4.基本類型可以使用Convert類實現類型轉換;  
          5.除了string以外的其他類型都有Parse方法,用于將字符串類型轉換成對應的基本類型; 
          6.值類型和引用類型的轉換稱為裝箱(boxing)或拆箱(unboxing);
             
          二、is/as示例   
          is轉換規則:   
          1. 檢查對象類型的兼容性,并返回結果true(false); 
          2.不會拋出異常;  
          3.如果對象為null,剛返回false;  

          示例:  C#代碼   
          1. object o = "abc";    
          2. if (o is string) //執行第一次類型兼容性檢查   
          3. {    
          4.     string s = (string)o; //執行第二次類型兼容性檢查,并轉換   
          5.     MessageBox.Show("轉換成功!");   
          6. }   
          7. else  
          8. {    
          9.     MessageBox.Show("轉換失敗!");   
          10. }     

          as轉換規則:   
          1.檢查對象類型的兼容性,并返回轉換結果,如果不兼容則返回null; 
          2.不會拋出異常;  
          3.如果結果判斷為空,則強制執行類型轉換將拋出NullReferenceException異常;   示例:

           
          C#代碼  
          1. object o = "abc";    
          2. string s = o as string; //執行第一次類型兼容性檢查,并返回結果   
          3. if (s != null)     
          4.     MessageBox.Show("轉換成功!");   
          5. else   
          6.     MessageBox.Show("轉換失敗!");     

          注:as比is少執行一次兼容性檢查,性能可能會高一點點。     
          as是引用類型類型的轉換或者裝箱轉換,不能用與值類型的轉換。

          posted on 2014-01-18 19:39 ** 閱讀(133) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 蛟河市| 临沭县| 泰顺县| 定兴县| 鄂托克旗| 广州市| 武川县| 德钦县| 乐东| 贡山| 永善县| 普兰店市| 砚山县| 湟源县| 台东县| 湾仔区| 土默特右旗| 腾冲县| 米脂县| 德钦县| 万源市| 鄢陵县| 确山县| 扎鲁特旗| 澎湖县| 平果县| 南丰县| 吉水县| 丰原市| 沈丘县| 房产| 张家界市| 三江| 隆安县| 中超| 逊克县| 仲巴县| 杭州市| 左贡县| 玉树县| 遂昌县|