这是一个简单的问题,但我怀疑看到下面的代码
public static String something;
static void Main(string[] args)
{
try
{
if (something == "blah")
System.Console.Write("ok");
}
catch (Exception)
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不会引发异常而是为什么?因为名称为变量的变量为null,当您比较时,您尝试使用null获取引用.有人可以向我解释原因吗?谢谢!
use*_*016 24
没有什么是错的,因为你不是想要取消引用 something.你得到它的价值,这是null.如果你试图取消引用它(即something.somemethod()),那么就会抛出异常.