Listar el método FindLastIndex() en C# | Serie 1

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 matches 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;
        }
    }
}
Producción:

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;
    }
}
Producción:

-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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *