我最近发现VisualStudio2017可以为Equals和GetHashCode自动生成重写,但我想知道为什么GetHashCode实现不在块中?我使用两个公共字符串属性Foo和Bar创建了一个简单的类,生成的GetHashCode实现如下所示。public override int GetHashCode() var hashCode = -504981047;
hashCode</
因此,我有一个具有大量属性的对象,我需要比较它们,因此,我必须覆盖GetHashCode。这令人头痛,因为任何属性都可以是空的,所以我有几行重复的代码。if (!// Use prime multiplication to help evenly distribute hashes
反复出现的"IsNullOrEmpty“让我出于某种原因感到不合理的愤怒,我不喜欢在代