日期:2014-05-19  浏览次数:20839 次

C#入门经典3中的集合,比较,转换这一章的内容!
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章.感觉挺痛苦的.尤其是这个扑克牌程序.集合也学的很迷糊.
请问集合,比较,转换这些内容重要吗?我是要搞懂才能往下学.还是可以把这些东西跳掉.
望高人指点.


------解决方案--------------------
重要,但如果暂时没搞明白也不要紧,以后用到的时候再回来学

希望你能了解,很多知识不是因为学而掌握的,而是因为要用才去学
------解决方案--------------------
Suit 和Rank 是什么类型的 都是枚举么?
------解决方案--------------------
return 13*(int)rank + (int)suit;

返回13*rank+suit的值
这里将rank和suit转换成INT才能进行运算.
------解决方案--------------------
好像是返回的是52张牌里让每张牌的一个特定值,例如设定红桃为1,则红桃3
的值是40,我们要想知道那一张牌,只要知道他的值,比如40,除以13,得到的余数部分就是花式,结果是牌的点数。
我是这样认为的,不知道对不对。