2016-06-19 5 views
0

私はC#の学習を始めました。コンソールアプリケーションで基本的なコーディングを練習しています。プログラムを作成しようとしています無限ループと方法を使用して2つの整数を加算します。しかし、私はエスケープを押してループを終了することができますが、問題は、ループが初めて完了した後でエスケープする以外のキーを押すとプログラムがクラッシュすることです。 「入力文字列が正しい形式ではありません」と表示されます。どんな提案も大歓迎です!C#コンソールアプリケーションでEscapeを押してユーザー入力を受け取る無限ループを終了する方法

ありがとうございます!

namespace ConsoleApplication2 
{ 
class Program 
{ 
    static void Addxy(int x, int y) 
    { 
     Console.WriteLine(x+y); 
    } 
    static void Main(string[] args) 
    { 
     while(true) 
      { 
      Addxy(Convert.ToInt32(Console.ReadLine()), Convert.ToInt32(Console.ReadLine())); 

      ConsoleKeyInfo end; 
      end = Console.ReadKey(); 

      if (end.Key == ConsoleKey.Escape) 
       break; 
      else 
      { 

      } 



      } 

     } 

    } 
} 
+0

stringの内容を表示するのにdebugerを使用しましたか?理由がわかります...(文字列が空の場合はその長さをチェックします) –

答えて

0

あなたはConsole.ReadKey()前2 Console.ReadLine()を持っています。したがって、最初の2つの入力は、プログラムを終了するためにEscapeキーの後に数字でなければなりません。最初の2つの数字の後にEnterを押すことを忘れないでください。

関連する問題