【发布时间】:2014-04-01 16:56:30
【问题描述】:
我正在尝试在控制台标准纸牌上打印。到目前为止,这是我的代码,我被卡住了。
我的问题——有没有办法在 cardnumber foreach 语句中使用 Suit 枚举,基本上可以打印卡号/花色、卡号/花色等。我知道有更好的方法可以做到这一点,但我很好奇是否有可能完成。还有任何想法如何在一行上只打印 2 个,然后在一行上只打印 3 个等等?
问候
using System;
using System.Linq;
class Print_a_Deck_of_52_Card
{
public enum Suit
{
Club = '\u2663',
Diamond = '\u2666',
Heart = '\u2665',
Spades = '\u2660',
}
public enum CardNumber
{
Two = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9,
Ten = 10,
J = 11,
Q = 12,
K = 13,
A = 14
}
static void Main()
{
Console.OutputEncoding = System.Text.Encoding.Unicode;
foreach (Suit val1 in Enum.GetValues(typeof(Suit)))
foreach (CardNumber val in Enum.GetValues(typeof(CardNumber)))
{
for (int i = 0; i < 4; i++)
{
if ((int)val > 10)
{
Console.WriteLine("{0}", val);
}
else
{
Console.WriteLine("{0}", (int)val);
}
}
}
}
}
【问题讨论】:
标签: c# foreach enums console playing-cards