从数组C#分配变量

时间:2018-08-02 14:58:48

标签: c#

我正在用c#学习数组,并且在分配变量时遇到问题。

第一堂课

public int H = 10;
public int V = 10;

//BlaBlaBla MonoBehaviour class with variables
public BlaBlaBla[,] blablabla;

void Start()
{
    blablabla = new BlaBlaBla[H,V];

    for (int i = 0; i < X; i++) 
    {
        for (int j = 0; j < Y; j++) 
        {
            blablabla[i, j] = new BlaBlaBla(); 
        }
    }

第2类的第2类从第1类的第3类开始...实例化(blablabla,H,V)

三等舱

public BlaBlaBla[,] azaza;

public void Instantiated(BlaBlaBla[,] wakawakawaka, int HH, int VV)
{
    azaza = wakawakawaka;

    for (int i = 0; i < HH; i++)
    {
        for (int j = 0; j < VV; j++) 
        {
            GameObject sss = Instantiate(sssGameObject);
            sss.GetComponent<BlaBlaBla>() = azaza [i, j]; // ERROR:The left-hand side of an assignment must be a variable, a property or an indexer
        }
    }

如果我这样分配变量,则效果很好:

sss.GetComponent<BlaBlaBla>().text = azaza [i, j].text;
sss.GetComponent<BlaBlaBla>().someINT = azaza [i, j].someINT;

据我了解,数组不存储该类的实例。仅变量等等,但是如果有数百个变量该怎么办。如何分配它们?

1 个答案:

答案 0 :(得分:0)

在没有看到您的sssGameObjectGetComponent()的定义的情况下,我只能从高层次而不是详细地确定问题。问题是您正在尝试将该值分配给无效的方法调用的结果。

您需要标识要分配的属性,或找到要使用的相应SetComponent<Blablalba>(azaza[I, j]);

您后面的调用使set text属性起作用,因为这样做时,编译器会创建一个引用,您可以为该引用寻址并为其设置属性。简而言之,您的GameObject需要一个SetObject方法。