我正在制定一个预订飞机座位的小程序 - 而且我一直收到此错误。我想让节目向我展示飞机上哪些座位(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