Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请注意,C#索引超出了特定于数组的帮助的范围_C#_Arrays - Fatal编程技术网

请注意,C#索引超出了特定于数组的帮助的范围

请注意,C#索引超出了特定于数组的帮助的范围,c#,arrays,C#,Arrays,我正在做一个预订飞机座位的小程序——我不断地遇到这个错误。我想让节目告诉我哪些乘客(乘客)预订了飞机上的哪些座位。只是,如果我进入的座位比我有乘客的多,它就不会运行——我需要它来允许开放的座位(比“flysaeder”少“passager”)。我做错了什么 我在这方面有点生疏,所以我很抱歉解释得不好 “ListOverpassager[index]=ListOverpassager[i];”上出现错误 名称空间eksamenvingerne { 公共部分类Form1:Form { int fly

我正在做一个预订飞机座位的小程序——我不断地遇到这个错误。我想让节目告诉我哪些乘客(乘客)预订了飞机上的哪些座位。只是,如果我进入的座位比我有乘客的多,它就不会运行——我需要它来允许开放的座位(比“flysaeder”少“passager”)。我做错了什么

我在这方面有点生疏,所以我很抱歉解释得不好

“ListOverpassager[index]=ListOverpassager[i];”上出现错误

名称空间eksamenvingerne
{
公共部分类Form1:Form
{
int flysaeder;
内部乘客;
随机tilfældighed=新随机();
公共表格1()
{
初始化组件();
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
{
int.TryParse(txtsaeder.Text,out-flysaeder);
int.TryParse(txtantalpassager.Text,out passager);
如果(乘客>飞行驾驶员)
{
MessageBox.Show(“IngenFriePladser!”);
}
其他的
{
int[]listeOverpassager=Enumerable.Range(0,passager.ToArray();
int[]flypladser=新int[flysaeder];
对于(int i=0;i
您的逻辑实际上导致了此问题:


首先,您要确定
passager在哪一行出现错误?错误基本上是告诉您试图引用数组中的项,但该项实际上不存在。所以在你的逻辑中可能有一个错误,这对于那些没有想到这个逻辑的人来说并不完全明显。哪一行抛出错误,发生错误时涉及的变量的运行时值是什么?哦,对不起。错误出现在“ListOverpassager[index]=ListOverpassager[i];”上。我认为问题在于索引和数组不匹配,但我不明白。(事实上,我在这方面不是最出色的)。当passagerer==flyseader时会发生吗?不,它发生在“ListOverpassager[index]=ListOverpassager[I];。一个提示(与问题无关):尽量不要在代码中使用不常见的leter,如
tilfældighed
变量名中的
tilfældighed。这很有意义-那么我如何允许比“flysaeder”更少的“passageer”?
int index=tilfældighed。下一步(0,passageer)
so
index=0..passager-1
。这看起来不是答案。@Henkholtman造成问题的不是
index
,而是
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.

                    }
                }
            }
        }
    }
}
if (passagerer > flysaeder)
{
   MessageBox.Show("Ingen frie pladser!");
}
for (int i = 0; i < flysaeder; i++)