显式转换
如果你知道某个值是特定类型,则可以显式地将其强制转换为该类型,以便在需要该类型的上下文中使用它。
object value = -1;
int number = (int) value;
Console.WriteLine(Math.Abs(number));
如果我们尝试将 value
直接传递给 Math.Abs()
,我们会得到一个编译时异常,因为 Math.Abs()
没有一个以 object
为参数的重载。
如果 value
不能被投射到 int
,那么这个例子中的第二行会抛出一个 InvalidCastException