我需要一些随机整数的画布中复制的对象。所以我创建了数组,将填充随机值,但不工作,代码停止在第一个数组行(CPU_模型),当我看到统一编辑器中的数组是空的(0元素)。对不起,错误的探索或类似的东西,我是新的编码。
public int[] CPU_Model = new int[15];
public int[] CPU_MHz = new int [15];
public string[] CPU_Vars = new string[15];
public int i = 0;
public void Start()
{
for (int i = 1; i<15; i++)
{
Debug.Log(i);
CPU_Model[i] = Random.Range(400, 9999);
CPU_MHz[i] = Random.Range(1200, 5400);
CPU_Vars[i] = "CPU" + i;
//i++;
}
//i = 0;
}
3条答案
按热度按时间46scxncf1#
数组索引从0开始,所以如果你从1开始循环,你将跳过每个数组的第一个元素,并且它将是未初始化的。要解决这个问题,简单地改变你的循环初始化从0开始,而不是从1开始,像这样:
另外,如果在
Start()
方法中使用i
变量作为循环计数器,则没有必要将其声明为类成员。局部变量i
隐藏类成员变量i
。这意味着循环内的i
是与循环外的i
分开的变量。由于只在循环内部使用局部变量i
,而不需要在循环外部访问其值**,因此不需要将其声明为类成员。cwtwac6a2#
在C#中,数组从索引0开始,而不是从1开始。
因此,您应该将代码替换为
uqcuzwp83#
已找到解决方案。数组不能是公共的,因此没有它,所有系统都能正常工作。