2 回答
TA贡献1936条经验 获得超6个赞
您需要在使用之前实例化您的数组,并且您不能将单个浮点分配给整个数组。更改代码的以下部分
string[] timeValuesString = exerciseLine.Split(timeDivider);
timeValues = new float[timeValuesString.Length]; // CHANGE-1
for (int a = 0; a < timeValuesString.Length; i++)
{
time = float.Parse(timeValuesString[1]);
timeValues[a] = time; // CHANGE-2
}
TA贡献1831条经验 获得超9个赞
您正在尝试为数组分配一个浮点数(而不是将其添加为数组的元素)。因此,您必须首先使用预定义的大小初始化数组:timeValues = new float[neededLength]。但是如果你不知道你需要的尺寸,List<float>类型是更好的选择,如下代码:
//float[] timeValues;
List<float> timeValues = new List<float>();
float time;
while (lineBeingRead != null)
{
valueSplit = lineBeingRead.Split(exerciseDivider);
for (int i = 0; i < valueSplit.Length; i++)
{
if (valueSplit[i].Contains(textToFind))
{
exerciseLine = valueSplit[i];
string[] timeValuesString = exerciseLine.Split(timeDivider);
for (int a = 0; a < timeValuesString.Length; i++)
{
time = float.Parse(timeValuesString[1]);
//timeValues = time;
timeValues.add(time);
}
}
}
}
您也可以在需要时通过调用它的ToArray方法将列表转换为数组:
var timeArray = timeValues.ToArray();
- 2 回答
- 0 关注
- 709 浏览
添加回答
举报