予約サービスを作成しようとしていますが、この部分で何時間も立ち往生しており、何が間違っているのかわかりません。
だから私は二次元配列を持っていて、テストして何が悪いのかを理解しようとするときに何かを印刷しようとすると、System.String[]
実際には賢くならないだけです。m_nameMatrix[0,0]
ie で詳細にアクセスして、座席が指定されているかどうかを確認できるようにしたい。
ここに私のフォームコードからのスニペットがあります:
private void UpdateGUI(string customerName, double price)
{
string selectedItem = cmdDisplayOptions.Items[cmdDisplayOptions.SelectedIndex].ToString();
rbtnReserve.Checked = true;
lstSeats.Items.Clear();
lstSeats.Items.AddRange(m_seatMngr.GetSeatInfoStrings(selectedItem));
}
そして、ここに私の2番目のクラスからの2つのメソッドがあります:
public string[] GetSeatInfoStrings(string selectedItem)
{
int count = GetNumOfSeats(selectedItem);
if (count <= 0)
{
return new string[0];
}
string[] strSeatInfoStrings = new string[count];
for (int index = 0; index <= count; index++)
{
strSeatInfoStrings[index] = GetSeatInfoAt(index);
}
return strSeatInfoStrings;
}
public string GetSeatInfoAt(int index)
{
int row = (int)Math.Floor((double)(index / m_totNumOfCols));
int col = index % m_totNumOfCols;
string seatInfo = m_nameMatrix.GetValue(row, col).ToString();
return seatInfo;
}
私は実際に例外を受け取っていないので、それを理解しようとするのに何時間も費やしたためにヒットしたのは私の論理的思考かもしれません.
編集:
public void ReserveSeat(string name, double price, int index)
{
int row = (int)Math.Floor((double)(index / m_totNumOfCols));
int col = index % m_totNumOfCols;
string reserved = string.Format("{0,3} {1,3} {2, 8} {3, 8} {4,22:f2}",
row + 1, col + 1, "Reserved", name, price);
m_nameMatrix[row, col] = reserved;
}