for (int j = 0; j < list.Count; ++j )
{
if (list[j].current_status == false)
{
list.RemoveAt(j);
}
}
Run Code Online (Sandbox Code Playgroud)
我想删除列表中有current_status == false的所有项目.但是,当执行语句:list.RemoveAt(j)时,list.Count将减去1.最后,原始循环不能从list [0]循环到list [list.Count].我该如何处理这种情况?
谢谢
您可以使用RemoveAll而不是RemoveAt:
list.RemoveAll(item => item.current_status == false);
Run Code Online (Sandbox Code Playgroud)