Este método se usa para buscar un elemento que coincida con las condiciones definidas por un predicado especificado y devuelve el índice de base cero de la última aparición dentro de List<T> o una parte de ella. Hay 3 métodos en la lista de sobrecarga de este método:
- Método FindLastIndex(Predicado<T>)
- Método FindLastIndex(Int32, Predicado<T>)
- Método FindLastIndex(Int32, Int32, Predicate<T>)
Aquí, discutiremos solo el primer método, es decir, FindLastIndex(Predicate<T>)
El método List<T>.FindLastIndex(Predicate<T>) busca un elemento que coincida con las condiciones definidas por el predicado especificado y devuelve el índice de base cero de la última aparición dentro de List<T> completo .
Sintaxis:
public int FindLastIndex (Predicate <T> match);
Aquí, la coincidencia es el delegado Predicate <T> que define las condiciones del elemento a buscar.
Valor devuelto: si se encuentra el elemento, devuelve el índice basado en cero de tipo int o Int32 del último elemento que coincide con una condición especificada por el parámetro «coincidencia». Y si no se encuentra, devuelve «-1».
Excepción: este método lanzará ArgumentNullException si match
es nulo.
Ejemplo 1: En este ejemplo, crear una Lista llamada «PC» que contiene algún elemento. Nuestra tarea es encontrar un elemento llamado «Computadora» e imprimir su índice.
// C# Program to illustrate the // FindLastIndex(Predicate<T>) // Method using System; using System.Collections.Generic; class GFG { // Main Method public static void Main() { // List creation // List name is "PC" List<string> PC = new List<string>(); // elements in the List PC.Add("mouse"); PC.Add("keyboard"); PC.Add("laptop"); PC.Add("Computer"); // using the method int indx = PC.FindLastIndex(predi); Console.WriteLine(indx); } // Conditional method private static bool predi(string g) { if (g == "Computer") { return true; } else { return false; } } }
3
Ejemplo 2: Este ejemplo es la forma extendida del ejemplo anterior. En este ejemplo, usamos un archivo XML y buscamos un elemento e imprimimos el índice de ese elemento. Si no se encuentra el elemento, imprime «-1» y, si lo encuentra, imprime el índice. El artículo es \ «GeeksForGeeks».
// C# Program to illustrate the // FindLastIndex(Predicate<T>) // Method using System; using System.Collections.Generic; using System.Linq; class GFG { // here List<T> contains the // object "gfg" using // data from a sample XML file // "geeks" is the List name private static List<gfg> geeks = new List<gfg>(); // Main Method public static void Main() { // if the item is found // then it prints the index // if not found prints "-1" int x = geeks.FindLastIndex(FindGFG); Console.WriteLine(x); } // conditional method private static bool FindGFG(gfg g) { if (g.G == "GeeksForGeeks") { return true; } else { return false; } } } public class gfg { public string G { get; set; } }
-1
Nota:
- List<T> se busca hacia atrás comenzando en el último elemento y terminando en el primer elemento.
- El Predicate<T> es un delegado de un método que devuelve verdadero si el objeto que se le pasa coincide con las condiciones definidas en el delegado. Los elementos del List<T> actual se pasan individualmente al delegado de Predicate<T>.
- Este método realiza una búsqueda lineal; por lo tanto, este método es una operación O(n), donde n es Count.
Referencia:
Publicación traducida automáticamente
Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA