我正在创建一副卡片,并在Enums中使用我的Suits和Values,但是我的语法在尝试填充我的List套牌时没有.另外,Ace可以具有1或11的值,是否有某种方法可以将其合并到我的Enum中,或者我是否需要在执行诸如为二十一点求手之类的事情时编写代码?
public class Deck
{
private List<Card> cards;
private Random random = new Random();
public Deck()
{
cards = new List<Card>();
for (int s = 0; s < 4; s++)
//for (int v = 0; v < 14; v++)
foreach(Enum v in Values)
cards.Add(new Card((Suits)s, (Values)v));
}
Run Code Online (Sandbox Code Playgroud)
这是我的诉讼和价值的枚举:
public enum Suits
{
Spades,
Clubs,
Diamonds,
Hearts
}
public enum Values
{
Ace = 1,
Two = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9,
Ten = 10,
Jack = 10,
Queen = 10,
King = 10
}
Run Code Online (Sandbox Code Playgroud)
你的问题是这一行:
foreach(Enum v in Values)
Run Code Online (Sandbox Code Playgroud)
你不能enum用这种方式列举.Values是enum 类型声明的名称..不是一组值.
你可以这样做:
foreach (var v in Enum.GetValues(typeof(Values)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |