2016-11-19 6 views
0

を印刷していない私は、何とか何とか同じ古い話をコーディングに新しいですが、私はこのコードを配置:はなぜintは

{ 
    public static Random Random; 

    public int numberOne = 5; 
    public int numberTwo = 6; 


    public void Run() 
    { 
     numberOne = Random.Next(0,11); 
     numberTwo = Random.Next(0,6); 

     Console.WriteLine(numberOne +" + "+ numberTwo); 
     Console.ReadKey(true); 
    } 

numberOnenumberTwo両方の公共int年代です。なぜこの作品はありませんか?

その

というエラーで戻ってくる「System.NullReferenceException:オブジェクト参照オブジェクトの インスタンスに設定されていません」

これは何を意味しますか?

+0

をフィールドを初期化する 'Random'が定義されていますか? 'ランダム'クラスがありますが、静的ではありません。そのプロパティを初期化するのを忘れましたか?ぐふ明確 –

+0

私の悪いうん、おかげで私のあなたが正しい、それは今感謝:)私は – deviousPriest

答えて

1

のは私水晶玉を使用してみましょう:問題のコードで - numberOneのでnumberTwointある - 主な可能性が

System.NullReferenceException持っている:オブジェクト参照がインスタンス のに設定されていません

// just a declaration without initialization 
public static Random Random; // <- the instance doesn't created 

... 

{ 
// Addressing Random which is null cause NullReferenceException 
numberOne = Random.Next(0,11); 
numberTwo = Random.Next(0,6); 

Console.WriteLine(numberOne +" + "+ numberTwo); 
Console.ReadKey(true); 
} 
0123:オブジェクト

は、このようなフラグメントであります

対策:作成Randomインスタンスで

// Now Random is initialized 
private static Random Random = new Random(); 
+0

ため – deviousPriest

+0

が@deviousPriest書いたものを読んで欠場作品悪い:あなただけ* *と宣言しましたが、* * 'Random'初期化されていませんフィールドに任意の「ランダム」インリスンスを付けます。 –

関連する問題