索引和长度必须指向字符串中的位置。参数名称:长度异常

时间:2011-02-17 14:11:29

标签: vb.net

在交换列表中的项目时遇到上述异常(第一个路由优先级).PFB我的代码

if (lstRoutePriority.SelectedIndex > 0)
{
   //Swap the two items 
   idTemp = (ItemData)lstRoutePriority.Items[lstRoutePriority.SelectedIndex];
   lstRoutePriority.Items[lstRoutePriority.SelectedIndex] = 
   lstRoutePriority.Items[lstRoutePriority.SelectedIndex-1];
   lstRoutePriority.Items[lstRoutePriority.SelectedIndex-1] = idTemp;
}

有人可以告诉我如何解决这个问题吗? 提前致谢

2 个答案:

答案 0 :(得分:1)

尝试替换此

lstRoutePriority.SelectedIndex > 0 

通过

lstRoutePriority.SelectedIndex >= 0

:)

答案 1 :(得分:0)

我认为

lstRoutePriority.SelectedIndex > 0

约束是正确的。否则

lstRoutePriority.SelectedIndex-1

可能是否定的。我想你也应该检查SelectedIndex是否不大于列表长度减1。