C# 教程
/ 类型转换
类型转换
C# 类型转换
类型转换是指将一种数据类型的值分配给另一种类型。
在 C# 中,有两种类型的转换:
- 隐式转换(自动)- 将较小的类型转换为较大的类型
char
->int
->long
->float
->double
- 显式转换(手动)- 将较大的类型转换为较小的类型
double
->float
->long
->int
->char
隐式转换
将较小类型的值传递给较大类型时,将自动进行隐式转换:
实例
int myInt = 9; double myDouble = myInt; // 自动转换:从 int 到 double Console.WriteLine(myInt); // 输出 9 Console.WriteLine(myDouble); // 输出 9
显式转换
显式转换必须手动进行,方法是将类型放在值前面的括号中:
实例
double myDouble = 9.78; int myInt = (int) myDouble; // 手动转换:从 double 到 int Console.WriteLine(myDouble); // 输出 9.78 Console.WriteLine(myInt); // 输出 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)); // 将 int 转换为 string Console.WriteLine(Convert.ToDouble(myInt)); // 将 int 转换为 double Console.WriteLine(Convert.ToInt32(myDouble)); // 将 double 转换为 int Console.WriteLine(Convert.ToString(myBool)); // 将 bool 转换为 string
为什么要转换?
很多时候,不需要类型转换。但有时你必须这样做。请看下一章,在处理用户输入时,你将看到这样的例子。