C#InvalidArgument =' 1'的值不适用于' index'

时间:2016-11-06 12:59:20

标签: c# listbox

我收到以下错误:

  

未处理的类型' System.ArgumentOutOfRangeException'发生在System.Windows.Forms.dll

中      

其他信息:InvalidArgument =' 1'的值对于' index'

无效

以下代码。

  var chaine="xfm1";//this is an example 

  for(var j=0;j<replacementArray.length;j++)
     if (replacementArray[j][shorturl]==chaine){
         var url= replacementArray[url];
         }

2 个答案:

答案 0 :(得分:1)

更改for循环:

旧:

for (int i = 0; i <= listBox_savedata.Items.Count; i++) // <=

新:

for (int i = 0; i < listBox_savedata.Items.Count; i++)//<

答案 1 :(得分:1)

这一行错了:

for (int i = 0; i <= listBox_savedata.Items.Count; i++)

C#中的数组是零索引的,因此数组中的最后一个索引比计数少一个。将其更改为:

for (int i = 0; i < listBox_savedata.Items.Count; i++)

一切都会好的。

或者使用foreach循环:

foreach (var item in listBox.savedata.Items)
{
     int startpos = item.IndexOf("PM");
     string sub = item.Substring(0, 5);
     ....
}