title: Ranking items in a list with LINQ
body: <p>I am trying to figure out a way to rank items in a list, and hold the results in an object or another list.  I know about the orderby method, but I don't exactly know how to go about creating a corresponding rank number for each item. </p>
  
  <p>For example:</p>
  
  <pre><code>List&lt;int&gt; numbers = new List&lt;int&gt;();
  
  numbers.Add(650);
  numbers.Add(150);
  numbers.Add(500);
  numbers.Add(200);
  </code></pre>
  
  <p>and then store the results  from either low to high or high to low here:</p>
  
  <pre><code>public class NumberRank
  {
      public int Number {get; set;}
      public int Rank {get; set;}
  
      public NumberRank(int number)
      {
          Number = number;
          Rank = ????????;
      }
  }
  </code></pre>
  
  <p>Any solutions through LINQ?</p>