none
Metodo Exists de List<> RRS feed

  • Pregunta

  • Buenas noches, tengo la siguiente duda:

    Como implemento el metodo Exists de una clase tipo List<>. he leido que hay que crear un predicado de coincidencia o algo asi pero no logro hacerlo de la manera correcta tengo una clase la cual voy almacenando ciertos valores.

    List<Clientes> ListaClientes= new  List<Clientes>();

    ListaClientes= ObtenerClientes();

    string busco = Convert.ToInt32(this.HiddenField1.value)

    ahora quisiera implementar el metodo exists de la lista ListaClientes, para evitar añadir un cliente con el mismo IdCliente

     

    saludes y Gracias

     

    viernes, 18 de junio de 2010 4:57

Respuestas

  • Aqui el tema es que tienes que saber cual es lapropiedad de la clase cliente que no quieres que se repita, para ser consecuente con el ejemplo de Leandro, asumimos que el cliente tiene una propiedad id y mediante esta propiedad tu quieres controlar que el cliente no se repita, entonces el predicado según lo usó Leandro en su ejemplo es :

    int busco =  Convert.ToInt32(this.HiddenField1.value);

    bool existe = ListaClientes.Exist( o => o.id==busco );

    Este predicado significa : 'o' es la variable en este caso de tipo cliente, dado 'o', entonces si o.id=busco retorno verdadero.

    Saludos,


    Mauricio Atanache G. - MCP
    Bogotá - Colombia
    "Bienaventurados los Pesimistas. Por que hacen BACKUPS."
    • Propuesto como respuesta Mauricio Atanache martes, 13 de julio de 2010 22:57
    • Marcado como respuesta UserQD86 martes, 13 de julio de 2010 23:04
    martes, 13 de julio de 2010 22:56

Todas las respuestas

  • hola

    podrias usar una expresion lambda

    if(ListaClientes.Exists(o => o.Id == busco)){

       // el cliente existe

    }

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 18 de junio de 2010 12:24
  • hola

    amigo , la informacion que el sr Leandro te facilito te fue de mucha ayuda ?

     

    enmanuel grullard

    republica dominicana

     

    domingo, 20 de junio de 2010 22:20
  • Podrias ser un poco mas especifico en cuanto a las expresiones lambda ?. No me quedó muy claro que es o en el código que colocaste ?
    martes, 13 de julio de 2010 21:39
  • Aqui el tema es que tienes que saber cual es lapropiedad de la clase cliente que no quieres que se repita, para ser consecuente con el ejemplo de Leandro, asumimos que el cliente tiene una propiedad id y mediante esta propiedad tu quieres controlar que el cliente no se repita, entonces el predicado según lo usó Leandro en su ejemplo es :

    int busco =  Convert.ToInt32(this.HiddenField1.value);

    bool existe = ListaClientes.Exist( o => o.id==busco );

    Este predicado significa : 'o' es la variable en este caso de tipo cliente, dado 'o', entonces si o.id=busco retorno verdadero.

    Saludos,


    Mauricio Atanache G. - MCP
    Bogotá - Colombia
    "Bienaventurados los Pesimistas. Por que hacen BACKUPS."
    • Propuesto como respuesta Mauricio Atanache martes, 13 de julio de 2010 22:57
    • Marcado como respuesta UserQD86 martes, 13 de julio de 2010 23:04
    martes, 13 de julio de 2010 22:56