我收到与foreach相关的错误,其中指出:
Foreach语句不能对类型'进行操作,因为它不包含'GetEnumerator'的公共定义。
我没有解决该错误。请建议进行更改以改善和更正代码中的错误。
public partial class Form1 : Form
{
store store = new store();
public List<item> insert= new List<item>();//this is the list of second list items
BindingSource itemslist = new BindingSource();
BindingSource selectitem2 = new BindingSource();
public Form1()
{
InitializeComponent();
setupdata();
itemslist.DataSource = store.items;
item.DataSource = itemslist;//linked between the two
// what to print inside
item.DisplayMember = "Display";
item.ValueMember = "Display";
//put the data to the selected item list
selectitem2.DataSource=insert;
selected_item.DataSource = selectitem2;
selected_item.DisplayMember = "Display";
selected_item.ValueMember = "Display";
}
private void purchase_Click(object sender, EventArgs e)
{
foreach (item item in selected_item)
{
}
}
}
答案 0 :(得分:1)
您无法遍历控件(ListBox
)。
错误消息告诉您,它没有枚举器。您需要遍历基础数据收集。
您的情况应该是insert
因此将循环线更改为此:
foreach (item item in insert)
您当然可以遍历Items
的{{1}}:
ListBox
编辑:
坦白说,您的命名方式也相当混乱。 foreach (item item in selected_item.Items)
听起来并不代表事物的集合,而是一个实体。