C # Reiniciando una aplicación de consola

He creado una pequeña aplicación que hace una pequeña conversión. Al final del progtwig, he creado un método que le permite al usuario hacer otro cálculo si presiona ‘r’. Todo lo que quiero hacer es si presionan r, llévalos al principio de Main, de lo contrario, termina el progtwig. No quiero usar goto. Esto es lo que tengo hasta ahora, y el error que estoy recibiendo.

http://sofes.miximages.com/c%23/ss+(2015-08-09+at+12.48.47).png

Un bucle while sería un buen ajuste, pero como dice que el progtwig debería ejecutarse y luego le da al usuario la opción de volver a ejecutarlo, un bucle aún mejor sería un Do While. La diferencia entre while y Do While es que Do While siempre se ejecutará al menos una vez.

  string inputStr; do { RunProgram(); Console.WriteLine("Run again?"); inputStr = Console.ReadLine(); } while (inputStr == "y"); TerminateProgram(); 

Te recomiendo que uses otra función en lugar de Main (). Por favor, consulte el siguiente código:

  static void Main(string[] args) { doSomething(); } public static void WouldYouLikeToRestart() { Console.WriteLine("Press r to restart"); ConsoleKeyInfo input = Console.ReadKey(); Console.WriteLine(); if (input.KeyChar == 'r') { doSomething(); } } public static void doSomething() { Console.WriteLine("Do Something"); WouldYouLikeToRestart(); } 

En su caso, desea repetir algo, así que, por supuesto, debe usar un bucle while. Use un bucle while para envolver todo su código de esta manera:

 while (true) { //all your code in the main method. } 

Y luego le pide al usuario que ingrese ‘r’ al final del ciclo:

 if (Console.ReadLine () != "r") {//this is just an example, you can use whatever method to get the input break; } 

Si el usuario ingresa r, entonces el bucle continúa haciendo el trabajo. break significa dejar de ejecutar las cosas en el bucle.