列表RemoveAt(x)中是否有错误?

时间:2019-05-06 19:19:53

标签: c# list

这是一个错误还是我不明白列表RemoveAt(x)的工作原理?

这是我的原始代码:

            for (int i = 0; i < Army.Count; i++)
            if (Army[i].IsHQ)
                Army.RemoveAt(i);

挺直的。但是我发现,如果Army [0] .IsHQ == true,则不会将其从列表中删除(或者如果第一个两个元素为true,则只会删除一个)。但是,当我再次添加相同的呼叫时:

for (int i = 0; i < Army.Count; i++)
            if (Army[i].IsHQ)
                Army.RemoveAt(i);

        for (int i = 0; i < Army.Count; i++)
            if (Army[i].IsHQ)
                Army.RemoveAt(i);

它确实成功删除了.IsHQ == true的所有元素。艾米(Amy)在RemoveAt的工作方式上缺少什么?

0 个答案:

没有答案