程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中的AS、IS運算符與強制類型轉換

C#中的AS、IS運算符與強制類型轉換

編輯:關於C#
 

as和強制轉換之間最大的區別就在於如何處理用戶自定義的轉換。操作符 as和 is 都只檢查被轉換對象的運行時類型,並不執行其他的操作。如果被轉換對象的運行時類型既不是所轉換的目標類型,也不是其派生類型,那麼轉型將告失敗。但是強制轉型則會使用轉換操作符來執行轉型操作,這包括任何內建的數值轉換(如:long轉int)。

  一般情況我們應該先考慮使用as進行類型轉換,然後再考慮使用is,最後才考慮使用強制轉換。
如果你使用as來轉換數據,那麼用is來做檢測是不必要的。只用檢測返回類型是否為null就行了
is和as一樣,都是類型轉換安全的,它們在任何時候都不會在轉換時發生異常,因此可以先用is來安全的判斷一下數據類型。與as不同的時,is只是做類型檢測並返回邏輯值,不做轉換。

        as不能用於值類型,這是因為值類型不能為null。像這種情況我們應該使用強制類型轉換。
eg:在代碼中

double i = 12;
int j = i as int;
Error 1 The as operator must be used with a reference type or nullable type ('int' is a non-nullable value type)

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