title: C# Unity3D Error: List<int>.ToArray() problem
body: <p>I'm building a complex mesh via C# scripting in Unity3D. Following my generation codes, I pass my triangle data to <code>UnityEngine.Mesh.triangles</code>. My triangle data is stored in a variable typed as <code>List&lt;int&gt;</code>. And the type of <code>UnityEngine.Mesh.triangles</code> is <code>int[]</code>. So I used <code>List&lt;int&gt;.ToArray()</code> method to convert it. But after conversion, some items in the <code>UnityEngine.Mesh.triangles</code>(<code>int[]</code>) are not identical to my triangle data(<code>List&lt;int&gt;</code>). To be more specific, I found that <code>List&lt;int&gt;</code> typed variables could store numbers greater than 65535, but int[] can not do that.</p>
  <p>codes:</p>
  <pre><code>List&lt;int&gt; ts = new List&lt;int&gt;();
  //generation codes
  mesh.triangles = ts.ToArray();
  </code></pre>
  <p>And I use this code to test it in Unity:</p>
  <pre><code>for (int i = 0; i &lt; mesh.triangles.Length; i++)
              if (mesh.triangles[i] != ts[i]) Debug.Log(mesh.triangles[i].ToString() + &quot; ≠ &quot; + ts[i].ToString()); 
  </code></pre>
  <p>then I get logs such as 0≠65536, indicating that there is a overflow.</p>