none
Como accesar datos de forma recursiva RRS feed

  • Pregunta

  • Hola estoy teniendo problemas para accesar datos de forma recursiva para mostrar en pantalla, lo he podido realizar de forma lineal ( con un foreach) como muestro acontinuacion

    //            foreach (Cliente cliente in MiTienda.Cliente) {
    //                Console.Write("\n"+ i +") "+"[Cliente " +cliente.Nombre+" " +cliente.Apellido+ ", DNI "+cliente.Dni+", Fec.Nac. " + cliente.Fecha + ", Total: " + string.Format("{0:0.00}",cliente.TotalGastado) +"]");
    //                i++;
    //            }
    //            Console.WriteLine();
    //            Console.WriteLine("\nPresione una tecla para continuar...");
    //            Console.ReadKey();
    //            Console.Clear();

    pero cuando lo intento resolver de forma recursiva no logro accesar a MiTienda.Cliente. esto es lo que he podido realizar ( la iteracion la hace correcta ).

    {


                           
    string r = TotalAbonadoPorCliente(MiTienda.Cliente,MiTienda.Cliente.Count);

    Console.WriteLine(r);

    }

    public string TotalAbonadoPorCliente(ArrayList v,int i)
            {

    if (i == 0 ){              
                    return "";
                
                }
                else
                {
                    
                                     
                        
                    return TotalAbonadoPorCliente(v,i-1)+"\n[Cliente "+ v[i];

    }


    • Editado djurba viernes, 21 de junio de 2019 8:14
    viernes, 21 de junio de 2019 8:13

Todas las respuestas

  • hola

    Podrias editar la pregunta y coloar el codigo son que este comentado y con mejor identacion

    Ademas no entiendo el contexto en donde esta todo esto, ese MiTienda.Cliente donde lo defines?

    porqe si lo declaras en una funcion esta claro que el ambito sera solo esta no podras accederlo desde otra salvo que lo pongas global la declaracion o lo retornes como respuesta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 21 de junio de 2019 17:02
  • Hola leandro gracias por tu respuesta, es un programa con outup en linea de comandos y MiTienda.Cliente esta definido en la clase Tienda

    Lo pude resolver de forma lineal osea con un foreach pero ahora me piden que lo resuelva implementando recursion lo cual me da el siguiente 

    y asi invoco a la funcion 

    viernes, 21 de junio de 2019 19:24