碰到一个挺奇怪的问题,往ListView里面插数据,我生成了一个List<ListViewItem> lst,然后使用this.listView1.Items.AddRange(lst.ToArray());这在我的电脑上,完全没问题,然后把程序传给朋友,结果就会报NullRefrenceException
不得已,我把程序改成遍历lst,然后使用foreach (ListViewItem item in lst)
{
   this.listView1.Items.Add(item);
}
朋友那里才正常谁能帮我解个惑?谢谢了

解决方案 »

  1.   

    因为lst里面可能有这样对情况List <ListViewItem> lstlis.Count=5;lst[0]=ListViewItem;
    lst[1]=ListViewItem;
    lst[2]=ListViewItem;
    lst[3]=null;
    lst[4]=null;
    lst[5]=null;
    其中三个是由数据的
    而三个是没有数据的
      

  2.   

    你可以调式一下
    看看lst 
    的数据时不时和我说的一样,
      

  3.   

    foreach (ListViewItem item in lst)
    {
       this.listView1.Items.Add(item);
    }把不为nll的数据都取得
    所以不出错
      

  4.   

    谢谢
    理论上不会的啊,我是把数据库里面的数据添加进去,不会有null才对,不过想想这种可能性似乎是最大的
    朋友那没环境也调试不了……
    改了程序看看
      

  5.   

    加了这么段代码:for (int i = 0; i < lst.Count; i++)
        if (lst[i] == null)
             MessageBox.Show("找到错误了");
    传给朋友,没有“找到错误”,可是错误照旧……