1、我们选择用for循环
for(int i=0;i<list.count;i++)
{
if(list[i])
{
list.RemoveAt(i);
}
}
如果这样循环,肯定不对,
{A B C D E F G H} 假设当前遍历到D(i=3),移除,接着遍历i=4(F), 此时跳过了E(i=3)
2、我们使用倒序遍历,这个问题就解决了
for(int i=list.Count-1;i>=0;i--)
{
if(list[i])
{
list.RemoveAt(i);
}
}