0

我有一个字符串数组

public: array<String ^> ^ sss;
public:
    Form1(void)
    {
        InitializeComponent();
        //
        //TODO: Add the constructor code here
        //
        array<String ^> ^ sss = gcnew array<String ^>(3);
        sss[0]="asdasd";
        sss[1]="s115ss";
        sss[2]="s115ss";
    }

我需要将第一个元素显示到文本框中。

我用了

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

             textBox2->Text = sss[0];
         }

VC++ 给了System.NullReferenceException. 为什么?以及如何解决?

错误:

test000.exe 中发生了“System.NullReferenceException”类型的未处理异常附加信息:对象引用未设置为对象的实例。

4

1 回答 1

1

您的代码不应编译,除非您还有一个名为sss. 如果是这种情况,您希望在构造函数中设置该字段的值,而不是某些不相关的同名局部变量的值:

array<String ^> ^ sss;

public:
    Form1(void)
    {
        InitializeComponent();

        sss = gcnew array<String ^>(3);
        sss[0]="asdasd";
        sss[1]="s115ss";
        sss[2]="s115ss";
    }
于 2012-04-21T19:21:28.963 回答