程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中as與is的用法

C#中as與is的用法

編輯:C#入門知識

一、類型轉換

**************************************************************************************************************
1.任何類型都可以轉換為其基類類型,用隱式轉換完成;
2.任何類型轉換為其派生類型時,必須進行顯示轉換。如:(類型名)對象名;
3.使用GetType可以取得任何對象的精確類型;
4.基本類型可以使用Convert類實現類型轉換;
5.除了string以外的其他類型都有Parse方法,用於將字符串類型轉換成對應的基本類型;
6.值類型和引用類型的轉換稱為裝箱(boxing)或拆箱(unboxing);
**************************************************************************************************************

二、is/as示例

is轉換規則:

1. 檢查對象類型的兼容性,並返回結果true(false);
2.不會拋出異常;
3.如果對象為null,剛返回false;

示例:

    object o = "abc";
    if (o is string) //執行第一次類型兼容性檢查
    {
        string s = (string)o; //執行第二次類型兼容性檢查,並轉換
        MessageBox.Show("轉換成功!");
    }
    else
    {
        MessageBox.Show("轉換失敗!");
    }

as轉換規則:

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

示例:

    object o = "abc";
    string s = o as string; //執行第一次類型兼容性檢查,並返回結果
    if (s != null)
        MessageBox.Show("轉換成功!");
    else
        MessageBox.Show("轉換失敗!");

注:as比is少執行一次兼容性檢查,性能可能會高一點點。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved