显式转换

如果你知道某个值是特定类型,则可以显式地将其强制转换为该类型,以便在需要该类型的上下文中使用它。

object value = -1;
int number = (int) value;
Console.WriteLine(Math.Abs(number));

如果我们尝试将 value 直接传递给 Math.Abs(),我们会得到一个编译时异常,因为 Math.Abs() 没有一个以 object 为参数的重载。

如果 value 不能被投射到 int,那么这个例子中的第二行会抛出一个 InvalidCastException