c#中ArrayList有几种方式来移除元素?

如题所述

在 C# 中,ArrayList 类提供了多种方式来移除元素:

    使用 Remove 方法移除单个元素,需要提供要移除的元素的值。这个方法只移除第一个匹配的元素。

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

list.Remove(2); // 移除元素 2


    使用 RemoveAt 方法移除指定位置上的元素,需要提供要移除元素的索引。

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

list.RemoveAt(1); // 移除位置为 1 的元素 2


    使用 Clear 方法清空整个 ArrayList。

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

list.Clear(); // 清空 ArrayList


    使用 RemoveRange 方法移除连续的元素,需要提供开始索引和元素数量。

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

list.Add(4);

list.RemoveRange(1, 2); // 移除位置为 1 和 2 的元素 2,3


    使用 RemoveAll 方法可以移除 ArrayList 中符合特定条件的所有元素。RemoveAll 方法接受一个 Predicate<T> delegate,它需要实现一个 bool 返回类型的方法,用来判断每个元素是否需要移除。

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

list.Add(4);

list.RemoveAll(x => (int)x % 2 == 0); //移除所有偶数

这段代码中,RemoveAll 方法会移除 ArrayList 中所有偶数(x % 2 == 0)。

注意,RemoveAll 方法会更改 ArrayList 的大小,它返回移除的元素数量,如果不需要这个返回值,则可以直接忽略。

温馨提示:答案为网友推荐,仅供参考
相似回答