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 ** 閱讀(137) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河曲县| 普格县| 金平| 黎城县| 行唐县| 沙河市| 鄂托克旗| 恭城| 涟水县| 无棣县| 邵阳县| 白山市| 张掖市| 关岭| 乌审旗| 西充县| 兴文县| 汕头市| 新安县| 临泉县| 绥芬河市| 岳西县| 乌兰浩特市| 内江市| 沙坪坝区| 遂溪县| 诏安县| 永宁县| 仪陇县| 邮箱| 泸州市| 巴彦县| 马公市| 岳西县| 桐梓县| 贡觉县| 伊吾县| 武强县| 北安市| 四子王旗| 聊城市|