title: XMLSerializer Deserialization - array element order
body: <p>We are using XMLSerializer.Deserialize(XMLReader) on .Net 4.5 to deserialize XML into an Object Graph generated by xsd.exe.</p>
  
  <p>I would like to know what the expected deserialization behavior is for an array which is annotated with the XMLElementAttribute - specifically with regard to ordering.  For example:</p>
  
  <p>For the following property:</p>
  
  <pre><code>[System.Xml.Serialization.XmlElementAttribute("GivenName")]
    public string[] GivenName {
   // get() and set() methods
  }
  </code></pre>
  
  <p>And the following XML:</p>
  
  <pre><code>&lt;root&gt;
    &lt;GivenName&gt;One&lt;/GivenName&gt;
    &lt;GivenName&gt;Two&lt;/GivenName&gt;
    &lt;GivenName&gt;Three&lt;/GivenName&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>Will this always deserialize as ['One', 'Two', 'Three'] </p>
  
  <p>So that the array order always matches the XML order</p>
  
  <p>Also is there any documentation I can reference that clearly states this.</p>
  
  <p>Thanks</p>
  
  <p>Rob</p>