選擇is或者as操作符而不是做強制型別轉換

_York發表於2018-05-30

  無論何時,正確選擇使用as運算子進行型別轉換。比盲目的強制型別轉換更安全,而且在執行時效率更高。

用as和is進行轉換時,並不是對所有使用者定義的型別都能完成,只是在執行時型別和目標型別匹配時,轉換才能完成。

1、強制轉換是不安全的,可能有異常丟擲。需要try catch 結構來保證程式執行

2、as轉換是安全的,不會有異常丟擲,但在轉換失敗後,其結果為null。as和is執行時,要檢測轉換目標的型別。如果一個指定物件不是要求轉換的型別或者是從轉換型別派生的,就會轉換失敗

 

注:is 和 as 一樣,都是型別轉換安全的,它們在任何時候都不會在轉換時發生異常,因此可以先用 is 來安
全的判斷一下資料型別。與 as 不同的時,is 只是做型別檢測並返回邏輯值,不做轉換。

相關文章