C# 用户输入处理教程 - Console.ReadLine()与类型转换详解
全面掌握C#用户输入处理:详解Console.ReadLine()方法、字符串输入、数值类型转换、输入验证和错误处理,包含实用示例和最佳实践
用户输入的重要性用户输入是创建交互式程序的基础。通过处理用户输入,你的程序可以响应用户的需求,实现动态的数据处理和个性化的用户体验。
- 交互性:让程序能够与用户进行实时交互,提升用户体验
- 动态数据:根据用户输入的不同,程序可以处理不同的数据<
- 灵活性:同一个程序可以适应不同的使用场景和需求
- 验证学习:通过输入验证,确保数据的有效性和安全性
实际应用场景
- 注册表单 - 收集用户基本信息
- 游戏设置 - 配置游戏参数
- 计算器 - 输入数值进行计算
- 数据分析 - 输入数据进行统计
- 登录系统 - 验证用户身份
获取用户输入
你已经学会了Console.WriteLine()用于输出(打印)值。现在我们将使用Console.ReadLine()以获取用户输入。
在下面的示例中,用户可以输入他或她的用户名,该用户名存储在变量userName中。然后我们打印用户名userName的值:
实例
// 输入您的用户名并按回车
Console.WriteLine("Enter username:");
// 创建一个字符串变量并从键盘获取用户输入并将其存储在变量中
string userName = Console.ReadLine();
// 打印变量(userName)的值,将显示输入值
Console.WriteLine("Username is: " + userName);
用户输入和数字
这个 Console.ReadLine()方法返回字符串string。因此,无法从其他数据类型(如 int)获取信息。以下程序将导致报错:
实例
Console.WriteLine("Enter your age:");
int age = Console.ReadLine();
Console.WriteLine("Your age is: " + age);
错误信息是这样的:
Cannot implicitly convert type 'string' to 'int'
正如错误消息所说,您不能隐式地将类型'string'转换为'int'。
幸运的是,刚刚从上一章(类型转换)中了解到,可以通过使用
Convert.To方法:
实例
Console.WriteLine("Enter your age:");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Your age is: " + age);
注释: 如果输入错误(例如数字输入中的文本),则会收到异常/错误消息(如System.FormatException: 'Input string was not in a correct format.')。
在后面的章节中,您将了解有关异常和如何处理Exceptions 错误信息。

