C# 存储列表以外的字符串的方法<;字符串>;
我正在开发一个扑克应用程序,目前我想存储我计划使用的所有卡片组合名称列表,并执行以下操作:C# 存储列表以外的字符串的方法<;字符串>;,c#,string,list,poker,C#,String,List,Poker,我正在开发一个扑克应用程序,目前我想存储我计划使用的所有卡片组合名称列表,并执行以下操作: private static List<string> combinationNames = new List<string> { " High Card ", " Pair ", " Two Pair ", " Three of a Kind ", " Straight ", " Flush ", " Full House
private static List<string> combinationNames = new List<string>
{
" High Card ",
" Pair ",
" Two Pair ",
" Three of a Kind ",
" Straight ",
" Flush ",
" Full House ",
" Four of a Kind ",
" Straight Flush ",
" Royal Flush ! "
};
for (int j = 0; j < combinationNames.Count; j++)
{
if (current == j)
{
MessageBox.Show("You Have : ", combinationNames[j]);
}
}
私有静态列表组合名称=新列表
{
“高牌”,
“配对”,
“两对”,
“三个一类”,
“直”,
“同花顺”,
“满座”,
“四个一类”,
“同花顺”,
“皇家同花顺!”
};
对于(int j=0;j
那么,有没有更好的方法来存储这些名称,并在以后像我一样访问它们呢?在您的问题中,没有太多的内容来理解您的代码到底有什么问题。尽管如此,至少我认为以下几点会有所改善:
private readonly static string[] combinationNames =
{
" High Card ",
" Pair ",
" Two Pair ",
" Three of a Kind ",
" Straight ",
" Flush ",
" Full House ",
" Four of a Kind ",
" Straight Flush ",
" Royal Flush ! "
};
if (current >= 0 && current < combinationNames.Length)
{
MessageBox.Show("You Have : ", combinationNames[current]);
}
private只读静态字符串[]组合名称=
{
“高牌”,
“配对”,
“两对”,
“三个一类”,
“直”,
“同花顺”,
“满座”,
“四个一类”,
“同花顺”,
“皇家同花顺!”
};
如果(当前>=0&¤t
即:
- 由于列表不会更改,因此它可以是数组而不是列表
- 由于列表对象不会更改,因此变量可以是
readonly
- 您使用
所做的所有代码都是将其与当前的j
进行比较;无需枚举
的所有可能值……只需确保j
在有效范围内,然后直接使用其值即可current
current
,但在显示文本之前,它可能已经被保证是有效的,因此您甚至不需要进行范围检查。我只是把它放在那里,以确保上面代码的新版本与您展示的代码的行为(很少有)合理地一致
如果您需要比上述更具体的建议,请更准确地解释您认为“更好”的地方,以及您现在的代码在哪些方面不足以满足您的需求。也就是说,代码现在做了什么,与您希望它做的有什么不同?定义“更好”。目前是什么导致您出现问题?为什么需要循环?Mb simply
combinationNames[current]
?您还没有定义什么是更好。这有点像询问是否有比锤子更好的工具——这在很大程度上取决于你是在钉钉子还是在拧螺丝——所有这些游戏都有一个价值(至少,其中一些游戏比其他游戏“更重”),因此建议使用枚举法:更高的障碍是正确地检测手中的游戏。由于您不会随着时间的推移添加到列表中,因此在这种情况下,数组可以正常工作