C 中is as的區別

2021-06-26 12:10:20 字數 467 閱讀 1966

一、c#型別的轉換

在c#中型別的轉換分兩種:顯式和隱式,基本的規則如下:

1、基類物件轉化為子類物件,必須顯式轉換,規則:(型別名) 物件。

2、值型別和引用型別的轉換採用裝箱(boxing)或拆箱(unboxing).

3、子類轉化為基類物件。

4、基本型別互相之間轉化可以用covent類來實現。

5、字串型別轉換為對應的基本型別用parse方法,除了string型別外其他的型別都可以用parse方法。

6、用gettype可以取得物件的精確型別。

7、子類轉化為基類,採用隱式轉換。

二、c#中的is

檢查乙個物件是否相容於其他指定的型別,並返回乙個bool值,如果乙個物件是某個型別或是其父型別的話就返回為true,否則的話就會返回為false。永遠不會丟擲異常

如果物件引用為null,那麼is操作符總是返回為false,因為沒有物件可以檢查其型別。

C 中資料型別的安全轉換(is,as)

下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。view plain circle c newcircle 8 ob...

C 中資料型別的安全轉換(is,as)

原文 c 中資料型別的安全轉換 is,as 下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。circle c new...

C 中資料型別的安全轉換(is,as)

原文 c 中資料型別的安全轉換 is,as 下面 中,不能裝箱,在強制型別轉換時出錯,因為之前 c 是 class 型別,而卻要把它轉換為 int 型別,這是不可以的。雖然編譯器能通過編譯,但是 runtime 在執行時會丟擲 invalidcastexception 異常。1 2 3 4 circ...