西裝是卡中的4個符號,西裝是卡的13個數字和字母。我很困惑的HashTable多維數組混淆?
cardsInSuit.Add(value, new PlayingCard(suit, value));
難道說把價值在遊戲牌(西裝,價值)?然後在this.cardPack.Add(suit,cardsInSuit)上;由於hashTable全部是線性的。我將這看作是suit = 0,cardsInSuit是指向另一個0-12線性數組的值。我對麼?。
class Pack
{
private Hashtable cardPack; // no need to specify
private PlayingCard[,] cardPack;
public Pack()
{
this.cardPack = new Hashtable();
for (Suit suit = Suit.Clubs; suit <= Suit.Spades; suit++) // outer loop
{
SortedList cardsInSuit = new SortedList(); // sorted list makes 2 array
for (Value value = Value.Two; value <= Value.Ace; value++)
{
cardsInSuit.Add(value, new PlayingCard(suit, value));
}
this.cardPack.Add(suit, cardsInSuit);
}
}
您有兩個名爲'cardPack'(一個是'Hashtable',一個是'PlayingCard'的二維數組)的字段。這不會編譯 - 你是否正確地複製代碼? – Justin