C# NullReferenceException was unhandled - Object reference not set to an instance of an object

10,093

Solution 1

The variable carBootSaleList wasn't initialized, and it is therefore null.

Try replacing

CarBootSaleList carBootSaleList;

with

CarBootSaleList carBootSaleList = new CarBootSaleList();

Solution 2

You haven't initialized carBootSaleList in your code anywhere.

You can either instantiate it in the method or with the declaration.

CarBootSaleList carBootSaleList = new CarBootSaleList();

Solution 3

You have not initialized carBootSaleList.

CarBootSaleList carBootSaleList = new carBootSaleList();
Share:
10,093
Danny
Author by

Danny

Updated on November 23, 2022

Comments

  • Danny
    Danny over 1 year

    I'm trying to create a application using Windows Forms in C#, however I keep getting an error stating:

    NullReferenceException was unhandled - Object reference not set to an instance of an object

    It's pointing to the line which has this code on:

    carBootSaleList.AddCarBootSale(newCarBootSale);
    

    The method I have on the forms interface:

      CarBootSaleList carBootSaleList;
    
      public void AddCarBootSale()
        {
            AddNewCarBootSale addForm = new AddNewCarBootSale();
            if (addForm.ShowDialog() == DialogResult.OK)
            {
                CarBootSale newCarBootSale = addForm.GetCarBootSaleData();
    
                carBootSaleList.AddCarBootSale(newCarBootSale);
    
                txtCarBootSale.Clear();
                txtCarBootSale.Text = newCarBootSale.Display();
            }
        }
    

    The CarBootSaleList class:

    public class CarBootSaleList : IDisplay
    {
    
        private List<CarBootSale> carbootsales;
    
        public CarBootSaleList()
        {
            carbootsales = new List<CarBootSale>();
        }
    
        public bool AddCarBootSale(CarBootSale carbootsale)
        {
            bool success = true;
            foreach (CarBootSale cbs in carbootsales)
            {
                if (cbs.ID == carbootsale.ID)
                {
                    success = false;
                }
            }
            if (success)
            {
                carbootsales.Add(carbootsale);
            }
            return success;
        }
    
        public int GetListSize()
        {
            return carbootsales.Count();
        }
    
        //public CarBootSale FindCarBootSale(string cbsID)
        //{
        //    CarBootSale carbootsale = null;
        //    foreach (CarBootSale cbs in carbootsale)
        //    {
        //        if (cbs.ID == cbsID)
        //        {
        //            carbootsale = cbs;
        //        }
        //    }
        //    return carbootsale;
        //}
    
        public List<CarBootSale> ReturnList()
        {
            return carbootsales;
        }
    
        public string Display()
        {
            string msg = "";
    
            foreach (CarBootSale cbs in carbootsales)
            {
                msg += String.Format("{0}  {1}", cbs.ID, cbs.Location, cbs.Date);
                msg += Environment.NewLine;
            }
            return msg;
        }
    }
    

    The CarBootSale class:

    public class CarBootSale : IDisplay
    {
    
        public string ID { get; set; }
        public string Date { get; set; }
        public string Location { get; set; }
        public double PitchCost { get; set; }
        public int Capacity { get; set; }
        public string Charity { get; set; }
        public string CharityName { get; set; }
        public string Catering { get; set; }
    
        public CarBootSale(string id, string date, string location, double pitchcost, int capacity, string charity, string charityname, string catering)
        {
            ID = id;
            Date = date;
            Location = location;
            PitchCost = pitchcost;
            Capacity = capacity;
            Charity = charity;
            CharityName = charityname;
            Catering = catering;
        }
    
        public CarBootSale() { }
    
        public override string ToString()
        {
            return String.Format("{0}  {1}", ID, Date, Location);
        }
    
        public string Display()
        {
            string msg;
            string CR = Environment.NewLine;
    
            msg = String.Format("ID: {0} {1}", ID, CR);
            msg += String.Format(" Date: {0} {1}", Date, CR);
            msg += String.Format(" Location: {0} {1}", Location, CR);
            msg += String.Format(" Pitch Cost: {0} {1}", PitchCost, CR);
            msg += String.Format(" Capacity: {0} {1}", Capacity, CR);
            msg += String.Format(" Charity: {0} {1}", Charity, CR);
            msg += String.Format(" CharityName: {0} {1}", CharityName, CR);
            msg += String.Format(" Catering: {0} {1}", Catering, CR);
    
            return msg;
        }
    }
    
    • Charleh
      Charleh about 11 years
      Did you instantiate carbootSaleList?