title: Recursive function in C#
body: <p>I have a object, let's call it "Friend".
  This object has method "GetFriendsOfFriend", that returns a <code>List&lt;Friend&gt;</code>.</p>
  
  <p>Given a user input of say 5, all of the Friends friends and the friends friends friends (you get the point) down in a level of 5 (this can be up to 20).</p>
  
  <p>This may be a lot of calculations, so I don't know if recursion is the best solution.</p>
  
  <p>Does anyone have a smart idea of 
  1. How to do this recursive function best?
  2. How to do it without recursion.</p>
  
  <p>Thanks!</p>