引用型別的轉換方式有隱式轉換、強制轉換、as轉換等。值型別的轉換方式也有不少,本篇稍稍歸納。
□ 隱式轉換
int i = 10;
float f = i;
console.writeline(f);如果是值型別,當被轉換變數的數值範圍小於目標變數的數值範圍,就可以實現隱式轉換;如果是引用型別,子類可以隱式轉換成父類。
□ 強制轉換
float f = 10.56f;
int i = (int) f;
console.writeline(i);如果是值型別,當被轉換變數的數值範圍大於目標變數的陣列範圍,考慮使用強制轉換;如果是引用型別,父類可以強制轉換成某個子類。值得注意的是:強制轉換可能會導致損失一些精度。
□ 通過system.convert的靜態方法實施轉換
比如把乙個整型轉換成
sysem.char
型別。
char result = convert.tochar(68);
console.writeline(result);通過
system.convert
轉換失敗會報
overflowexception
異常。□ 通過值型別的靜態方法
把字串轉換成int型別。
string str = "11";
int i = int.parse(str);
console.writeline(i);如果字串中包含非數字,會丟擲
system.formatexception
異常。
string str = "11a";
int i = int.parse(str);
console.writeline(i);
如何避免這種情況呢?
--使用
int.tryparse
方法可以避免這種情況。
string str = "11a";
int result = 1;
bool issuccess = int.tryparse(str, out result);
if (issuccess)
else□ 通過iconvertible介面方法
由於所有的值型別都實現了
iconvertible
介面,可以通過該介面的方法實現值型別轉換。
char result = ((iconvertible) 68).tochar(null);
console.writeline(result);如果轉換失敗,會丟擲
system.invalidcastexception
異常。
Int型別轉換的幾種方式差異
1 int 是一種型別轉換 當我們觟nt型別到long,float,double,decimal型別,可以使用隱式轉換,但是當我們從long型別到int型別就需要使用顯式轉換,否則會產生編譯錯誤。2 int.parse 是一種類容轉換 表示將數字內容的字串轉為int型別。如果字串為空,則丟擲argu...
c 幾種型別轉換方式
1 初始化和賦值進行的轉換 1 float one 1 整型轉浮點型23 int guess 2.333 double轉int45 int debt 7.2e12 flot轉int 但是無法儲存過大資料 2 以 方式初始化時進行轉換 1 條件 不允許轉換最大範圍還大大的資料,比如float就不能轉換...
vue 傳值的幾種方式
1.父子傳值 第一步 在父元素中繫結乙個引數 我這裡的是 id updateid 第二步 在子元素中接受,使用props接收。2.子向父傳值 第一步 在子元件中觸發 我這裡並沒有傳值,如果需要傳值,就 self.emit updates 你要傳的值 第二步 在父元素監聽事件 傳參的直接在update...