Попытка сгенерировать последовательность Фибоначчи в элемент списка

#c#

Вопрос:

  private void btn_Click(object sender, EventArgs e)
    {
        int quantity = Convert.ToInt32(txtseq.Text);
        int[] array = new int[lbox.Items.Count];
        if (txtseq.Text.Length > 0)
        {
            for (int i = 2; i < array.Length; i  )
            {
                array[0] = 0;
                array[1] = 1;
                array[i] = array[i--]   array[i];
                lbox.Items.Add(array[0].ToString()   array[1].ToString()   array[i].ToString());
                
            }

            
        }
        else
            MessageBox.Show("Insert something first");
    }
 

Пытаюсь сгенерировать последовательность фибоначчи и отправить ее в элемент списка, однако я не понимаю, почему она не добавляется в список в качестве элемента в поле для

Комментарии:

1. что ты получаешь? вы получаете сообщение об ошибке? также это WPF, Windows Forms? нам нужно больше деталей

2. это приложение в форме Windows, в котором пользователь вводит в текстовое поле количество элементов, которое он хочет в последовательности Фибоначчи, после нажатия кнопки оно добавляется в список

3. Когда вы запускаете свою программу, у вас, вероятно, нет никаких элементов в списке. Таким образом int[] array = new int[lbox.Items.Count]; , будет создан массив длины 0 (потому lbox.Items.Count что есть 0 . Таким образом for (int i = 2; i < array.Length; i ) , тело цикла не будет выполнено, потому что условие 2 < 0 неверно. Вы, вероятно, хотите использовать for (int i = 2; i< quantity; i ) вместо этого

4. Кроме того, в вашем цикле у вас есть array[i--] . Это (как только цикл будет выполнен) приведет к бесконечному циклу, потому i-- что уменьшается значение i , вместе с i тем, в голове цикла, ваш i никогда не растет, таким образом, ваше состояние цикла никогда не станет false . Вы, вероятно, хотите array[i] = array[i-1] array[i-2] вместо этого

5. Ах, и, конечно, вы также должны инициализировать свой массив размером quantity ie int[] array = new int[quantity]