安全显式转换(作为运算符)

如果你不确定某个值是否属于你认为的类型,则可以使用 as 运算符安全地进行转换。如果该值不是该类型,则结果值将为 null

object value = "-1";
int? number = value as int?;
if(number != null)
{
    Console.WriteLine(Math.Abs(number.Value));
}

请注意,null 值没有类型,因此 as 关键字在投射任何 null 值时将安全地产生 null