【发布时间】:2014-07-13 19:00:17
【问题描述】:
C# 有 as 关键字,它可以将一个对象转换成其他东西,或者如果它不起作用则失败并返回 null。
如果我尝试转换的值已经为 null,会发生什么?我会得到 null 还是会引发一些异常?
【问题讨论】:
标签: c#
C# 有 as 关键字,它可以将一个对象转换成其他东西,或者如果它不起作用则失败并返回 null。
如果我尝试转换的值已经为 null,会发生什么?我会得到 null 还是会引发一些异常?
【问题讨论】:
标签: c#
它将返回 null。 as 运算符的目的是避免抛出异常,每个 MSDN:
as 运算符类似于强制转换操作。但是,如果转换 不可能,因为返回 null 而不是引发异常。
例如:
object o = null; // also try with a string type
string result = o as string;
Console.WriteLine(result); // null
【讨论】:
你得到一个空值,没有例外。其实as的重点是永远不要抛出异常。
【讨论】: