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();
}
}
}
}