Как да сортирам двумерен double масив по специфична колона във възходящ ред?

Здравейте,
Имам двумерен масив double, примерно:

double[,] mainArray =

{

      {1.5, 2.8, 3.1, 1.2}, 

      {5.5, 6.1, 7.8, 8.4}, 

      {3.9, 7.8, 7.5 0.4}, 

};

Искам да го сортирам във възходящ ред по елементите на последната колона, за да получа това:

mainArray =

{

      {3.9, 7.8, 7.5, 0.4}, 

      {1.5, 2.8, 3.1, 1.2}, 

      {5.5, 6.1, 7.8, 8.4},      

};

Пробвах с алгоритъм Selection Sort, но е прекалено бавен. Тъй като масива ми е доста обемист, вече четвърто денонощие съм без резултат.
Благодаря предварително!

EDIT: Това ми се струва в правилната посока, но все още не мога да го реализирам изпълнимо:

var myOrderedArray = mainArray.OrderBy(row => row[3]).ToArray();

UP: СТАНА!

Пренаписах масива в Jagged: double[][] mainArray = new double[i][];

Използвах кода от: https://www.codegrepper.com/code-examples/csharp/c%23+2-dimensional+array+sort

Сортира всичко за...2 минути. С кода за сортиране по алгоритъма Selection Sort чаках четири денонощия без резултат.