使用未分配的局部变量'fileData'?

时间:2011-07-14 19:06:29

标签: c#

编译器正在读取错误:使用未分配的局部变量'fileData'。

我已经搜索过,但我尝试过的任何事情都没有解决我的问题。

 private ScrPrnData ParseTemperatureFileLine(string sLine)
    {
        char[] delimiter = { '\t' };
        string[] elements = sLine.Split(delimiter, 200);

        ScrPrnData fileData; 

        fileData.dTempZone1 = double.Parse(elements[0].Trim());
        fileData.dTempZone2 = double.Parse(elements[1].Trim());
        fileData.dTempZone3 = double.Parse(elements[2].Trim());
        fileData.dTempZone4 = double.Parse(elements[3].Trim());

        return fileData;
    }

5 个答案:

答案 0 :(得分:2)

private ScrPrnData ParseTemperatureFileLine(string sLine)
{
    ...
    ScrPrnData fileData = new ScrPrnData(); 
    ...
}

答案 1 :(得分:1)

您必须创建该类型的实际对象:

ScrPrnData fileData = new ScrPrnData();

答案 2 :(得分:1)

你永远不会初始化fileData,编译器会在运行时为你节省明显的NullReferenceException。

ScrPrnData fileData; // <- need to initialize this here.

// fileData will always be null here and throw an Exception
// the compiler knows this and is saving you the headache
fileData.dTempZone1 = double.Parse(elements[0].Trim());

答案 3 :(得分:0)

您正在使用fileData而不使用某些值初始化它。尝试:

ScrPrnData fileData = new ScrPrnData();

或者那种效果。

答案 4 :(得分:0)

您需要实例化它。

 ScrPrnData fileData;  = new ScrPrnData ();