RemoveAll方法可以用于實現了ICollection接口的集合,包括List、Dictionary、Queue、Stack等。但是對于只實現了IEnumerable接口的集合,如Array、HashSet等,是無法直接調用RemoveAll方法的。
對于只實現了IEnumerable接口的集合,可以先將其轉換為List或者其他實現了ICollection接口的集合,然后再調用RemoveAll方法進行元素的移除操作。例如:
HashSet<int> hashSet = new HashSet<int> { 1, 2, 3, 4, 5 };
List<int> list = hashSet.ToList();
list.RemoveAll(x => x % 2 == 0);
foreach (int num in list)
{
Console.WriteLine(num);
}
在這個例子中,我們首先將HashSet轉換為List,然后使用RemoveAll方法移除了所有偶數元素,最后輸出了剩余的元素。