これを行う理由:
Object bar;
Foo(bar);
C#で私は
Use of unassigned local variable 'bar'
エラー?
どうすれば修正できますか?
これを行う理由:
Object bar;
Foo(bar);
C#で私は
Use of unassigned local variable 'bar'
エラー?
どうすれば修正できますか?
エラーメッセージが示すように、変数を使用する前に変数に値を代入するのはどうですか。
変数をメソッドに渡す場合は、out キーワードの使用を検討してください。
out キーワードを使用すると、引数が参照によって渡されます。これは ref キーワードと似ていますが、ref は変数を渡す前に初期化する必要がある点が異なります。out パラメーターを使用するには、メソッド定義と呼び出し元のメソッドの両方で out キーワードを明示的に使用する必要があります。
リンクから、メソッドに渡し、その後変数が初期化されることを期待する場合、変数の使用方法を確認できます。
class OutExample
{
static void Method(out int i)
{
i = 44;
}
static void Main()
{
int value;
Method(out value);
// value is now 44
}
}
バーに何かを割り当てます。
Object bar = new Object();
またはnullを割り当てます
Object bar = null;
変数「bar」はインスタンス化されていないため、使用できません。null に設定するだけで、C# で使用できるようになります。C# では、変数を使用する前に強制的に初期化するためにこれを行います。本当に、それは良いプログラミングの練習です。
Object bar = null;
変数を使用する前に、変数を初期化する必要があります。
Object bar = null;
に初期化すると、初期null
化しない場合と同じになりますが、使用可能になります。実際の値/クラス インスタンスが必要な場合は、次を試してください。
Object bar = new Object();
値を割り当てます。
Object bar = new Object();
または
Object bar = null;
値を割り当ててから使用してください。null はオブジェクトに対して機能します。デフォルトはどのタイプでも機能します。
Object bar = default (Object)
最初に、に割り当てる必要がありnull
ますbar
Object bar = null;