存储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]);
    }
}

那么,有没有更好的方法来存储这些名称,然后像我一样访问它们呢?

存储List<;字符串>;

在您的问题中没有太多内容可以理解您的代码有什么特别的问题。也就是说,至少我预计以下方面会有所改进:

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是从哪里获得的,但在显示文本之前,它可能已经被保证是有效的,所以你甚至不应该真正需要范围检查。我只是把它放在那里,以确保上面的新版本代码与您显示的代码的行为合理一致(几乎没有)。

如果你需要比以上更具体的建议,请更准确地解释你认为什么是"更好的",以及你现在的代码在哪些方面不能充分满足你的需求。也就是说,代码现在做什么?这与你希望它做的有什么不同?