C#程序开发金字塔,使用for循环

我可能错过了一些东西,但我找不到解决这个简单问题的方法..

我想写一个要求正整数的短代码,然后使用FOR语句f.ex打印出金字塔

Height: 0 Height: 4 * *** ***** ******* 

这是代码本身

 using System; namespace starpyramid { class program { static void Main() { Veryfy: Console.Write("Height: "); int i = int.Parse(Console.ReadLine()); if(i>0) { goto main; } else { goto Verify; } main: for (int h = 1; h< luku1;h++) // main loop for the lines { for (int s = 1; s < luku1; s++) //for spaces before the stars { if (s == h) { break; } Console.Write(" "); } Console.Write("*\n"); } } } } 

也许有人可以帮我解决这个问题

它的工作完美,

 using System; namespace starpyramid { class program { static void Main() { Console.Write("Height: "); int i = int.Parse(Console.ReadLine()); if(i>0) { goto main; } else { Main(); } main: Console.Write("\n"); for (int h = 1; h<= i;h++) // main loop for the lines { for (int s = h; s <= i; s++) //for spaces before the stars { Console.Write(" "); } for(int j=1; j<(h*2); j=j+2) { Console.Write("*"); } Console.Write("\n"); } } } } 

但没有goto程序也可以看到,

 using System; namespace starpyramid { class program { static void Main() { Console.Write("Height: "); int i = int.Parse(Console.ReadLine()); Console.Write("\n"); for (int h = 1; h<= i;h++) // main loop for the lines { for (int s = h; s <= i; s++) //for spaces before the stars { Console.Write(" "); } for(int j=1; j<(h*2); j=j+2) { Console.Write("*"); } Console.Write("\n"); } } } }