Predicados en Find

20/11/2007 - 19:24 por Clara | Informe spam
Hola

Tengo una clase asi:
class A {
int _a;
string _b;
public A (int a, string b) {_a = a; _b = b;}
public int a {get {return _a;}}
public string b {get {return _b;}}
}

y una variable:
BindingList<A> listaA = new BindingList<A>();

Como se usa el método Find(Predicate<A>) ??
Quiero buscar en ListaA objetos de clase A en que, por ejemplo "a" sea 2;
Pero, como se le pasan los criterios de busqueda al delegado?

public bool Comparar(int comparar)
{
return comparar == ???
}

No sé si me explico.

Grácias
 

Leer las respuestas

#1 Octavio Hernandez
20/11/2007 - 20:43 | Informe spam
Hola Clara,

Predicate<A> representa a delegados a funciones que reciben A y devuelven
bool.

Podrías declarar en la clase donde tienes a listaA:

public bool IgualADos(A obj)
{
return obj.a == 2;
}

entonces si en el código principal pones

A elObjeto = listaA.Find(IgualADos);

la variable "elObjeto" apuntará al primer elemento de la lista que satisface
el predicado (o sea, que tiene 'a' igual a 2). En caso de que no se cumpla
la condición para ningún elemento de la lista, 'elObjeto' recibirá null.

Slds - Octavio

Octavio Hernández
C# MVP
Autor de "C# 3.0 y LINQ" -
http://www.campusmvp.com/CampusMVP/...y_LINQ.htm



"Clara" wrote in message
news:O$bp%
Hola

Tengo una clase asi:
class A {
int _a;
string _b;
public A (int a, string b) {_a = a; _b = b;}
public int a {get {return _a;}}
public string b {get {return _b;}}
}

y una variable:
BindingList<A> listaA = new BindingList<A>();

Como se usa el método Find(Predicate<A>) ??
Quiero buscar en ListaA objetos de clase A en que, por ejemplo "a" sea 2;
Pero, como se le pasan los criterios de busqueda al delegado?

public bool Comparar(int comparar)
{
return comparar == ???
}

No sé si me explico.

Grácias




Preguntas similares