title: Null Reference Exception when calling an Object Array
body: <p>I tried to get some help earlier and I don't think I provided enough information though I appreciate all the advice.</p>
  
  <p>The goal is simply to add a new instance of the Object Room to an array and print to a list box.  When a user attempts to enter a room name that is already in existence it should simply display in the specs for the room that is already in the array.   </p>
  
  <p>I keep getting a null reference exception.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Windows.Forms;
  
  
  namespace Room_Class
  {
      public partial class Form1 : Form
      {
          Room[] roomArray = new Room[20];
          int count = 0;
  
          public Form1()
          {
              InitializeComponent();
          }
  
          private void btnAddRm_Click(object sender, EventArgs e)
          {
              double length, width, height;
              if (VerifyRoomName() == true)
              {
  
  
                  if (txtRmLen.Text == "" || txtRmWid.Text == "" || txtRmHt.Text == "")
                  {
                      for (int i = 0; i &lt; roomArray.Length; i++)
                      {
                          if (txtRmName.Text == roomArray[i].getRoomName())
                          {
                              txtRmName.Text = roomArray[i].getRoomName();
                              txtRmLen.Text = roomArray[i].getLength().ToString();
                              txtRmHt.Text = roomArray[i].getCeilingHeight().ToString();
                              txtRmWid.Text = roomArray[i].getWidth().ToString();
                          }
                          else
                          {
                              roomArray[count] = new Room(roomName);
                              count++;
                          }
                      }
                  }
                  else
                  {
                      try
                      {
                          length = double.Parse(txtRmLen.Text);
                          width = double.Parse(txtRmWid.Text);
                          height = double.Parse(txtRmHt.Text);
                          for (int i = 0; i &lt; roomArray.Length; i++)
                          {
                              if (txtRmName.Text == roomArray[i].getRoomName())
                              {
                                  txtRmName.Text = roomArray[i].getRoomName();
                                  txtRmLen.Text = roomArray[i].getLength().ToString();
                                  txtRmHt.Text = roomArray[i].getCeilingHeight().ToString();
                                  txtRmWid.Text = roomArray[i].getWidth().ToString();
                              }
                              else
                              {
                                  roomArray[count] = new Room(roomName, length, width, height);
                                  count++;
                              }
                          }
                      }
                      catch (Exception ex)
                      {
                          MessageBox.Show(ex.Message + "\n\nPlease Enter Valid Values", "Error!");
                      }
                  }  
                  PrintList();
              }
  
          }
  
  
          private void PrintList()
          {
              double paintTotal = 0, feetTotal = 0;
              string RoomName;
              lstRoomList.Items.Clear();
              for (int i = 0; i &lt; count; i++)
              {
                  RoomName = roomArray[i].getRoomName() + "\t" + roomArray[i].SquareFeet().ToString("n1") + "\t" + roomArray[i].GallonsPaint().ToString("n1");
                  lstRoomList.Items.Add(RoomName);
                  paintTotal += roomArray[i].GallonsPaint();
                  feetTotal += roomArray[i].SquareFeet();
                  lblTtlGallons.Text = paintTotal.ToString("n1");
                  lblTtlSqFt.Text = feetTotal.ToString("n1");
              }
          }
  
          private bool VerifyRoomName()
          {
              if (roomName == "")
              {
                  MessageBox.Show("Please Enter a Room Name", "Error!");
                  return false;
              }
              else
                  return true;
          }
      }
  }
  </code></pre>