1. 程式人生 > >C# 型別轉換is和as

C# 型別轉換is和as

看書得來的知識點:

//第一種轉換
if(elem is Solid)
{
Solid solid=elem as Solid;
}
//第二種轉換
Solid solid=elem as Solid;
if(solid!=null)
......

在第一種方式中,CLR對物件檢查了兩次;

二次第二種方式中,只檢查了一次,運算速度遠大於第一種;

兩種方式結果是一樣的。

對於as轉換,永遠不會跑出異常,如果物件不能轉型,結果就是null。