public static void Sort <T>(List <T> array, ComparableDelegate <T> compare) { for (int i = 0; i < array.Count; i++) { for (int j = i + 1; j < array.Count; j++) { T a = array[i]; T b = array[j]; if (compare(a, b) > 0) { array[i] = b; array[j] = a; } } } }
public static void Sort <T>(this T[] array, ComparableDelegate <T> compare) { for (int i = 0; i < array.Length; i++) { for (int j = i + 1; j < array.Length; j++) { T a = array[i]; T b = array[j]; if (compare(a, b) > 0) { array[i] = b; array[j] = a; } } } }