C# 类型转换教程 - 隐式转换、显式转换与Convert类详解
全面掌握C#类型转换:详解隐式类型转换、显式强制转换、Convert类方法的使用,包含类型转换表、数据丢失处理和实际应用示例
什么是类型转换?
类型转换(Type Casting)是将数据从一种类型转换为另一种类型的过程。在C#编程中,这是非常重要的概念,因为不同的数据类型有不同的用途和限制。
为什么类型转换很重要?
- 数据兼容性:在不同类型间进行运算和操作
- 内存优化:选择合适的数据类型节省内存空间
- 用户输入处理:将字符串输入转换为数值类型
- API交互:不同系统间的数据格式转换
C#类型转换的三种主要方式
隐式类型转换(默认)
编译器自动进行的类型转换,将较小的类型转换为较大的类型大小,这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。
char -> int -> long -> float -> double
显式类型转换(强制类型转换)
程序员手动进行的强制类型转换,可能导致数据丢失
double -> float -> long -> int -> char
Convert类方法
使用内置的Convert类方法进行安全的类型转换
隐式类型转换
将较小尺寸的类型传递给较大尺寸的类型时,会自动执行隐式转换:
实例
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) and Convert.ToInt64 (long):
实例
int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt)); // 将 int 转换为字符串
Console.WriteLine(Convert.ToDouble(myInt)); // 将 int 转换为 double
Console.WriteLine(Convert.ToInt32(myDouble)); // 将 double 转换为 int
Console.WriteLine(Convert.ToString(myBool)); // 将布尔转换为字符串
为什么要转换数据类型?
很多时候不需要进行数据类型转换。但有时必须,比如使用用户输入时,请看下一章以查看示例。

