Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
393 of 1492 menu
◀ ▶

Метод RemoveAll

Метод RemoveAll класса List<T> принимает предикат Predicate<T> и удаляет каждый элемент, для которого условие истинно. Возвращает число удалённых элементов.

Синтаксис

int removed = list.RemoveAll(match);

Пример

Давайте удалим все чётные числа:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; int res = nums.RemoveAll(x => x % 2 == 0); Console.WriteLine(res); Console.WriteLine(string.Join(" ", nums)); } }

Результат выполнения кода:

2 1 3 5

Пример

Давайте удалим элементы больше 3:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; nums.RemoveAll(x => x > 3); Console.WriteLine(string.Join(" ", nums)); } }

Результат выполнения кода:

1 2 3

Пример

Давайте удалим односимвольные строки:

using System; using System.Collections.Generic; class Program { static void Main() { List<string> items = new List<string> {"a", "bb", "c", "dd", "e"}; items.RemoveAll(s => s.Length == 1); Console.WriteLine(string.Join(" ", items)); } }

Результат выполнения кода:

bb dd

Пример

Давайте проверим Count после RemoveAll:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int> {1, 2, 3, 4, 5}; nums.RemoveAll(x => x == 5); Console.WriteLine(nums.Count); } }

Результат выполнения кода:

4

Смотрите также

  • метод Remove,
    который удаляет первое совпадение
  • метод FindAll,
    который находит элементы по условию
  • метод TrueForAll,
    который проверяет условие на всех
  • метод Exists,
    который проверяет наличие по условию
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить