1

無効なキー入力からプログラムをクラッシュさせることなく、ユーザー入力を他の場所で整数として使用できるように割り当てる方法について、明確な答えが見つかりません。私が知っている唯一の方法であるため、入力を整数に設定することが良い考えかどうかもわかりません。コードは次のとおりです。

int atkchoice = Convert.ToInt32 (Console.ReadLine());

入力を整数として使用する方法は次のとおりです。

if (atkchoice == 1)
                {
4

3 に答える 3

0

これを参照してください(stackoverflowの別の同様の質問へのリンク) C# char to int . 私はそれがあなたのクエリのほとんどに答えると思います..(上記のコメントについて-「これは完全に機能しますが、ユーザーが他の数字の文字入力に同じように応答するように設定できるかどうか興味があります。 1 2 と 3 を使用します。どの方法が最適ですか?")

于 2015-08-02T04:36:03.177 に答える
0

確認する値が複数ある場合は、それらを に追加して、Listこのリストに値が含まれていることを確認できます (メソッドを使用Contains)。while入力が有効になるまでループできます。

その後、期待値はすべて数値であるため、入力をintwithに安全に変換できますConvert.ToInt32

public static void Main(string[] args)
{
    IEnumerable<string> allowedInputs = new[] {"1", "2", "3"};

    string userInput = "";
    while (!allowedInputs.Contains(userInput))
    {
        Console.WriteLine("Enter 1, 2 or 3");
        userInput = Console.ReadLine();
    }
    int atkChoice = Convert.ToInt32(userInput);

    //Do your if conditions
}
于 2015-08-02T04:39:43.970 に答える