나는 밤늦게까지 계속이 null 예외를 알아 내려고 노력했습니다. 나는이 문제에 대한 텍스트의 몇 가지를 읽고 그러나 아무도 문제가 작동해야으로 무엇인지 나에게 어떤 식 으로든 나를 도왔습니다알아낼 수없는 배열의 ArgumentNullException
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,하지만 나에게 그렇게해서는 안된다.
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;
}
}
은 (공간의 정확한 숫자를
addrange는 다른 클래스에 문자열의 selectedItem을 전송 60) 그리고 selectedItem
에는 문자열이 있습니다 (Allseats가 시작해야하므로 m_totnumOfSeats
은 60의 int입니다). 그렇지만 private int GetNumOfSeats
에서 무언가가 잘못되어 null이 반환됩니다 ... 왜 그런가요?
문제가 보이지 않습니다. 문제를 찾으려고 시도했을 수도 있습니다. 항상 뛰어난 도움을 얻었고 나는 톤을 배웠습니다 !! 어쩌면 누군가가 내 코드에있는 모든 문제를 지적 할 수 있습니다.
미리 조언 해 주셔서 감사합니다. 당신이 AddRange 전화 및 null 값을 전달 ObjectCollection의 소스 코드를 보면
// 감사합니다
예외가 발생할 때'm_seatMngr'는 null입니까? – Oded
stacktrace를 확인하고 가능하다면 오류를 제공하는 정확한 코드 줄을 찾는 데 도움이됩니다. – ZafarYousafi
공백 (60)은 무엇입니까! – Anirudha