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.ToInt32int) 和Convert.ToInt64long):

示例

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

亲自试一试 »

为什么要转换?

很多时候,不需要类型转换。但有时你必须这样做。当使用时请看下一章用户输入,查看一个例子。