Belot.Card.GetHashCode C# (CSharp) Method

GetHashCode() public method

Gets a hash code for a card
public GetHashCode ( ) : int
return int
        public override int GetHashCode()
        {
            int hash = 0;
            switch( this.CardType )
            {
                case CardType.Ace:
                    hash = 8;
                    break;
                case CardType.King:
                    hash = 7;
                    break;
                case CardType.Queen:
                    hash = 6;
                    break;
                case CardType.Jack:
                    hash = 5;
                    break;
                case CardType.Ten:
                    hash = 4;
                    break;
                case CardType.Nine:
                    hash = 3;
                    break;
                case CardType.Eight:
                    hash = 2;
                    break;
                case CardType.Seven:
                    hash = 1;
                    break;
            }

            switch( this.CardColor )
            {
                case CardColor.Spades:
                    hash += 4*8;
                    break;
                case CardColor.Hearts:
                    hash += 3*8;
                    break;
                case CardColor.Diamonds:
                    hash += 2*8;
                    break;
                case CardColor.Clubs:
                    hash += 8;
                    break;
            }
            return hash;
        }