c#数组索引超出范围,但索引为零
本文关键字:索引 数组 范围 | 更新日期: 2023-09-27 18:18:41
public int Laenge = 10;
public int Breite = 10;
public Vector3[] new_Ver = new Vector3[300];
public Vector3[,] new_Ver_s = new Vector3[11,11];
public Vector2[] new_UV = new Vector2[300];
public Vector2[,] new_UV_s = new Vector2[11,11];
void Start () {
int n=0;
for(int l=0;l<=Laenge;l++)
{
for(int b=0;b<=Breite;b++)
{
if(b>1 || l<Laenge)
{
if(b%2 ==1)
{
Debug.Log(l);Debug.Log(b);Debug.Log(n+"f");
new_Ver[n]=new_Ver_s[l,b]; //this is the line where it says theres a bug.
new_UV[n]=new_UV_s[l,b];
n++;
}
}
}
}
上面写着:
IndexOutOfRangeException: Array index out of range
但是调试说所有索引都是零。是因为元素是空的吗?我怎么能把东西放进去呢?如果我对二维数组做同样的事情,没有问题。我尝试了一些东西,并用一个空的vector3变量替换了new_Uv_s。还是同样的错误
您的代码注定要崩溃,因为您在每次迭代时都增加n,并且您可能有50次迭代=>在某个时刻n将超过29new_Ver数组的最后一个索引。
为什么把它的大小设置为30?
如果你想要一些纬度,使用100。:)