我收到以下错误:
Index was outside the bounds of the array
for循环代码:
for (int i = 0; i < listEquipment.Items.Count - 1; i++)
{
SqlCommand cmd = new SqlCommand("INSERT INTO [dbo].[EquipmentItems] ([RequestID], [TypeID]) VALUES (@RequestID, @TypeID)", conn);
cmd.Parameters.Add("@RequestID", SqlDbType.Int).Value = userRequest;
cmd.Parameters.Add("@TypeID", SqlDbType.Int).Value = (listEquipment.SelectedItems[i] as Equipment).equipmentID;
cmd.ExecuteNonQuery();
}
出错的行:
cmd.Parameters.Add("@TypeID", SqlDbType.Int).Value = (listEquipment.SelectedItems[i] as Equipment).equipmentID;
求助!我是编程新手。
最佳答案
您循环所有项目,然后在 listEquipment.SelectedItems[i]
中访问该索引。但是可能没有选择所有项目,这意味着这个集合较小,您无法访问它。
所以我假设你不想循环所有项目而只是选择,所以使用:
for (int i = 0; i < listEquipment.SelectedItems.Count; i++)
{
}
关于C# for 循环。索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298834/