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

  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • Tube Time

    Tube Time

    14 Mayıs 2013