Quantcast
Channel: Recorrer un arreglo de objetos
Viewing all articles
Browse latest Browse all 3

Recorrer un arreglo de objetos

$
0
0

Buenas noches. La pregunta es que quiero recorrer un arreglo cargado con instancias de la clase Persona (cargado previamente por el usuario por consola en Framework 3.5) y una vez que termino de cargar, necesito imprimir en pantalla todo junto pero cuando quiero recorrer el arreglo me salta el siguiente Error:

"System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
   en Pract4_Ejerc3.Program.Main(String[] args) en c:\Users\Esteban\Documents\SharpDevelop Projects\Pract4_Ejerc3\Pract4_Ejerc3\Program.cs:línea 44 "
A que se debe? Abajo les adjunto el codigo que desarrollé. Muchas gracias!

using System;
namespace Pract4_Ejerc3
{
    class Persona
    {
        public string nombre;
        public int edad;
        public long dni;

        public Persona (string no, int ed, long dn)
        {
            this.nombre=no;
            this.edad=ed;
            this.dni=dn;
        }

        public void Imprimir()
        {
            Console.WriteLine("{0} {1} {2}", nombre, edad, dni);
        }

    }

    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Ingrese la cantidad de personas a cargar: ");
            int c=Convert.ToInt32(Console.ReadLine());
            Persona [] v= new Persona[c];
            for (int i=0; i<c; i++)
            {
                Console.WriteLine("Ingrese nombre y apellido: ");
                string n=Console.ReadLine();
                Console.WriteLine("Ingrese la edad: ");
                int e=Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Ingrese el DNI: ");
                long d=Convert.ToInt64(Console.ReadLine());
                //Genero una instancia de Persona con el contructor
                Persona p=new Persona(n,e,d);
            }
            Listar(v);

            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }

        public static void Listar(Persona[] vec)
        {
            foreach (Persona pe in vec)
            {
                pe.Imprimir();
            }
        }
    }
}

                                                                               

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles



Latest Images