-2

これを行う理由:

Object bar;
Foo(bar);

C#で私は

Use of unassigned local variable 'bar'

エラー?

どうすれば修正できますか?

4

7 に答える 7

2

エラーメッセージが示すように、変数を使用する前に変数に値を代入するのはどうですか。

変数をメソッドに渡す場合は、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
    }
}
于 2012-11-01T04:27:32.603 に答える
1

バーに何かを割り当てます。

Object bar = new Object();

またはnullを割り当てます

Object bar = null;
于 2012-11-01T04:26:58.923 に答える
1

変数「bar」はインスタンス化されていないため、使用できません。null に設定するだけで、C# で使用できるようになります。C# では、変数を使用する前に強制的に初期化するためにこれを行います。本当に、それは良いプログラミングの練習です。

Object bar = null;
于 2012-11-01T04:29:02.977 に答える
0

変数を使用する前に、変数を初期化する必要があります。

Object bar = null;

に初期化すると、初期null化しない場合と同じになりますが、使用可能になります。実際の値/クラス インスタンスが必要な場合は、次を試してください。

Object bar = new Object();
于 2012-11-01T04:27:05.097 に答える
0

値を割り当てます。

Object bar = new Object();

または

Object bar = null;
于 2012-11-01T04:27:45.747 に答える
0

値を割り当ててから使用してください。null はオブジェクトに対して機能します。デフォルトはどのタイプでも機能します。

Object bar = default (Object)
于 2012-11-01T04:28:42.897 に答える
0

最初に、に割り当てる必要がありnullますbar

Object bar = null;
于 2012-11-01T05:20:40.187 に答える