none
IndexOf en lista de objetos con varios atributos RRS feed

  • Pregunta

  • List<TarjetaDebito> Tarjetas = new List<TarjetaDebito>()
                {
    
                    new TarjetaDebito () {Cliente = ClienteUno, Numero = "1678456987459823", Clave = "1234", Activa = true, FechaVencimiento = Vencimiento},
                    new TarjetaDebito () {Cliente = ClienteUno, Numero = "1678552231369874", Clave = "4321", Activa = true, FechaVencimiento = Vencimiento},
                    new TarjetaDebito () {Cliente = ClienteUno, Numero = "1678862231369874", Clave = "4421", Activa = true, FechaVencimiento = Vencimiento}
    
    
                };
    
                CajeroAutomaticoDB Cajero = new CajeroAutomaticoDB() { Tarjetas = Tarjetas, FondosEnARS = 100000 };
                
    
                string numerostring = "1678456987459823";
    
                int elemento = Cajero.Tarjetas.IndexOf(new TarjetaDebito { Numero = numerostring});
    
    
                Console.WriteLine(elemento);

    Porque indexof me devulve -1 cuando el item que estoy buscando esta listado?

    viernes, 30 de octubre de 2020 17:42

Todas las respuestas

  • Hola Gabriel

    No sabía que IndexOf() también está incluido en otros objetos además de String, o quizás vos lo definiste para Tarjetas.

    Me parece que te da -1 porque llamas a IndexOf() con una instancia nueva (new TarjetaDebito ...) en lugar de alguna de las Tarjetas de tu lista. Quizás debería ser:

     int elemento = Cajero.Tarjetas.IndexOf(Tarjetas[indice]);

    o

     int elemento = Cajero.Tarjetas.IndexOf(Cajero.Tarjetas[indice]);

    Saludos

    Pablo

    viernes, 30 de octubre de 2020 18:16