在listpicker中添加项目..错误

时间:2011-10-07 10:04:05

标签: c# windows-phone-7 listpicker

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

检查长度时,为什么会出现此错误

1 个答案:

答案 0 :(得分:2)

我发现您的代码有两个问题。

按以下方式更新:

for (int i = 0; i < cstringl.Length; i++) 
{ 
    country_picker.Items.Add(cstringl[i]); 
} 

这两项变化是:

  1. for循环中的比较为“小于”长度,而不是“小于或等于”,因为由于长度为计数而数组为零索引,因此会触发oe错误。这是IndexOutOfRangeException的原因。

  2. 添加项目时使用循环变量作为索引参考。因此,您不会多次添加相同(第一个)项目。

  3. <强>更新
    再次查看您的代码后,另一个可能的问题可能是由e.result的初始值引起的。尝试使用StringSplitOptions.RemoveEmptyEntries,这样您就不会冒险尝试输入空值。同时添加cstringl至少包含一个项目的检查。