list里面删除元素的算法问题

假如有类A,含有两个属性NO(int),NAME(string)。

现有List<A>,怎样将list里面No为某一值的元素去掉。

 

现有算法1:

        public void RemoveItemFromList2(ref List<A> list, A item)
        {
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].NO == item.NO)
                {
                    list.RemoveAt(i);
                    i--;//如果包含此元素,将其删除并且i减一位
                }
            }
        }

但是感觉这样在循环的时候执行i--可能不是很好,

不知各位高手有没有好点的算法。

谢谢。


人到中年有点甜
浏览 413回答 2
2回答

MMMHUHU

list.Remove(item);

慕姐4208626

List直接使用Remove(Item)方法,他是通过地址匹配的,不用去比NO了。
打开App,查看更多内容
随时随地看视频慕课网APP