比如我的LIST<INT> MYLIST里面有1、2、3、4、5、6、 7。。N个数字,分别对应我控件listview上的N个条目,我每选中一个条目,然后点击删除,它就自动删除MYLIST相应编号的成员,比如选中第三个3就删除3,然后选中4,就删除4……过程就是这样但当我选中第三个条目的时候可以定位到MYLIST[3],当使用MYLIST.REMOVEAT(3)删除了3之后,它之后的每个元素都朝前移动了一位,比如4就在原来3的位置了,要删除4,就不能用MYLIST.REMOVEAT(4),我每删一个元素它后面的元素都会朝前移动一位……
这个问题该如何解决???请问如何才能实现我上述描述的功能啊?

解决方案 »

  1.   

    使用    list.Remove()
    而不是 list.RemoveAt()
      

  2.   

    list.Remove删除数组,不是使用索引位置
      

  3.   

    但不管是REMOVE还是REMOVEAT都会导致后面的成员朝前移一位啊,我是想知道删除某个元素后,如何正确定位到后面的元素??能教我一下吗?谢谢!~
      

  4.   

    可能我的表述有点问题:当我生成MYLIST之后,我的LISTVIEW上面的条目与之对应比如LISTVIEW上是 "HELLO 1" "HELLO 2"……“HELLO N"
    分别对应MYLIST 里的每个元素MYLIST[0]……mylist【N】,并不是说他们的值是对应的……而是LISTVIEW第一行就对应MYLIST的第一个元素,我删除第一行,就删除第一个元素……
    然后想删除其它元素……
      

  5.   

    你每删除一次就更新一次Listview,这样ListView的索引和你的MyList的索引就是相对应的了,通过获取你当前选中项的索引就可以删除MyLISt里的元素了
      

  6.   


            private void button2_Click(object sender, EventArgs e)
            {
                MyList.Remove(int.Parse(listView1.SelectedItems[0].Text));
                listView1.Items.Remove(listView1.SelectedItems[0]);     
            }