Anuncios

Bienvenidos sean a este post, hoy veremos un metodo para los objetos List.

Anuncios

Este metodo nos devuelve si el valor que buscamos en la lista, veamos su sintaxis:

lista.FindLast(predicado);
Anuncios

El metodo se aplica directamente a la lista, el predicado es el encargado de verificar si se encuentra o no, este puede ser una funcion o un operador lambda, el valor que nos devolvera sera la ultima coincidencia, vamos a analizarlo mediante un ejemplo y para ello crearemos un nuevo archivo con el nombre de encontrar.cs y le agregaremos el siguiente codigo:

encontrar.cs

using System;
using System.Collections.Generic;

public class Program
{
	static int Main()
	{
		List<string> nombres = new List<string>(5);
		nombres.Add("enzo");
		nombres.Add("martin");
		nombres.Add("ariel");
		nombres.Add("marta");
		nombres.Add("javier");

		Console.WriteLine("Ultima coincidencia: {0}", 
					nombres.FindLast(verificar));

		return 0;
	}

	static bool verificar(string dato)
	{
		return dato.StartsWith("m");
	}
}
Anuncios
Anuncios

Antes de hablar del codigo en el Main veamos como es la funcion que usaremos con el metodo, esta funcion nos devolvera un valor de tipo booleano, el dato que recibira sera provisto por el metodo Find y a ese dato le aplicaremos el metodo StatrsWith, el cual devolvera True si existe alguno de lo contrario devolvera un False, con esto comentado pasemos a hablar sobre el Main, en este caso lo primero que haremos sera definir una lista llamada nombres con cinco valores, luego mostraremos el resultado de aplicar el metodo a la lista, observen que solo llamamos al metodo verificar, el envio de la informacion sera realizado automaticamente por el metodo, y este solo nos mostrara la ultima coincidencia con el valor True, con todo comentado veamos como es su salida:

C:\Users\tinchicus>encontrar.exe
Ultima coincidencia: marta

C:\Users\tinchicus>
Anuncios

Observen que de las dos posibles coincidencias este metodo nos devolvio efectivamente la ultima, tomemos el codigo anterior y vamos a modificarlo para trabajar con el operador lambda:

using System;
using System.Collections.Generic;

public class Program
{
	static int Main()
	{
		List<string> nombres = new List<string>(5);
		nombres.Add("enzo");
		nombres.Add("martin");
		nombres.Add("ariel");
		nombres.Add("marta");
		nombres.Add("javier");

		Console.WriteLine("Ultima coincidencia: {0}", 
				nombres.FindLast(c=>c.StartsWith("m")));

		return 0;
	}
}
Anuncios
Anuncios

El codigo es el mismo y tiene la misma conducta pero tendra dos diferencias principales, la primera sera la desaparicion de la funcion y la segunda sera el cambio del llamado por un operador lambda donde asignaremos el valor a una variable y en ella le aplicaremos el metodo que usabamos en la funcion anterior, si bien es mas simple tambien es mas limitado con respecto a la funcion pero eso queda a criterio de cada uno y necesidad del momento, si lo compilan y ejecutan obtendran la misma salida que antes.

Anuncios

En resumen, hoy hemos visto FindLast, que es, para que sirve, como se utiliza, un ejemplo practico para verlo como trabaja tanto con una funcion como con un operador lambda, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50

Anuncio publicitario