自動類型轉換
隱式類型轉換 - 這些轉換是 C# 默認的以安全方式進行的轉換, 不會導致數據丟失。例如,從小的整數類型轉換為大的整數類型,從派生類轉換為基類。
轉換規則
從存儲范圍小的類型到存儲范圍大的類型。
整數具體規則為:
byte→short(char)→int→long→float→double
也就是說byte類型的變量可以自動轉換為short類型,示例代碼:
1
2
|
byte b = 10; short sh = b; |
在類型轉換時可以跳躍。示例代碼:
1
2
|
byte b1 = 100; int n = b1; |
強制類型轉換
顯式類型轉換 - 顯式類型轉換,即強制類型轉換。顯式轉換需要強制轉換運算符,而且強制轉換會造成數據丟失。
轉換規則
從存儲范圍大的類型到存儲范圍小的類型。
具體規則為:
double→float→long→int→short(char)→byte
例如:
1
2
3
|
double d = 5673.74; int i; i = ( int )d; |
1.Convert.ToInt32() 2. int.Parse()
Convert.ToInt32()
則可以將多種類型(包括 object 引用類型)的值轉換為 int 類型,因為它有許多重載版本:
- public static int ToInt32(object);
- public static int ToInt32(bool);
- public static int ToInt32(byte);
- public static int ToInt32(char);
- public static int ToInt32(decimal);
- public static int ToInt32(double);
- public static int ToInt32(short);
- public static int ToInt32(long);
- public static int ToInt32(sbyte);
- public static int ToInt32(string);
Int32.Parse()
表示將包含數字的字符串轉換為32 位有符號整數,屬于內容轉換
- 如果 string 為空,則拋出 ArgumentNullException 異常;
- 如果 string 格式不正確,則拋出 FormatException 異常;
可以看出來,Convert.ToInt32()
的功能是最強大的,它把Int32.Parse()
功能包括了,也是說是Int32.Parse()是Convert.ToInt32() 的一種特殊情況。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/Mogul1/article/details/81191585