老是提示索引超出范文,为什么?

阿达King哥 2009-04-24 08:54:08
for (int i = 0; i < cmbRoom.Items.Count; i++)
{
if (((Room)cmbRoom.Items[i]).ID == room.ID)
{
cmbRoom.SelectedIndex = i;
m_SelectedRoom = (Room)cmbRoom.Items[i];
break;
}
}

这段语句老是提示索引超出范围,为什么呢?
...全文
85 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzuomin 2009-04-24
  • 打赏
  • 举报
回复
解决啦,路过一下,呵呵
zealot1021 2009-04-24
  • 打赏
  • 举报
回复
写错了,不用减一
if(i <cmbRoom.Items.Count)
{
cmbRoom.SelectedIndex = i;
}
pathuang68 2009-04-24
  • 打赏
  • 举报
回复
请检查i在报错的时候的值
阿达King哥 2009-04-24
  • 打赏
  • 举报
回复
找到原因了,错误在SelectedIndexChange事件中。
zzxap 2009-04-24
  • 打赏
  • 举报
回复
(Room)cmbRoom.Items[i]; 的i的最大值等于cmbRoom.Items.Count;吗?如果不等于就超出
zealot1021 2009-04-24
  • 打赏
  • 举报
回复
可以加一个判断

if(i<cmbRoom.Items.Count-1)
{
cmbRoom.SelectedIndex = i;
}
然后调试一下
takeshe 2009-04-24
  • 打赏
  • 举报
回复
通常情况下`这种情况都是i比cmbRoom.SelectedIndex索引项高
错误已经很明显的告诉lz了,这种情况下多设试试就知道哪错了!
starsword 2009-04-24
  • 打赏
  • 举报
回复
你调试一下吧,看 cmbRoom.Items.Count 和 i 是不是预想中的值
wts_net 2009-04-24
  • 打赏
  • 举报
回复
问题不清楚
阿非 2009-04-24
  • 打赏
  • 举报
回复
哪句报的错
阿达King哥 2009-04-24
  • 打赏
  • 举报
回复
cmbRoom是ComboBox控件,其Style是Dropdownlist。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧