SORU
19 EYLÜL 2008, Cuma


Neden '397' ReSharper GetHashCode geçersiz kılmak için kullanılır?

Birçoğunuz gibi, ReSharper geliştirme sürecini hızlandırmak için kullanıyorum. Bir sınıf eşitlik üyeleri geçersiz kılmak için kullandığınızda, kod-gen GetHashCode için üretir() gibi görünüyor:

    public override int GetHashCode()
    {
        unchecked
        {
            int result = (Key != null ? Key.GetHashCode() : 0);
            result = (result * 397) ^ (EditableProperty != null ? EditableProperty.GetHashCode() : 0);
            result = (result * 397) ^ ObjectId;
            return result;
        }
    }

Elbette orada kendi üyelerinden bazıları var, ama bilmek isteyen am 397 neden?

  • Benim sorum, orada bir şey olduğu daha iyi kaleme alınmış 'özel' hakkında 397 asal sayı dışında bir asal sayı olmak? olur EDİT:

CEVAP
19 EYLÜL 2008, Cuma


Muhtemelen çünkü 397 sonuç taşmaya neden değişken ve karma parçalar biraz karıştırmak için yeterli büyüklükte bir başbakan, bir karma kodları daha iyi dağılımını sağlamak. Hiçbir şey aynı büyüklükte başka bir asal ayıran 397 hakkında özellikle özel bir şey yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • SPBedition

    SPBedition

    24 HAZİRAN 2013
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006