title: Group elements in a List that share a common characteristic
body: <p>I  would like to order elements of a certain class by  a certain crtieria. </p>
  
  <p>For example if I have this class :</p>
  
  <pre><code>public class Contact {
  
  public string FirstName  { get; set; }
  public string LastName{ get; set; }
  
  
  }
  </code></pre>
  
  <p>and a list of this class :</p>
  
  <pre><code>        List&lt;Contact&gt; ContactList = new List&lt;Contact&gt;
          {
  
              new Contact{
  
               FirstName  = "John" ,
               LastName =  "Smith"
              }   ,
  
  
              new Contact{
               FirstName = "Andrew" , 
                  LastName = "Wallace"
  
              }   ,
              new Contact{
               FirstName = "Andrew" , 
                  LastName = "Smith"
  
              }   ,   new Contact{
  
               FirstName  = "John" ,
               LastName =  "Wallace"
              }   ,
  
  
  
  
  
  
          };
  </code></pre>
  
  <p>How can i Use Linq to order my <code>ContactList</code>  so that then it creates two lists one with Contacts whose firstname is John and the Other whose firstname is Andrew ?</p>
  
  <p>This List is small but what if I have a huge list and i dont know what is inside the list and how can I order it with respect to the <code>FirstName</code>  characteristic ?</p>