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;
}