Как передать зубчатый массив из одной формы в другую форму?

(Новое в C#) Я создаю зубчатую форму массива в C#, как показано ниже, а затем передаю ее в форму 2:

          // Answers jagged array that is declared in form 1
         private Question[][] _answers;                 

Следующий код - это то, что я использую для создания второй формы и передачи ей массива:

        //Code to pass all elements of array to new array in form 2 
        Question[][] DisplayAnswers = new Question[1][];

        //Code for new form2
        ResultsForm resultsForm = new ResultsForm();

        //Code for dialog results from form 2  
        DialogResult dialogResult = resultsForm.ShowDialog();

Я правильно передаю массив?

2 ответа

Я думаю, что вы хотите сделать это

    //Code to pass all elements of array to new array in form 2 
    Question[][] DisplayAnswers = new Question[1][];

    //Code for new form2
    ResultsForm resultsForm = new ResultsForm(DisplayAnswers);

    //Code for dialog results from form 2  
    DialogResult dialogResult = resultsForm.ShowDialog();

Имейте в виду, вам также нужно инициализировать вторую часть зубчатого массива - иначе при попытке доступа к нему будет сгенерировано исключение нулевой ссылки.

На самом деле у вас есть пара опций, вы можете передать массив в конструкторе, если вы добавили его в конструктор в resultsForm. Другой вариант - сделать массив public static затем получите доступ к нему из resultsForm, указав имя основной формы.

Другие вопросы по тегам