using System; using System.Collections.Generic; class C{ public static void Main(){ List listOriginal = new List{5, 3, 2, 7, -4, 0}, list; // Sorting by means of the default comparer of int: list = new List(listOriginal); ReportList(list); list.Sort(); ReportList(list); Console.WriteLine(); // Equivalent - explicit notatation of the Comparer: list = new List(listOriginal); ReportList(list); list.Sort(Comparer.Default); ReportList(list); Console.WriteLine(); // Equivalent - explicit instantiation of an IntComparer: list = new List(listOriginal); ReportList(list); list.Sort(new IntComparer()); ReportList(list); Console.WriteLine(); // Similar - use of a delegate value for comparison: list = new List(listOriginal); ReportList(list); list.Sort(delegate(int x, int y){ if (x < y) return -1; else if (x == y) return 0; else return 1;}); ReportList(list); Console.WriteLine(); } public static void ReportList(List list){ foreach(T el in list) Console.Write("{0, 3}", el); Console.WriteLine(); } } public class IntComparer: Comparer{ public override int Compare(int x, int y){ if (x < y) return -1; else if (x == y) return 0; else return 1; } }