示例#1
0
        public override int GetHashCode()
        {
            // https://www.loganfranken.com/blog/692/overriding-equals-in-c-part-2/
            unchecked
            {
                const int hashingBase       = (int)2166136261;
                const int hashingMultiplier = 16777619;

                int hash = hashingBase;
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, SubjectName) ? SubjectName.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, TeacherName) ? TeacherName.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, ClassType) ? ClassType.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, DayOfWeek) ? DayOfWeek.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, TimeSegmentStart) ? TimeSegmentStart.GetHashCode() : 0);
                hash = (hash * hashingMultiplier) ^
                       (!ReferenceEquals(null, TimeSegmentCount) ? TimeSegmentCount.GetHashCode() : 0);

                return(hash);
            }
        }
示例#2
0
        /// <inheritdoc cref="object.GetHashCode"/>
        public override int GetHashCode()
        {
            int hashCode = 625787162;

            hashCode = (hashCode * -1521134295) + SubjectName.GetHashCode();
            hashCode = (hashCode * -1521134295) + AvgAssessments.GetHashCode();
            return(hashCode);
        }
示例#3
0
 public override int GetHashCode()
 {
     return(SubjectName.GetHashCode()
            ^ Grade.GetHashCode()
            ^ DateOfPassing.GetHashCode());
 }