从数组中访问非静态变量

时间:2017-09-15 10:10:46

标签: c# arrays for-loop static components

快速提问:

我在团结c#中编写,并且有一个包含同一对象的多个实例的数组。我想在数组的每个成员中更改非静态 bool,并将其设置为true。我该怎么做?

我玩过 for-loops ,并在这里和团结论坛上搜索,但找不到答案。我不相信我的杂乱,错误的代码会有任何帮助。有人关心开导我吗? :)

编辑:感谢您的提示,现在就试试吧。代码被要求,原谅一塌糊涂:

Component[] toMerge;

for (int t = 0; t < mergeTargets.Length; i++) {
    toMerge[t] = mergeTargets[t].gameObject.GetComponent<Enemy>();
    toMerge.readyToMerge = true;
}

for (int t = 0; t < toMerge.Length; t++) {
    toMerge[t].readyToMerge = true;
}

1 个答案:

答案 0 :(得分:1)

您必须在mergeTargets.Length数组中分配 toMerge个项目并且不是数组而是地址:

    //DONE: We need mergeTargets.Length items in toMerge
    Component[] toMerge = new Component[mergeTargets.Length]; 

    for (int t = 0; t < mergeTargets.Length; i++) {
      toMerge[t] = mergeTargets[t].gameObject.GetComponent<Enemy>();
      //DONE: [t] - we want to change item, not the array
      toMerge[t].readyToMerge = true;
    }