title: Is it possible to turn an IEnumerable into an IOrderedEnumerable without using OrderBy?
body: <p>Say there is an extension method to order an IQueryable based on several types of Sorting (i.e. sorting by various properties) designated by a <code>SortMethod</code> enum. </p>
  
  <pre><code>public static IOrderedEnumerable&lt;AClass&gt; OrderByX(this IQueryable&lt;AClass&gt; values,
      SortMethod? sortMethod)
  { 
      IOrderedEnumerable&lt;AClass&gt; queryRes = null;
      switch (sortMethod)
      {
          case SortMethod.Method1:
              queryRes = values.OrderBy(a =&gt; a.Property1);
              break;
          case SortMethod.Method2:
              queryRes = values.OrderBy(a =&gt; a.Property2);
              break;
          case null:
              queryRes = values.OrderBy(a =&gt; a.DefaultProperty);
              break;
          default:
              queryRes = values.OrderBy(a =&gt; a.DefaultProperty);
              break;
      }
      return queryRes;
  }
  </code></pre>
  
  <p>In the case where <code>sortMethod</code> is <code>null</code> (i.e. where it is specified that I don't care about the order of the values), is there a way to instead of ordering by some default property, to instead just pass the <code>IEnumerator</code> values through as "ordered" without having to perform the actual sort?</p>
  
  <p>I would like the ability to call this extension, and then possibly perform some additional <code>ThenBy</code> orderings.</p>