请考虑以下代码:
int? x = null;
Console.Write ("Hashcode: ");
Console.WriteLine(x.GetHashCode());
Console.Write("Type: ");
Console.WriteLine(x.GetType());
Run Code Online (Sandbox Code Playgroud)
执行时,它会写入Hashcode 0,但NullReferenceException在尝试确定类型时失败x.我知道调用可空类型的方法实际上是在底层值上调用的,所以我希望程序在期间失败x.GetHashCode().
那么,这两种方法之间的根本区别是什么,为什么第一种方法失败呢?
我正在使用 JetBrains Rider,但未安装 Visual Studio。
我已经安装了 Visual Studio 构建工具来编译我的代码。
Rider 中的 NuGet 包管理器似乎仍然无法工作。
有没有办法在不安装 Visual Studio 本身的情况下解决这个问题?