首页 > 解决方案 > 如何从另一个类更改字符串值?

问题描述

public class Class1
{
    public string word;
    public string GetString()
    {
       ....
    }

}




public class Class2 : MonoBehaviour
{

    public Class1[] class1;



    void Start()
    {
        class1 = new Class1[3];
        getText();
    }




    void getText()
    {
        for (int i = 0; i < words.Length; i++)
        {
            class1[i].word = "new Text";
            class1[i].GetString();

        }
    }
}

我如何从Class2更改(单词) ?

我收到此错误: NullReferenceException: Object reference not set to an instance of an object

标签: c#androidunity3d

解决方案


当您初始化class1数组时,它的所有元素都是nulls,并且您需要在尝试访问它们的成员之前分别初始化它们。

void getText()
{
    for (int i = 0; i < words.Length; i++)
    {
        class1[i] = new Class1(); // Here!
        class1[i].word = "new Text";
        class1[i].GetString();

    }
}

推荐阅读