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 错误信息。


C# 实验

学习训练

练习题:

填写代码缺失部分,获取用户输入并存储在变量 userName 中:

Console.WriteLine("Enter username:");
 userName = Console.;
Console.WriteLine("Username is: " + userName);

开始练习