alternately, you could treat the collection as a queue
IList urls = new List();
urls.Add("http://www.google.com");
while (urls.Count > 0)
{
string url = urls[0];
urls.RemoveAt(0);
// Get all links from the url
List newUrls = GetLinks(url);
urls.AddRange(newUrls);
}