ساختار جدید HashCode در NET Core 2.1.
301, MovedPermanently
https://docs.microsoft.com/en-us/dotnet/api/system.hashcode?view=netcore-2.1 icon

پیشتر برای محاسبه‌ی هش اشیاء، از یک چنین روشی استفاده می‌شد:

public override int GetHashCode()
{
    unchecked
    {
        int hashCode = 17; 
        hashCode = (hashCode * 23) + (name == null ? 0 : this.name.GetHashCode()); 
        hashCode = (hashCode * 23) + this.age; 
        foreach (string power in this.powers)
        {
            hashCode = (hashCode * 23) + (power == null ? 0 : power.GetHashCode());
        } 
        return hashCode;
    }
}
اکنون با استفاده از ساختار جدید HashCode در NET Core 2.1.، بجای آن می‌توان نوشت:
public override int GetHashCode()
{
    var hash = new HashCode();
    hash.Add(this.object1);
    hash.Add(this.object2);
    return hash.ToHashCode();
}
ساختار جدید HashCode در NET Core 2.1.