Witam jestem początkującym programista w C#. Napisałem programik który zawiera klasę AddressBook która zawiera metodę AddContact dodającą do tablicy baza_kontaktów która jest typu Contact, wartości poszczególnych pól obiektu contact1. Niestety nie udaje sie przypisać w metodzie AddContact wartości przekazanej do tej metody, występuje błąd juz po uruchomieniu w lini: baza_kontaktów[numer_wpisu].ID = c.ID;
Unhandled Exeption: System.NullReferenceExeption: Object reference not set to an instance of an object.
Czy mógłby mi ktoś wyjaśnić w czym tkwi błąd ?
namespace klasa_testy
{
class Program
{
public class AddressBook
{
public Contact[] baza_kontaktów = new Contact[100];
public static int numer_wpisu = 0;
public void AddContact(Contact c)
{
baza_kontaktów[numer_wpisu].ID = c.ID;
baza_kontaktów[numer_wpisu].FirstName = c.FirstName;
baza_kontaktów[numer_wpisu].LastName = c.LastName;
baza_kontaktów[numer_wpisu].Email = c.Email;
AddressBook.numer_wpisu++;
Console.WriteLine("{0} {1} {2} {3} Wpis został wykonany pomyślnie.",c.ID, c.FirstName, c.LastName,c.Email);
}
public void ShowContact()
{
Console.Write("Podaj ID klienta: ");
int indeks = Int32.Parse(Console.ReadLine());
Console.WriteLine("{0} {1} {2} {3}", baza_kontaktów[indeks].ID, baza_kontaktów[indeks].FirstName, baza_kontaktów[indeks].LastName, baza_kontaktów[indeks].Email);
}
}
public class Contact
{
public Contact()
{
ID = 0;
FirstName = "";
LastName = "";
Email = "";
}
public int ID;
public string FirstName;
public string LastName;
public string Email;
}
static void Main(string[] args)
{
Contact contact1 = new Contact();
contact1.ID = 1;
contact1.FirstName = "Piotr";
contact1.LastName = "Grochowski";
contact1.Email = "[email protected]";
AddressBook addBook1 = new AddressBook();
addBook1.AddContact(contact1);
}
}
}