c# - 如何要求用户只输入整数?
问题描述
我想要求用户输入一个数字,包括一个 if 语句选项,如果他输入字母,最后一个问题将再次被问到我试过这个但似乎它只适用于字符串
Console.Write("Write a number:");
int num = Convert.ToInt32(Console.ReadLine());
if (!int.TryParse(age, out num))
while(!int.TryParse(age, out num))
{
Console.WriteLine(...);
// ....
}
解决方案
让我们为此提取方法:我们将要求用户输入有效值,直到他或她提供它。所以我们有一个循环:
private static int ReadInteger(string question) {
// Keep asking...
while (true) {
if (!string.IsNullOrWhiteSpace(question))
Console.WriteLine(question);
// ... until valid value provided
if (int.TryParse(Console.ReadLine(), out int result))
return result;
Console.WriteLine($"Sorry, not a valid integer value; please, try again.");
}
}
然后您可以将其用作
int age = ReadInteger("Please, input age");
推荐阅读
- ios - 在特定时区安排 UILocalNotification
- reactjs - 酶/玩笑:组件(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null
- python - Django站点中的视频文件如何观看电影
- sql - 我正在尝试计算有多少传输时间超过 30 分钟,并且此错误不断出现
- python - mandelbrot 集在 2^47 左右变焦时变得模糊
- python - 无法从字符串中获取子字符串。需要帮助
- javascript - 避免在客户端缓存浏览器
- iis - java - 如何为java创建的windows服务器上的所有新子目录设置权限?
- reactjs - 反应包装器以返回孩子
零件 - python - TypeError: unhashable type: 'dict' Python/Flask