gpt4 book ai didi

c# - 数组的第一个索引返回一个 IndexOutOfRangeException

转载 作者:太空宇宙 更新时间:2023-11-03 20:48:56 24 4
gpt4 key购买 nike

我正在编写一个 Unity 脚本来读取 CSV 文件(二维和所有数字),将其分解为附加到二维 float 组的 float 。这是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoadCalibration : MonoBehaviour
{
public float[,] pc_array; // Reconstructed PC coefficient MD array (PCs as rows and variables as columns)

// Start is called before the first frame update
void Start()
{
// PC COEFFICIENTS

pc_array = new float[20, 20];
Debug.Log(pc_array);

TextAsset pc_data = Resources.Load<TextAsset>("pc_coeff"); //Data is in as variables x PCs

string[] variable = pc_data.text.Split(new char[] { '\n' }); // split pc_data into rows(each row is one variable, for all PCs)

for (int i = 0; i < variable.Length - 1; i++)
{
string[] pc = variable[i].Split(new char[] { ',' }); // delegate each variable to a pc
Debug.Log(i);

for (int j = 0; j < pc.Length; i++)
{
Debug.Log(j);
pc_array[j,i] = float.Parse(pc[j]); // Load float value into the pc_coeff MD array
}

}

}
}

它抛出这个错误:

IndexOutOfRangeException: Index was outside the bounds of the array.
LoadCalibration.Start () (at Assets/Scripts/LoadCalibration.cs:31)

使用 Debug.Log() 我发现错误发生在 i = 0 和 j = 0(数组的第一个索引)处,即使我将其声明为 20 x 20 阵列。我是 C# 的新手,所以很明显错误是什么,但我无法解决。任何帮助将非常感激!

我已经使用 Debug.Log() 来评估其余代码是否正常工作(也就是读取 CSV 文件并将每个字符串条目转换为单个 float )。

最佳答案

  for (int j = 0; j < pc.Length; i++)

改为

  for (int j = 0; j < pc.Length; j++)

关于c# - 数组的第一个索引返回一个 IndexOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com