私は夜中起きていましたが、まだこの null 例外を理解しようとしています。私はこの問題についていくつかのテキストを読みましたが、どのような方法でも私を助けてくれるものはありませんでした.問題は何であるか.
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 を返します...なぜ?
問題が見えません..問題を見つけようとして盲目になったのかもしれません。ここでは常に素晴らしい助けを得ることができ、たくさんのことを学びました!! したがって、誰かが私のコードにあるすべての問題を指摘できるかもしれません。
ありとあらゆるアドバイスをありがとう!
//よろしく