El método List<T>.RemoveAll(Predicate<T>) se usa para eliminar todos los elementos que coinciden con las condiciones definidas por el predicado especificado.
Propiedades de la lista:
- Es diferente de las arrays. Una lista se puede cambiar de tamaño dinámicamente, pero las arrays no.
- La clase de lista puede aceptar nulo como un valor válido para los tipos de referencia y también permite elementos duplicados.
- Si el recuento se vuelve igual a la capacidad, la capacidad de la lista aumenta automáticamente al reasignar la array interna. Los elementos existentes se copiarán en la nueva array antes de agregar el nuevo elemento.
Sintaxis:
public int RemoveAll (Predicate<T> match);
Parámetro:
match: es el delegado de Predicate<T> que define las condiciones de los elementos que se van a eliminar.
Valor devuelto: este método devuelve la cantidad de elementos que se eliminarán de List<T>.
Excepción: este método dará ArgumentNullException si la coincidencia es nula.
Los siguientes programas ilustran el uso del método List<T>.RemoveAll(Predicate<T>):
Ejemplo 1:
// C# Program to remove all elements of // a List that match the conditions // defined by the predicate using System; using System.Collections; using System.Collections.Generic; class Geeks { // function which checks whether an // element is even or not. Or you can // say it is the specified condition private static bool isEven(int i) { return ((i % 2) == 0); } // Main Method public static void Main(String[] args) { // Creating an List<T> of Integers List<int> firstlist = new List<int>(); // Adding elements to List for (int i = 1; i <= 10; i++) { firstlist.Add(i); } Console.WriteLine("Elements Present in List:\n"); // Displaying the elements of List foreach (int k in firstlist) { Console.WriteLine(k); } Console.WriteLine(" "); Console.Write("Number of Elements Removed: "); // Removing the elements which is even // This will return 5 as it removed 5 // even elements from the list Console.WriteLine(firstlist.RemoveAll(isEven)); Console.WriteLine(" "); Console.WriteLine("Remaining Elements in List:"); // Displaying the elements of List foreach (int k in firstlist) { Console.WriteLine(k); } } }
Producción:
Elements Present in List: 1 2 3 4 5 6 7 8 9 10 Number of Elements Removed: 5 Remaining Elements in List: 1 3 5 7 9
Ejemplo 2:
// C# Program to remove all elements of // a List that match the conditions // defined by the predicate using System; using System.Collections; using System.Collections.Generic; class Geeks { // function which checks whether an // element is even or not. Or you can // say it is the specified condition private static bool isEven(int i) { return ((i % 2) == 0); } // Main Method public static void Main(String[] args) { // Creating an List<T> of Integers List<int> firstlist = new List<int>(); // Adding items to List firstlist.Add(13); firstlist.Add(17); firstlist.Add(19); firstlist.Add(11); Console.WriteLine("Elements Present in List:\n"); // Displaying the elements of List foreach(int k in firstlist) { Console.WriteLine(k); } Console.WriteLine(" "); Console.Write("Number of Elements Removed: "); // Removing the elements which is even // This will return 0 as it no elements // are even in List Console.WriteLine(firstlist.RemoveAll(isEven)); Console.WriteLine(" "); Console.WriteLine("Remaining Elements in List:"); // Displaying the elements of List foreach (int k in firstlist) { Console.WriteLine(k); } } }
Producción:
Elements Present in List: 13 17 19 11 Number of Elements Removed: 0 Remaining Elements in List: 13 17 19 11
Referencia:
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA