you can use linq to sort it, its OrderBy will do the job for you, by default it does ascending:
using System.Linq;
IList<Foo> list = new List<Foo>();
IEnumerable<Foo> sortedEnum = list.OrderBy(f=>f.Bar);
IList<Foo> sortedList = sortedEnum.ToList();
for Descending:
IEnumerable<Foo> sortedEnum = list.OrderByDescending(f=>f.Bar);
IList<Foo> sortedList = sortedEnum.ToList();