is運算子
有些型別之間的轉換並不是能夠轉換成功,強制的轉換反而會丟擲一些異常,那麼,可以使用is運算子來檢查轉換是否可以轉換成功。is的語法如下:
variable is newtype
如果variable可以通過引用轉換、裝箱轉換和拆箱轉換的方式轉換為newtype,那麼運算子返回true。
舉例如下:
class animal
class dog : animal
class cat : animal
class program
,animal.weight="
, animal.name, animal.weight);
}console.writeline(i1 is float);
console.writeline(s1 is object);
console.writeline(cat is dog);
console.readkey();}}
執行結果如下:
dog可以轉化為animal型別,animal.name=動物,animal.weight=30
false
true
false
as運算子as和強制轉換運算子比較類似,它不會丟擲異常,如果轉換失敗,as運算子返回null。
需要注意的是as運算子只能用於引用轉換和裝箱轉換,as不能用於值型別轉換和使用者自定義轉換
舉例如下:
class animal
class dog : animal
class cat : animal
class program
,animal.weight="
, animal.name, animal.weight);
object v1 = i1 as object; //裝箱
int v2 = v1 as int; //拆箱 會報錯
console.writeline(v1);
console.writeline(s1 as object);
console.readkey();}}
這裡v1 as int;會報錯
C 中 運算子 和 運算子
運算子定義在將可空型別分配給非可空型別時返回的預設值。int?c null 若 c 為 null,則 d 為 1,否則把 c 值賦予 d int d c 1 型別名稱後加問號,如 int?i null double?d null bool?b null 可指定可為 null 的 int double...
C 中的 和 運算子
和 運算子 構串操作符 構串操作符 只能修飾帶引數的巨集的形參,它將實參的字串行 而不是實參代表的值 轉換成字串常量 define string x x x x define text x class x info 巨集引用 int abc 100 string abc text abc 替換結果 ...
C 中的 和 運算子
1.如果左運算元的值不為 null,則 null 合併運算子 返回該值 否則,它會計算右運算元並返回其結果。如果左運算元的計算結果為非 null,則 運算子不會計算其右運算元。2.c 8.0 及更高版本中可使用空合併賦值運算子 該運算子僅在左側運算元的求值結果為 null 時,才將其右側運算元的值賦...