【发布时间】:2013-04-16 14:00:25
【问题描述】:
为了提供一些背景知识,我正在尝试解决涉及扑克牌的 Project Euler Problem 54。尽管有无限的方法。我想做的是枚举字符串列表,例如: {“8C”、“TS”、“KC”、“9H”、“4S”};
我想为每个相应的字符串“获取”一个具有属性值和套装的类卡实例。我还没有使用 get/set,所以也许有一个我缺少的明显方法。
最终我想要一个卡片类型的对象列表,我不介意提前构建所有卡片,这样“2H”返回一个卡片类型的实例,其中套装 = 红心,价值 = 2,例如。
我知道这段代码是错误的,但它应该让我知道我正在尝试做什么。任何建议将不胜感激。
class Card
{
public string suit;
public int value;
public string cardname
{
get
{
if (cardname == "2H") Card TwoH = new Card();
TwoH.suit = "Hearts"
TwoH.value = 2;
return TwoH;
}
}
}
【问题讨论】:
-
cardname != "2h"会返回什么?此外,Card是String吗? -
不太清楚你的问题是什么。您想更好地设计卡片组吗?谷歌一下。
-
我不知道你在说什么。请澄清。
-
@Ofiris:因为没有 {},所以代码总是返回红桃 2
-
澄清,在main方法中,我想通过一个字符串列表来枚举,当字符串为“2H”时,我想调用一个方法,该方法返回一个Card类型的实例,其中花色是红心,值为2。我将建立一个卡片类型的列表,然后根据卡片类型的列表而不是字符串列表来评估手牌。