类型和对象入门指南
1. 类型转换:隐式与显式
类型转换是编程语言中不可或缺的一部分,它允许我们将一个类型的值转换为另一种类型的值。根据转换的安全性和必要性,类型转换可以分为隐式转换和显式转换。
1.1 隐式转换
隐式转换是指编译器能够自动执行的类型转换,这类转换是安全的,不会导致数据丢失。例如,将 int
类型的值转换为 long
类型的值是隐式转换,因为所有 int
类型的值都能安全地放入 long
类型中:
long Add(long a, long b) {
return a + b;
}
Add(1, 2); // 提供的 int 字面量会隐式转换为 long
隐式转换还可以发生在子类型和超类型之间,例如 System.String
是 System.Object
的子类型:
void PrintObject(object o) {
Console.WriteLine(o);
}
PrintObject("Bart"); // System.String 是 System.Object 的子类型
1.2 显式转换
显式转换是指那些可能会导致数据丢失或运行时错误的转换,必须由程序员显式地进行。例如,从 <