Why doesn calling Initialize() on a reference-type array fill the array with objects?
The System.Array class instance method Initialize() exists solely to initialize value type arrays to their default values and is not valid on reference type arrays. (In fact it is not even intended for C# value type structs, as these structs can have no default constructor for Initialize to call. CLR value types are allowed to have parameterless constructors, but there’s no way of creating such a type in C#.