title: IEnumerable Query with ContinueWith: Order of completion guarantee?
body: <p>I have an input array that I need to produce an output that is in the same order. If I run</p>
  <pre><code>source.Select((item, index) =&gt;
    remoteDb.Where(condition).FirstOrDefaultAsync()
      .ContinueWith(result -&gt; /* Manipulate and save to outArray */));
  </code></pre>
  <p>Do I have any guarantee that <code>ContinueWith()</code> will execute in the same order as the source array? Basically, can I save with <code>outArray.append(result)</code>, or will I need to use <code>outArray[index] = result</code> to save it in the appropriate order?</p>