• Jueves 2 de Mayo de 2024, 07:46

Autor Tema:  Buscar En Un List<string> Usando Un Predicado  (Leído 2824 veces)

joanca

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Buscar En Un List<string> Usando Un Predicado
« en: Martes 19 de Diciembre de 2006, 18:01 »
0
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.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Buscar En Un List<string> Usando Un Predicado
« Respuesta #1 en: Miércoles 20 de Diciembre de 2006, 16:20 »
0
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.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io