int.Parse
文字列の解析に失敗した場合に例外をスローするように設定されています。次の 2 つの選択肢があります。
1) Try/Catch を使用して例外を処理する
try {
int money = int.Parse(Console.ReadLine());
moneys.Add(money);
} catch {
//Did not parse, do something
}
このオプションにより、さまざまな種類のエラーをより柔軟に処理できます。catch ブロックを拡張して、入力文字列で考えられる 3 つの間違いを分割し、別のデフォルトの catch ブロックを拡張して他のエラーを処理することができます。
} catch (ArgumentNullException e) {
//The Console.ReadLine() returned Null
} catch (FormatException e) {
//The input did not match a valid number format
} catch (OverflowException e) {
//The input exceded the maximum value of a Int
} catch (Exception e) {
//Other unexpected exception (Mostlikely unrelated to the parsing itself)
}
2)文字列が解析されたかどうかに応じてint.TryParse
which を返し、結果を 2 番目のパラメーター (キーワードを使用)で指定された変数に送信するを使用します。true
false
out
int money;
if(int.TryParse(Console.ReadLine(), out money))
moneys.Add(money);
else
//Did not parse, do something