【发布时间】:2020-09-22 06:00:49
【问题描述】:
我得到了一个有一些用户输入的任务。我的目标是只允许用户输入一个整数。该程序按我的意愿运行,但这条消息让我很困惑。 那里有什么问题,我该如何解决?
static int Check_input(string input)
{
bool is_valid = Int32.TryParse(input, out int number);
if (is_valid)
{
number = 1;
}
else
{
number = 0;
}
return (number);
}
【问题讨论】:
-
这个方法没有任何意义——如果你想得到用户的输入,你为什么不返回呢?如果您想指示输入是否为有效的 int,为什么不返回
bool? -
@ZoharPeled 是的,我同意。我的 Spidey Senses 告诉我(这可能是错误的),OP 正在使用该值作为下线方法的布尔开关,然后调用
Convert.... 或者代码是只是错了。不管怎样,有些东西看起来很可疑 -
关于您的编辑,是的,您最初确实编写了糟糕的代码,但这是一个很好的问题。恕我直言,您不应该通过编辑来回答您的问题,而是添加一个答案。发布自己问题的答案并不违反规则。
-
您好,您最近的编辑已被回滚,因为它没有遵循问答格式。提交自己问题的答案不仅被允许而且被鼓励。
-
static int Check_input(string input) => Int32.TryParse(input, out int _) ? 1 : 0;