如何将锯齿状数组从一种形式传递给另一种形式?

时间:2013-08-04 17:04:14

标签: c# arrays forms jagged-arrays

(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 个答案:

答案 0 :(得分:1)

我认为你的意思是这样做

    //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();

请记住,您还需要初始化锯齿状数组的第二部分 - 或者在尝试访问它时会抛出空引用异常。

答案 1 :(得分:0)

你实际上有几个选项,你可以在构造函数中实际传递数组,只要你已经将它添加到resultsForm的构造函数中。另一种选择是让数组public static然后通过使用主表单的名称限定它来从resultsForm访问它。