SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: joanca en Martes 19 de Diciembre de 2006, 18:01

Título: Buscar En Un List<string> Usando Un Predicado
Publicado por: joanca en Martes 19 de Diciembre de 2006, 18:01
Hola a todos/as.

Dispongo de una lista con un List<String> que lleno de nombres, y me gustaría a partir de una entrada en un TextBox, poder buscarla en la lista, y a tal efecto se disponen de los métodos Find y FindIndex, pero en su implementación hay que utilizar un Predicado, y no acabo de pillar como debe usarse.

Si alguien tiene algún ejemplo al respecto se lo agradezco.

Saludos.
Título: Re: Buscar En Un List<string> Usando Un Predicado
Publicado por: JuanK en Miércoles 20 de Diciembre de 2006, 16:20
Bueno no se que tanto hayas profundizado en C# pero este tema puede llegar a parecer muy complicado aunque no lo es.

El punto es que el predicado es un delegado, hay 2 o tres formas de crear delegados, una es usando metodos anonimos y la otra es creando el delegado como tal... todo va en como te sientas mas comodo ( y en la version de c# que tengas).


Ejemplo de metodo anonimo:


Código: Text
  1.             lista.Find( delegate(String s){
  2.                                                           if(s ==  cadenaQueBusco)
  3.                                                               return true;
  4.                                                           else
  5.                                                               return false;
  6.                                                         }
  7.                                   );
  8.  

Ejemplo de metodo no anonimo:


Código: Text
  1.         private bool Delegado(NumeroIndice s)
  2.         {
  3.             if (s.ToString() == &#34;cadenaQueBusco&#34;)
  4.                     return true;
  5.                 else
  6.                     return false;
  7.         }
  8.  
  9. ...
  10. ...
  11. ...
  12.             lista.Find( Delegado );
  13.  
  14.