¿Cómo puedo transponer una matriz multidimensional?

Creo que esta podría ser una pregunta bastante simple, pero todavía no he podido resolverlo. Si tengo una matriz bidimensional así:

int[,] matris = new int[5, 8] { 
       { 1, 2, 3, 4, 5,6,7,8 }, 
       {9,10,11,12,13,14,15,16},
       { 17,18,19,20,21,22,23,24 },
       { 25,26,27,28,29,30,31,32 },
       { 33,34,35,36,37,38,39,40 },

        };

y un bucle for, como este:

  for (int r = 0; r < 5; r++)
        {

            for (int j = 0; j < 8; j++)
                Console.Write("{0} ", matris[r, j]);

            Console.WriteLine();
        }

Así que con este código estoy imprimiendo la matriz multidimensional. Pero, ¿cómo puedo imprimir una transposición de la matriz?

Respuestas a la pregunta(2)

Su respuesta a la pregunta