title: Marshal an array of floats to an array of structs without copying?
body: <p>Suppose I have the following code</p>
  
  <pre><code>public static class Main
  {
      public struct Vec3
      {
          public float x, y, z;
      }
  
      public void Entry()
      {
          float[9] floats = new floats[9] { 1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f };
          Vec3[3] vecs;
      }
  }
  </code></pre>
  
  <p>I want to convert the float[] to a Vec3[].</p>
  
  <p>Is there a way to do this with Marshaling such that the copying required would be faster than iterating over the float[] and copying each float to the Vec3[]? Assume float[] is very large.</p>