public Card(Suit newSuit, Rank newRank)
{
   suit=newSuit;
   rank=newRank;
}
..............................
public override int GetHashCode()
{
   return 13*(int)rank + (int)suit;
这是一副扑克牌.suit是花式,rank是A到K.13张牌.
这句返回的是什么意思?return 13*(int)rank + (int)suit;顺便问个问题.我是个没基础的新手.直接学C#的.学到这本书的第11章.感觉挺痛苦的.尤其是这个扑克牌程序.集合也学的很迷糊.
请问集合,比较,转换这些内容重要吗?我是要搞懂才能往下学.还是可以把这些东西跳掉.
望高人指点.

解决方案 »

  1.   

    HOHO.
    扑克牌比我狠啊.越搞越迷糊了.
      

  2.   

    Suit 和Rank 是什么类型的  都是枚举么?
      

  3.   

    还是都是继承了int的自定义类阿?
      

  4.   

    return 13*(int)rank + (int)suit;返回13*rank+suit的值
    这里将rank和suit转换成INT才能进行运算.
      

  5.   

    中国.net论坛,.net爱好者的家园论坛地址:www.cndotnet.com
      

  6.   

    rank是ace到老K啊.
    是不是书上写错了
    suit是0-3. rank是1-13
    应该是 return 13*(int)suit + (int)rank?
      

  7.   

    我也觉得return 13*(int)suit + (int)rank 更有道理 呵呵
      

  8.   

    楼上说得对....搞错了 还是return 13*(int)rank + (int)suit 对头