2016-11-19 114 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'定义?有一个Random类,但它不是静态的。你忘了初始化该属性? –

+0

是的,我的坏,谢谢你的澄清 – deviousPriest

回答

1

让我们用我的水晶球:在问题的代码 - 因为numberOnenumberTwoint - 主要的可能性有

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); 
} 

补救措施:在创建Random实例初始化场

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

唉,我的坏你是对的,它现在的作品谢谢:)我想念我写了什么 – deviousPriest

+0

@deviousPriest:你只是*声明*,但没有*初始化*'随机'字段与任何'随机'inistance。 –