public override int GetHashCode()

in messages/csharp/src/Deltix.Timebase.Messages/EPAM.Deltix.Timebase.Messages.Schema/SchemaChangeMessage.cs [607:683]


        public override int GetHashCode()
        {
            unchecked
            {
            int hash = ((int)(2166136261u));
            if ((this.PreviousState == null))
            {
                hash = ((hash * 16777619) 
                            + 0);
            }
            else
            {
                int i;
                for (i = 0; (i < this.PreviousState.Count); i = (i + 1))
                {
                    if ((this.PreviousState[i] == null))
                    {
                        hash = ((hash * 16777619) 
                                    + 0);
                    }
                    else
                    {
                        hash = ((hash * 16777619) 
                                    + this.PreviousState[i].GetHashCode());
                    }
                }
            }
            if ((this.NewState == null))
            {
                hash = ((hash * 16777619) 
                            + 0);
            }
            else
            {
                int i;
                for (i = 0; (i < this.NewState.Count); i = (i + 1))
                {
                    if ((this.NewState[i] == null))
                    {
                        hash = ((hash * 16777619) 
                                    + 0);
                    }
                    else
                    {
                        hash = ((hash * 16777619) 
                                    + this.NewState[i].GetHashCode());
                    }
                }
            }
            if ((this.DescriptorChangeActions == null))
            {
                hash = ((hash * 16777619) 
                            + 0);
            }
            else
            {
                int i;
                for (i = 0; (i < this.DescriptorChangeActions.Count); i = (i + 1))
                {
                    if ((this.DescriptorChangeActions[i] == null))
                    {
                        hash = ((hash * 16777619) 
                                    + 0);
                    }
                    else
                    {
                        hash = ((hash * 16777619) 
                                    + this.DescriptorChangeActions[i].GetHashCode());
                    }
                }
            }
            hash = ((hash * 16777619) 
                        + this.Version.GetHashCode());
            return ((hash * 16777619) 
                        + base.GetHashCode());
            }
        }