title: C# GroupBy: Will the GroupBy clause keep the original order of the list
body: <p>Please look at the following code snippet, and the question is presented in the inner foreach loop, which is to ask will the final grouped result keep the original orderby result?</p>
  
  <pre><code>//List&lt;Foo&gt; aFooList = ...
  aFooList = aFooList.OrderBy(x=&gt;x.A).toList(); //order the list by property A
  var groupedResult = aFooList.GroupBy(x=&gt;x.B)  //group the list by property B
                              .OrderBy(x=&gt;x.Count(y=&gt;y!=null)) //Order the group by the group size.
                              .ToList();
  foreach(var group in groupedResult)
  {
      Debug.WriteLine(group.key);
      foreach(var foo in group)
      {
           //QUESTION: will the foo list here keep the original order which is ordered by property A???
      }
  }
  </code></pre>