存储List<;字符串>;
本文关键字:字符串 gt lt List 存储 | 更新日期: 2023-09-27 18:30:13
我正在开发一个扑克应用程序,目前我想存储我计划使用的所有卡片组合名称列表,并做如下操作:
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]);
}
}
那么,有没有更好的方法来存储这些名称,然后像我一样访问它们呢?

在您的问题中没有太多内容可以理解您的代码有什么特别的问题。也就是说,至少我预计以下方面会有所改进:
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]);
}
即:
- 由于列表不会更改,因此它可以是数组而不是列表
- 由于列表对象不会更改,因此变量可以是
readonly - 您对
j所做的所有代码都是将其与current进行比较;不需要枚举j…只需确保current在有效范围内,然后直接使用其值
请注意,最后一点还不清楚current是从哪里获得的,但在显示文本之前,它可能已经被保证是有效的,所以你甚至不应该真正需要范围检查。我只是把它放在那里,以确保上面的新版本代码与您显示的代码的行为合理一致(几乎没有)。
如果你需要比以上更具体的建议,请更准确地解释你认为什么是"更好的",以及你现在的代码在哪些方面不能充分满足你的需求。也就是说,代码现在做什么?这与你希望它做的有什么不同?