尝试编译此代码时出现错误Error CS0029 Cannot implicitly convert type 'float' to 'float[]'
float[] timeValues;
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 = 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();
关于c# - 无法将类型float隐式转换为float [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51852100/