C# 類型轉換 AS

在C#程序中經常出現類型的強制轉換,如:

double d=10.5;

int i=(int)d;

這樣得到i的值爲10。但是這麼轉換在一些情況下會出現轉換錯誤,如:

class C1{};

class C2:C1 {};

C1 c11=new C1();

C2 c22=(C1)C1;

這樣轉換就會失敗,需要進行處理,如try catch;

try

{

    C2 c22=(C1)c11;

}

catch(Exception e)

{

    console.writelinr(e.message);

}

但是如果使用AS,那麼強制轉換爲

C2 c22=c11 as C2;

相比較而言,as無疑是最合適,他與try catch 相比較來說,具有安全性和高效性。(轉換失敗不會產生新的對象,會直接賦值爲空)

但是as必須用於引用類型和可爲空類型。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章