希望用c#语言表达出来,稍微简单点儿的就行

编程打印图形。如:输入行数N=6时,图形如下:

             1 2 3 4 5 6 5 4 3 2 1 
               1 2 3 4 5 4 3 2 1 
                 1 2 3 4 3 2 1 
                   1 2 3 2 1 
                     1 2 1 
                       1
 printN(6);
            void printN(int n)
            {
                int m_index = 2 * n-1 ;
                for (int i = n; i > 0; i--)
                {
                    char[] template =Enumerable.Repeat(' ',2*m_index-1).ToArray() ;
                    for (int j = i,m=0;j>0;j--,m++)
                    {
                        template[(m_index - 1) - m*2] = Convert.ToChar(j.ToString());
                        template[(m_index - 1) + m*2] = Convert.ToChar(j.ToString());
                    }
                    Console.WriteLine(new string(template));
                }
            }
int n=int.Parse(Console.ReadLine());
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
Console.Write("  ");
}
for(int j=1;j<=n;j++)
{
Console.Write(j+" ");
}
for(int j=n-1;j>0;j--)
{
Console.Write(j+" ");
}
}