首页 > 解决方案 > 无法将类型 float 隐式转换为 float[]

问题描述

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;
                    }
                }
            }
        }

有谁知道这里发生了什么?我无法弄清楚这一点,也找不到任何答案。

标签: c#error-handling

解决方案


您需要在使用它之前实例化您的数组,并且您不能将单个浮点分配给整个数组。更改代码的以下部分

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
}

推荐阅读