从Combobox(字符串)检查值而不使用ToString C#

时间:2011-02-02 15:06:27

标签: c#

我正在做一个“ToString”被用作方法的项目。

private void button1_Click(object sender, EventArgs e)
{
    if(cboPlaneType.SelectedItem = "Generic")
    {
    }
    else if (cboPlaneType.SelectedIndex = "Passenger")
    {
    }
    else if (cboPlaneType.SelectedIndex = "Fighter Jet")
    {
    }
}

在这种情况下,我不知道该怎么做。正如你所看到的,我尝试了一些不同的选择,但没有用。我也试过了 if((string)cboPlaneType.SelectedItem = "Generic") 这没用。

**编辑 只是要指出,SelectedValue不是正确的答案。 结果是“if((string)combobox.SelectedItem == "Generic")

2 个答案:

答案 0 :(得分:2)

c#中的相等运算符是==; =是一个赋值运算符。

SelectedIndex将返回int,表示所选项目的从零开始的位置。 (我猜它没有选中任何项目时返回-1。)

SelectedItem可以是任何类型的对象;如果它不是一个字符串,那么你就不能通过与字符串比较来匹配它。

您是说填充ComboBox的对象会覆盖ToString()吗?您仍然可以使用该方法的结果进行比较,因为它只能返回string。否则,您可以使用SelectedValue,但这取决于您使用的ComboBox类型以及如何设置它。

答案 1 :(得分:1)

SelectedIndexInt32类型的属性。 也许您想要使用SelectedValue代替?