Cambiar por 0 los bordes de una matriz c#

Esta función debe cargar con “ceros” (0) la primera y la última fila, y la primera y la última columna de una matriz rectangular de cualquier tamaño.

Recibe como parámetro la dirección de una matriz rectangular de ​long. Hacer uso de la función en el main.

Solo pude cambiar por Ceros la primer fila y la primer columna. Y parte de la ultima fila.

Alguna Sugerencia?

Muchisimas gracias

    static void LimpiaBordes(long[,] matriz)     {         long Cero = 0;          for (byte i = 0; i < matriz.GetLength(0); i++)         {              matriz[i, 0] = Cero;           }         for (byte j = 0; j < matriz.GetLength(1); j++)         {             matriz[0, j] = Cero;         }         for(byte q = 1; q < matriz.GetLength(0); q++)         {             matriz[2, q] = Cero;         }       }       static void Impresion(long[,] m)     {         for (byte i = 0; i < m.GetLength(0); i++)         {             for (byte j = 0; j < m.GetLength(1); j++)             {                 Console.Write("{0}\t", m[i, j]);              }             Console.WriteLine();         }       }     //Primer Ejercicio     static void Main(string[] args)     {         //Primer Ejercicio         long[,] mat = { { 1, 2, 3, 4, 5},                         { 6, 7, 8, 9, 10},                         { 11, 12, 13, 14, 15} };          LimpiaBordes(mat);          Impresion(mat);