I tried to get some help earlier and I don't think I provided enough information though I appreciate all the advice.
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.
I keep getting a null reference exception.
Here is my 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 < 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 < 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 < 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; } } }
NullReferenceExceptionare the same. Please see "What is a NullReferenceException in .NET?" for some hints.