@tennoseremel а по поводу циклов. У меня изначальный план был не писать сортировку ручками, а припахать Linq. Так тут мало того что итерации нормальной нет, многомерные массивы в Linq в принципе не умеют!
Пришлось делать вложенный, который неудобен в других местах, но для которого есть встроенные средства сортировки