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
为什么要进行转换?
很多时候,不需要类型转换。但有时必须进行。在下一章中,当我们处理 用户输入 时,会看到一个例子。