搜索
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.ToBooleanConvert.ToDoubleConvert.ToStringConvert.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

为什么要转换?

很多时候,不需要类型转换。但有时你必须这样做。请看下一章,在处理用户输入时,你将看到这样的例子。