我很困惑,为什么这段代码会抛出异常?
问题描述:
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];
是的,只是看到第一行代码,我可以推断出异常是什么。 NullReferenceException *刘海头* – Chad