C# - 为什么需要实例化每个数组元素?

nzp*_*mad 4 c# arrays

我经常使用这种类型的结构.

response = new LocationResponse ();
response.LocationDetails = new LocationDetail[4];
response.LocationDetails[0] = new LocationDetail();
response.LocationDetails[0].site = "ABCDE";
...
Run Code Online (Sandbox Code Playgroud)

我不完全理解的这篇文章是这篇文章:

response.LocationDetails [0] = new LocationDetail();

为什么必须实例化数组的每个元素?

如果你把它遗漏,你会得到未定义的异常.

kem*_*002 13

好吧,如果一个数组元素被自动实例化,你将被锁定到你定义数组的类.您将无法使用抽象类或接口的数组或任何没有默认构造函数的对象.这只是在自动实例化数组中的对象时命名一些问题.