It would be easier if you could access them with an index, and although there is an extension ElementAt <>, it is probably faster to use .ToList ().
When you have an address list:
for (int i = 0; i < list.Count-1; i++)
for (int j = i+1; j < list.Count; j++)
Foo(list[i], list[j]);