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 返回true
或false
取决于字符串是否被解析,并将结果发送到第二个参数中指定的变量(使用out
关键字)
int money;
if(int.TryParse(Console.ReadLine(), out money))
moneys.Add(money);
else
//Did not parse, do something