title: How can I sort a List<T> by multiple T.attributes?
body: <p>Let's say I have a List of Songs.</p>
  
  <pre><code>Song {
      public string Name = "";
      public int PlayOrder = 0;
      }
  </code></pre>
  
  <p>Now I want to sort them first by PlayOrder starting at zero and second by Name alphabetically.</p>
  
  <p>So an example set of sorted results would be (Name, PlayOrder):</p>
  
  <pre><code>/*
      Pachelbel's Canon, 0
      A Happy Song, 4
      Beethoven's 5th, 4
      Some Other Song, 7
  */
  </code></pre>
  
  <p>See how the PlayOrder = 4 ones are in order alphabetically? That's what I'm going for.</p>
  
  <p>Right now I have it only sorting by one field:</p>
  
  <pre><code>List&lt;Song&gt; final = new List&lt;Song&gt;();
  
  ...
  
  final.Sort((x, y) =&gt; x.PlayOrder.CompareTo(y.PlayOrder));
  
  return final;
  </code></pre>
  
  <p>How can I also sort by Name as demonstrated above?</p>