3.1.5.1.7 Mapping Array Instances
An Array with more than one dimension or with a dimension whose first index is not 0 MUST be serialized by using the BinaryArray record.
A single-dimensional Array of string whose lower bound is 0 SHOULD be serialized by using the ArraySingleString record. The Array MAY be serialized by using the BinaryArray record.
A single-dimensional Array of primitive whose lower bound is 0 SHOULD be serialized by using the ArraySinglePrimitive record. It MAY be serialized by using the BinaryArray record.
A single-dimensional Array of System.Object whose lower bound is 0 MAY be serialized as an ArraySingleObject record. The Array MAY be serialized by using the BinaryArray record.<37>
The values of the Array items MUST be serialized following the BinaryArray, ArraySingleString, ArraySinglePrimitive or ArraySingleObject record. The record types that MUST be used for various types of Array item values are given in the table in the Mapping Class Instances section.