在将.NET Core项目转换为.NET Framework时,有一件事要注意,使用Hashcode现在需要进行等效转换。可以看出,哈希码特定于.NET核心版本和某些扩展。
https://docs.microsoft.com/en-us/dotnet/api/system.hashcode?view=dotnet-plat-ext-3.1
如果存在任何内置对象类型,则想知道在.NET Framework中使用哪种方法足够接近。
可以在这里找到长期而彻底的答案:https://stackoverflow.com/a/34006336/25338
如果只需要一个简单的答案,则可以将对象哈希组合成新的结构(元组,匿名类等),并在结果上调用GetHashCode()
。
例如
public override int GetHashCode() {
return new { MyField1, MyField2 }.GetHashCode();
}