2011-07-14 9 views
0

コンパイラは、エラー:未割り当てのローカル変数 'fileData'を使用しています。割り当てられていないローカル変数 '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; 
    } 
+0

エラーが発生した行は、どれですか? – Ram

+1

'ScrPrnData fileData =新しいScrPrnData();'? –

+0

'return fileData;'でエラーが発生しました – TheRealDK

答えて

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

Meil​​ton私はこれを試して、うまくいきませんでした。 – TheRealDK

+0

@ TheRealDK - 不合理です。 –

+0

@Ritch_Melton - True story – TheRealDK

1

あなたはそのタイプの実際のオブジェクトを作成する必要があります。

ScrPrnData fileData = new ScrPrnData(); 
0

あなたは、いくつかの値でそれを初期化せずに、FILEDATAを使用しています。試してください:

またはそのようなもの。

0

インスタンス化する必要があります。

ScrPrnData fileData; = new ScrPrnData(); 
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()); 
+0

あなたは彼にエラーを伝えているので、あなたはそれを解決する方法を説明しなければならないと信じて、ただScrPrnData fileData =新しいScrPrnData():D –

+0

それはすべてScrPrnDataが何であるかに依存します。たとえば、抽象クラスまたはインターフェイスの場合、 "new ScrPrnData()"は機能しません。 –

関連する問題