这是一个简单的问题,但我有疑问,请看下面的代码
public static String something;
static void Main(string[] args)
{
try
{
if (something == "blah")
System.Console.Write("ok");
}
catch (Exception)
{
throw;
}
}
我知道这不会抛出异常,但为什么呢?因为名称为 something 的变量为 null,当您进行比较时,您试图获得 null 的引用。有人可以向我解释为什么吗?谢谢!
最佳答案
这里没有任何问题,因为您不是在尝试取消引用 某事
。您正在获取它的值,即null
。如果您尝试取消引用它(即 something.somemethod()
),则会抛出异常。
关于c# - 为什么这不会抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440941/