在Unity中使用二维数组进行遍历储存数据时报错
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Answer_four : MonoBehaviour
{
//读取文档
string[][] ArrayX;
string[] lineArray;
public int topicMax = 3;//最大题数
private List<bool> isAnserList = new List<bool>();//存放是否答过题的状态
//加载题目
Button[] Buttonlist = new Button[27];//答题Button
public Text indexText;//当前第几题
public Text TM_Text;//当前回答
public List<Text> DA_TextList;//选项
private int topicIndex = 0;//第几题
public Text tipsText;//提示信息
public List<int> Qarray;//存放现有题目数组
int PosFlag = 0; //位置
string[] ArrayA = new string[9];//答题数组
void Start()
{
GameObject BtnGroup = GameObject.Find("ButtonGroup");
//赋值各个按钮
for(int i=0;itransform.childCount;i++)
{
Buttonlist[i] = BtnGroup.transform.GetChild(i).GetComponent

以下答案引用自GPT-3大模型,请合理使用:
谢谢!
答:
C#使用二维数组进行遍历储存数据时报错的原因是在创建二维数组ArrayX的时候,其所有的一位数组的长度都没有定义,而在后面的程序中又尝试使用了ArrayX[i][j]来存取数据,从而导致一位数组的长度没有定义导致的异常。
解决方法:
1、在创建二维数组ArrayX的时候指定一位数组的长度,如:
string[][] ArrayX = new string[lineArray.Length][3];//3为此处ArrayX中一位数组的长度
2、在使用ArrayX[i][j]语句前进行下列判断,如:
if (ArrayX[i].Length > j) //需要注意的是ArrayX[i].Length可能会大于ArrayX创建时申明的长度
{
ArrayX[i][j] = lineArray[i].Substring(j, 1);
}
如果我的回答解决了您的问题,请采纳我的回答