我很困惑,为什么这段代码会抛出异常?

问题描述:

Process [] proc = new Process[10]; 

Proc[1].StartInfo.FileName = @“C:\duck”; 

我只是想了解为什么这个代码抛出异常。感谢我很困惑,为什么这段代码会抛出异常?

以下语句:

Process[] proc = new Process[10]; 

创建可容纳10个引用Process类型的对象和存储该数组称为proc变量的参考阵列。这时所有的参考都是空的。所以,当你访问其中的任何没有设置FileName财产是StartInfo财产的任何点。

作为一个侧面说明,总是试图给你的变量有意义的名字,支付的路线,你的代码更易读。你创建一个数组,它将引用Process对象,为什么不把它叫做processes

Process[] processes = new Process[10]; 
+0

是的,只是看到第一行代码,我可以推断出异常是什么。 NullReferenceException *刘海头* – Chad