引用類型的轉換方式有隱式轉換、強制轉換、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方法可以避免這種情況。
新聞熱點
疑難解答