title: Recursive Algorithm C#
body: <p>I need some help with an algorithm using C#.
  I have a list of objects, with items multiples of 4, and I should return only the two best items.
  Each item has a value and a description. I must also make comparisons to every two elements. And I would like to call this method recursively until I have only 2 elements.</p>
  
  <p>Example:</p>
  
  <pre><code>CardList.Add(new Card("Name A", 150));
  CardList.Add(new Card("Name B", 100));
  CardList.Add(new Card("Name C", 50));
  CardList.Add(new Card("Name D", 556));
  CardList.Add(new Card("Name E", 170));
  CardList.Add(new Card("Name F", 160));
  CardList.Add(new Card("Name G", 30));
  CardList.Add(new Card("Name H", 650));
  
  
  public Lis&lt;Card&gt; BestCards(Lis&lt;Card&gt; list){
      List&lt;Card&gt; listResult = new List&lt;Card&gt;(); 
      for(int i=1; i&lt;=list.lenght; i+2)
      {
          if(list[i].value&gt; list[i+1].value)
              listResult.Add(list[i])
          else if (list[i].value&lt; list[i+1].value)
              listResult.Add(list[i+1])
          else if (list[i].value==list[i+1].value)    
          {
              // first element according to alphabetical order of the description
              listResult.Add(???)
          }   
      return listResult;
  }
  </code></pre>
  
  <p>Any suggestion?</p>