Hier ist mein Code, das ist ein Fehler werfen Cannot convert type "int" to Cards.Suits
und Cannot convert type "int" to Cards.Rank
Wie konvertiert man int in enum Wert?
private Card[] cards;
public Deck()
{
cards = new Card[52];
for (int suitVal = 0; suitVal < 4; suitVal++)
{
for (int rankVal = 0; rankVal < 14; rankVal++)
{
cards[suitVal * 13 + rankVal - 1] = new Card((Suits)suitVal, (Rank)rankVal);
}
}
}
die Karten Konstruktor ist
public readonly Suits suit;
public readonly Rank rank;
public Card(Suits newSuit, Rank newRank)
{
suit = newSuit;
rank = newRank;
}
Nun ist die Anzüge Enum und Rang Enum sagen, wie ein regelmäßiges Kartenspiel bei ACE Start = 1 usw. und Anzüge sind DIAMANTEN, CLUBS, HEARTS, SPADES. Kann mir jemand sagen, warum ich den obigen Fehler bekomme. Der folgende Code entnahm einem Buch. Danke!
* EDIT
public enum ranks
{
ACE = 1,
TWO,
THREE,
FOUR,
FIVE,
SIX,
SEVEN,
EIGHT,
NINE,
TEN,
JACK,
QUEEN,
KING,
}
public enum Suit
{
DIAMOND,
CLUB,
HEART,
SPADE,
}
zeigen Ihnen die Definition für 'Suits' und' Rank'? –
Kein Duplikat, da diese Methode verwendet wird und trotzdem einen Fehler zurückgibt – MikaAK
Sie verwenden '(Suits) suitVal', aber die von Ihnen gepostete Enum wird eigentlich' Suit' genannt. –