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)
您可以使用string或int进行比较。
1.如果你想compare与String使用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.如果要使用控件compare的Indexuse 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. 如果您只想SelectedItem从ComboBox使用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)