我已经睡了半夜,仍然试图弄清楚这个空异常。我已经阅读了一些关于这个问题的文本,但没有一个对我有任何帮助,对我来说问题是什么,因为它应该起作用:/它只是在这段代码中崩溃:
Private void UpdateGUI()
{
string selectedItem = cmbDisplayOptions.Items[cmbDisplayOptions.SelectedIndex].ToString();
rdbtReserv.Checked = true;
lstReservations.Items.Clear();
lstReservations.Items.AddRange(m_seatMngr.GetSeatInfoStrings(selectedItem));
}
lstReservations.Items.AddRange(m_seatMngr.GetSeatInfoStrings(selectedItem));
给了我 ArgumentNullExeption,但对我来说不应该那样做。
addrange 将字符串 selectedItem 发送到另一个类:
public string[] GetSeatInfoStrings(string selectedItem)
{
int count = GetNumOfSeats(selectedItem);
if (count <= 0)
{
return null;
}
string[] strSeatInfoStrings = new string[count];
for (int index = 0; index <= m_totNumOfSeats - 1; index++)
{
strSeatInfoStrings[index] = GetSeatInfoAt(index);
}
return strSeatInfoStrings;
}
这int count = GetNumOfSeats(selectedItem);
到这里并返回一个 int:
private int GetNumOfSeats(string selectedItem)
{
if (selectedItem == "ReservedSeats")
{
return GetNumReserved();
}
if (selectedItem == "VacantSeats")
{
return GetNumVacant();
}
else
{
return m_totNumOfSeats;
}
}
我已经检查了数组是否有正确的空格数(60)并且selectedItem
有一个字符串(Allseats 以开头,所以它应该返回m_totnumOfSeats
一个 60 的 int)但是随后private int GetNumOfSeats
出现问题,它返回 null 并且......那么为什么?
我看不到问题.. 可能因为试图找到问题而失明。总是在这里得到出色的帮助,我学到了很多!所以也许有人可以指出我的代码中存在的所有问题。
预先感谢一百万的任何和所有建议!
//问候