I\'m trying to figure out which of these interfaces I need to implement. They both essentially do the same thing. When would I use one over the other?
Use IComparable when the class has an intrinsic comparison.
IComparable
Use IComparer when you want a comparison method other than the class' intrinsic comparison, if it has one.
IComparer