关于删除链表元素的操作

来源:互联网 发布:联通营业厅客户端软件 编辑:程序博客网 时间:2024/06/06 08:25

这是正确的方式一:

var data = new List<string>() { "One", "Two", "Three", "One", "One", "Four" };for (int i = 0; i < data.Count; i++){    if (data[i] == "One")    {        data.RemoveAt(i--);    }}
这是正确的方式二:
var data=new List<string>(){"One","Two","Three"};for(int i=data.Count - 1; i > -1; i--){    if(data[i]=="One")    {        data.RemoveAt(i);    }}

错误的写法:

var data = new List<string>() { "One", "Two", "Three", "One", "One", "Four" };for (int i = 0; i < data.Count; i++){    if (data[i] == "One")    {        data.RemoveAt(i);    }}


问题在链表删除元素后,索引也发生变化。

0 0
原创粉丝点击