The top two in my mind have to be ones with language support:
IEnumerable
(and IEnumerable
): for
use with foreach
and LINQ
IDisposable
: for resources requiring
cleanup, used with using
Beyond that...
IComparable
and IComparer
: for generalized sorting
IEquatable
and IEqualityComparer
: for generalized equality
IList
and ICollection
: for mutable collections
IDictionary
: for lookup collections