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#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 买车| 荥经县| 九寨沟县| 广东省| 吉安县| 柏乡县| 襄城县| 深圳市| 镇安县| 贵南县| 芦溪县| 景德镇市| 长汀县| 射洪县| 山东| 肥东县| 长垣县| 莒南县| 石首市| 沙坪坝区| 略阳县| 大埔县| 平昌县| 天祝| 浦县| 闽清县| 安康市| 瑞安市| 潼关县| 莒南县| 永年县| 沙坪坝区| 平远县| 芦山县| 特克斯县| 交城县| 临海市| 云霄县| 永春县| 余江县| 姜堰市|