【发布时间】:2017-03-01 21:22:12
【问题描述】:
我有两行代码给了我错误:
private void combobox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (combobox1.SelectedValue)
{
case 0:
var item = items.Where(category => category.CategoryIndex == 0);
foreach (var i in item)
{
listbox.Items.Add(new Items { CategoryIndex = i.CategoryIndex, ItemDesc = i.ItemDesc, ItemName = i.ItemName });
}
break;
case 1:
item = items.Where(category => category.CategoryIndex == 1);
foreach (var i in item)
{
listbox.Items.Add(new Items { CategoryIndex = i.CategoryIndex, ItemDesc = i.ItemDesc, ItemName = i.ItemName });
}
break;
这是第二个:
private void listbox_SelectedIndexChanged(object sender, EventArgs e)
{
var item = items.Where(category => category.CategoryIndex == listbox.SelectedValue && (itemName => itemName.ItemName == listbox.SelectedItem.ToString()));
listbox.Text = item.ItemName;
desrciption_label.Text = item.ItemDesc;
}
第一个代码中的错误在
switch (combobox.SelectedValue)
错误表明:
switch 表达式或 case 标签必须是 bool、char、string、integral、enum 或对应的可空类型_
第二个代码中的错误在
category.CategoryIndex == listbox.SelectedValue
此错误表明:
运算符“==”不能应用于“int”和“object”类型的操作数
如何解决这些问题?
注意:这里有更多很多代码,因为它太大了,我将其省略,但如果需要以前的代码,请通知我这个
【问题讨论】:
-
你不能在这样的布尔表达式中使用lamba
-
你应该使用
SelectedIndex而不是SelectedValue吗? -
SelectedValue是对象类型 -SelectedIndex呢?