考虑以下代码:
int? x = null;
Console.Write ("Hashcode: ");
Console.WriteLine(x.GetHashCode());
Console.Write("Type: ");
Console.WriteLine(x.GetType());
执行时,它会写为Hashcode为0,但NullReferenceException尝试确定的类型失败x。我知道在可空类型上调用的方法实际上是在基础值上调用的,因此我希望程序在期间会失败x.GetHashCode()。
那么,这两种方法之间的根本区别是什么,为什么它们中的第一种不会失败?
白衣染霜花
慕桂英546537
相关分类