C# 型別轉換
C# 型別轉換
型別轉換是指將一種資料型別的值賦給另一種型別。
在 C# 中,有兩種型別的轉換:
- 隱式轉換(自動)- 將較小型別轉換為較大型別
char
->int
->long
->float
->double
- 顯式轉換(手動)- 將較大型別轉換為較小型別
double
->float
->long
->int
->char
隱式轉換
當將較小型別傳遞給較大型別時,會自動進行隱式轉換。
示例
int myInt = 9;
double myDouble = myInt; // Automatic casting: int to double
Console.WriteLine(myInt); // Outputs 9
Console.WriteLine(myDouble); // Outputs 9
顯式轉換
必須手動進行顯式轉換,方法是在值前面加上括號中的型別。
示例
double myDouble = 9.78;
int myInt = (int) myDouble; // Manual casting: double to int
Console.WriteLine(myDouble); // Outputs 9.78
Console.WriteLine(myInt); // Outputs 9
型別轉換方法
也可以使用內建方法進行顯式型別轉換,例如 Convert.ToBoolean
、Convert.ToDouble
、Convert.ToString
、Convert.ToInt32
(int
)和 Convert.ToInt64
(long
)。
示例
int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt)); // convert int to string
Console.WriteLine(Convert.ToDouble(myInt)); // convert int to double
Console.WriteLine(Convert.ToInt32(myDouble)); // convert double to int
Console.WriteLine(Convert.ToString(myBool)); // convert bool to string
為什麼要進行轉換?
很多時候,不需要型別轉換。但有時必須進行。在下一章中,當我們處理 使用者輸入 時,會看到一個例子。