如何在组合框中使用大小写作为字符串的switch语句?

pur*_*ppc 1 c# combobox switch-statement

这就是我的组合框内的内容。

Runescape
Maplestory
League of Legends
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用switch语句的代码。

private void button1_Click(object sender, EventArgs e)
{
    switch (comboBox1.SelectedIndex)
    {
        case "Runescape":
            MessageBox.Show("You are playing RS");
            break;

        case "Maplestory":
            MessageBox.Show("You are playing MS");
            break;

        default:
            MessageBox.Show("You're playing League");
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误,那就是它不允许我将字符串隐式转换为int。

我想将案例用作字符串而不是数字。我怎么做?


同样,出于好奇,如果可行的话,我们可以代替一部分字符串。假装组合框说“ Runescape 3”而不是“ Runescape”。我不确定C#是否可以识别字符串的一部分。

case "Runescape":
        MessageBox.Show("You are playing RS");
        break;
Run Code Online (Sandbox Code Playgroud)

Sud*_*udi 5

您可以使用stringint进行比较。

1.如果你想compareString使用SelectedItem的财产ComboBox控制。

尝试这个:

switch (comboBox1.SelectedItem.ToString().Trim())
    {
        case "Runescape":
            MessageBox.Show("You are playing RS");
            break;

        case "Maplestory":
            MessageBox.Show("You are playing MS");
            break;

        default:
            MessageBox.Show("You're playing League");
            break;
    }
Run Code Online (Sandbox Code Playgroud)

2.如果要使用控件compareIndexuse SelectedIndex属性ComboBox

尝试这个:

        switch (comboBox1.SelectedIndex)
        {
            case 0:
                MessageBox.Show("You are playing RS");
                break;

            case 1:
                MessageBox.Show("You are playing MS");
                break;

            default:
                MessageBox.Show("You're playing League");
                break;
        }
Run Code Online (Sandbox Code Playgroud)

3. 如果您只想SelectedItemComboBox使用Split()功能中获得第一部分。

尝试这个:

           switch (comboBox1.SelectedItem.ToString().Split(' ')[0])
            {
                case "Runescape":
                    MessageBox.Show("You are playing RS");
                    break;

                case "Maplestory":
                    MessageBox.Show("You are playing MS");
                    break;

                default:
                    MessageBox.Show("You're playing League");
                    break;
            }
Run Code Online (Sandbox Code Playgroud)