我正在制定一個預訂飛機座位的小程序 - 而且我一直收到此錯誤。我想讓節目向我展示飛機上哪些座位(flysaeder)正在由乘客(通道者)預訂。只有如果我輸入的座位數多於乘客數量,它就不會運行 - 我需要它來允許空位(比「flysaeder」少一些「通道員」)。我究竟做錯了什麼?C#索引超出了特定數組的幫助範圍,請
我在這裏有點新,所以我很抱歉說不好。
「listeOverPassagerer [index] = listeOverPassagerer [i];」發生錯誤。
namespace eksamenvingerne
{
public partial class Form1 : Form
{
int flysaeder;
int passagerer;
Random tilfældighed = new Random();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
{
int.TryParse(txtsaeder.Text, out flysaeder);
int.TryParse(txtantalpassagere.Text, out passagerer);
if (passagerer > flysaeder)
{
MessageBox.Show("Ingen frie pladser!");
}
else
{
int[] listeOverPassagerer = Enumerable.Range(0, passagerer).ToArray();
int[] flypladser = new int[flysaeder];
for (int i = 0; i < flysaeder; i++)
{
int index = tilfældighed.Next(0, passagerer);
flypladser[i] = tilfældighed.Next(i, passagerer);
flypladser[i] = listeOverPassagerer[index];
listeOverPassagerer[index] = listeOverPassagerer[i];
}
for (int i = 0; i < flypladser.Length; i++)
{
listBox1.Items.Add("Sæde #" + i + ": Passagernr.:" + flypladser[i]); //listboxen udskriver indholdet af hver eneste plads.
}
}
}
}
}
}
您會在哪一行發生錯誤?該錯誤基本上告訴你,你試圖引用一個數組中的項目,但該項目實際上並不存在。所以你的邏輯在某個地方可能會出現錯誤,對於沒有提出這種邏輯的人來說,這並不是很明顯。哪一行會引發錯誤,以及發生時所涉及變量的運行時值是什麼? – David
哦,對不起。 錯誤發生在「listeOverPassagerer [index] = listeOverPassagerer [i];」 我認爲問題是索引和數組不匹配,但我不明白。 (我實際上不是這個輝煌)。 – Ithaca
當傳播者== flyseader發生了嗎? – Dvir