string cstring = e.Result;
string[] delim = {"<br>","*"};
string[] cstringl = cstring.Split(delim, StringSplitOptions.None);
for (int i = 0; i < cstringl.Length; i++)
{
country_picker.Items.Add(cstringl[i]);
}
我使用上面提到的代码在名为country picker的列表框中添加项目,但我得到indexoutofrange异常。当我使用i&lt; = cstring1.Length
检查长度时,为什么会出现此错误答案 0 :(得分:2)
我发现您的代码有两个问题。
按以下方式更新:
for (int i = 0; i < cstringl.Length; i++)
{
country_picker.Items.Add(cstringl[i]);
}
这两项变化是:
for循环中的比较为“小于”长度,而不是“小于或等于”,因为由于长度为计数而数组为零索引,因此会触发oe错误。这是IndexOutOfRangeException的原因。
添加项目时使用循环变量作为索引参考。因此,您不会多次添加相同(第一个)项目。
<强>更新强>
再次查看您的代码后,另一个可能的问题可能是由e.result
的初始值引起的。尝试使用StringSplitOptions.RemoveEmptyEntries
,这样您就不会冒险尝试输入空值。同时添加cstringl
至少包含一个项目的检查。