Мне кажется, что у вас есть «внешний» список «внутренних» списков, и вы хотите отсортировать «внешний» список. Вы можете сделать это:
// Set up some input data
var outerList = new List<List<double>>();
outerList.Add(new List<double> { 2.0, 3.0, 3.0 });
outerList.Add(new List<double> { 1.0, 2.0, 3.0 });
outerList.Add(new List<double> { 2.0, 2.0, 3.0 });
// Sort the outer list
outerList.Sort((first, second) => isGreater(first, second) ? 1 : -1);
На самом деле, вам, вероятно, лучше изменить isGreater (который не может вернуть результат "оба списка равны", что может привести к путанице) в функцию CompareLists, которая возвращает -1, если первый аргумент меньше второго , 1, если первый аргумент больше, чем второй, и 0, если они равны. Тогда вы можете просто позвонить:
outerList.Sort(CompareLists);