つまり、3つの変数を宣言しました
TemplateData tData; TaskInstance tInstance;int tID;
私のプログラムで。それらを明確に宣言しましたが、「割り当てられていないローカル変数の使用」というエラーが表示され続けます。なぜコンパイラがこのエラーを出すのか完全に困惑しています。
それらを宣言しましたが、それらに値を割り当てていません。少なくとも、これらの変数を使用する前に の値を割り当てる必要がありnull
ます。そうしないと、未定義の値を に渡すことになりますProcessInput
。
Compiler is absolutely correct
. それらを宣言しましたが、コンパイラは「宣言されていないローカル変数の使用」を通知しませんでした。それはあなたに伝えます"Use of unassigned local variable"
..
変数の宣言と代入には違いがあります...
値を変数に割り当てます。あなたのコードでは、
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;
また
TemplateData tData = new TemplateData();
TaskInstance tInstance = new TaskInstance();
int tID = 0;
変数に値を割り当てていません。それがコンパイラエラーの言うことです。「割り当てられていないローカル変数の使用」と書かれています。変数の宣言と割り当ての違いに注意してください。それらを使用する前に、それらをすべてnull
または 0 (または他の適切なデフォルト値) に設定するだけです。
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;
値を代入せずに変数を使用すると、多くの場合バグの原因になる可能性があるため、コンパイラは不平を言います。
これらの値をメソッドに渡す前に、これらの値を初期化する必要があります。
TemplateData tData = new TemplateData();
TaskInstance tInstance = new TaskInstance();
int tID = 0;
これらの変数を初期化するだけです。
TemplateData tData = null; TaskInstance tInstance = null; int tID = 0;
変数を宣言するときは、常にデフォルト値または null 値を割り当てる必要があります。
TemplateData tData = null;
TaskInstance tInstance = null;
int tID = 0;