2016-11-16 4 views
0

私は現在、スイッチを使って部屋のシステムを操作しようとしています。今私がこれをやりたいのは、常に同じ値に出力される1つの文字列を参照することです。例:参考1つのオープンレスポンス文字列

int roomIs = 0; 

Console.WriteLine("Hello World. Type /Help for help or /Play to play!"); 
roomIs = 1; 
string Enter = Console.ReadLine(); 

switch (Enter) 
{ 
    case ("/Help"): 
    Console.Clear(); 
    Console.WriteLine("Welcome to the help room, type /Return to return to your last room!"); 
    break; 

    case ("/Return"): 
    if (roomIs == 1){ 
    Console.Clear(); 
    Console.WriteLine("Hello World. Type /Help for help or /Play to play!") 
    } 
    break; 
} 

文字列Enterを同じ名前で複数回参照するにはどうすればよいですか?だから私は、新しいオプションを追加するたびに新しい文字列を作成するのではなく、入力したものを簡単にテストできます。 (コードでは、/Returnコマンドを実行しているときにEnterをもう一度入力すると、ヘルプが必要です)

私はStringBuilder関数を調べてみましたが、適用できないようですこれに。

+0

新しい入力に 'Enter'を再利用したい場合は' Enter = Console.ReadLine(); 'と言うだけです。つまり、' string'を前面から離しておいてください。 – Blorgbeard

+0

しかし、このコードの周りにある種のループが必要なように見えます。この場合、最初の 'ReadLine'は単にその内部にある可能性があり、' case'ごとに繰り返す必要はありません。 – Blorgbeard

答えて

0

私はyour'reが望ん推測:

 int roomIs = 0; 

     Console.WriteLine("Hello World. Type /Help for help or /Play to play!"); 
     roomIs = 1; 
     var Enter = default(string); 
     do 
     { 
      Enter = Console.ReadLine(); 

      switch (Enter) 
      { 
       case ("/Help"): 
        Console.Clear(); 
        Console.WriteLine("Welcome to the help room, type /Return to return to your last room!"); 
        break; 

       case ("/Return"): 
        if (roomIs == 1) 
        { 
         Console.Clear(); 
         Console.WriteLine("Hello World. Type /Help for help or /Play to play!"); 
        } 
        break; 
      } 
     } 
     while (!string.IsNullOrEmpty(Enter)); 

は正しいでしょうか?

関連する問題