title: New string list shuffles order of list elements on initialization in LINQ
body: <p>After running into some frustrations with my ASP.NET 5 API project I decided to rebuild it as an older WebApi 2 project.  I'm trying to generate a list of collections of 2 strings (originally a list of a 2 element string array, now a list of list of strings) from a LINQ query.</p>
  
  <p>Here is the pseudocode that worked as I wanted it to in the ASP.NET 5 project:</p>
  
  <pre><code>var testList = db.MyTable.Where(x =&gt; [WHERE Clauses]).Select(x =&gt; new string[] { x.Number.Trim(), x.Name.Trim() }).ToList();
  </code></pre>
  
  <p>The new project choked on the query citing it didn't like using string arrays for whatever reason (I'm assuming difference in EF 6 vs 7?).  As a fix I instead had the query return a list of string lists but it mixes up the order of the "Number" and "Name" fields it returns, sometimes the Number is the first element and other times the Name is.  Here is some new query code attempts I tried that all ended up with the jumbled element order:</p>
  
  <pre><code>var testList = db.MyTable.Where(x =&gt; [WHERE Clauses]).Select(x =&gt; new List&lt;string&gt; { x.Number.Trim(), x.Name.Trim() }).ToList();
  var testList = db.MyTable.Where(x =&gt; [WHERE Clauses]).Select(x =&gt; (new string[2] { x.Number.Trim(), x.Name.Trim() }).ToList()).ToList();
  var testList = db.MyTable.Where(x =&gt; [WHERE Clauses]).Select(x =&gt; new List&lt;string&gt;(new string[] { x.Number.Trim(), x.Name.Trim() })).ToList();
  </code></pre>
  
  <p>I realize there are a ton of different ways to get the end result I'm looking for but I'm hoping someone can help me understand why these list elements would be placed in the list in differing orders (sometimes Name then Number other times Number then Name), even when I generate a list based on a newly created array which preserved the order perfectly previously.</p>