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

我是个新手C#入门经典第3版中的一个简单的问题
cards   =   new   Card[52];
                        for   (int   suitVal   =   0;   suitVal   <   4;   suitVal++)
                        {
                                for   (int   rankVal   =   1;   rankVal   <   14;   rankVal++)
                                {
                                        cards[suitVal   *   13   +   rankVal   -   1]   =   new   Card((Suit)suitVal,   (Rank)rankVal);
这是一副扑克牌.suitVal是花式,rankVal是Ace到老K.13张牌.
cards[suitVal   *   13   +   rankVal   -   1]   =   new   Card((Suit)suitVal,   (Rank)请问这句是什么意思啊.我不太理解.希望懂的朋友提点提点.小第不胜感激.

------解决方案--------------------
首先cards = new Card[52];申明了一个Card的对象数组

cards[suitVal * 13 + rankVal - 1] = new Card((Suit)suitVal, (Rank)rankVal);
是将这个数组中的每一个对象都实例化 也就是说生成了一张张的扑克牌 可以这么理解