Console.ReadLine()用法功能
Console.ReadLine()
是 C# 中最常用、最基础的控制台输入方法,它的作用是:读取用户从键盘输入的一行文本,直到按下回车键为止。
✅ 一、基本语法
string input = Console.ReadLine();
- 它会暂停程序运行,等待用户输入。
- 用户输入内容后,按 Enter(回车)键,程序继续。
- 它返回一个
string
类型的值,就是用户输入的内容(不包含末尾的回车换行符\r\n
)。
✅ 二、简单例子
Console.Write("请输入你的名字: ");
string name = Console.ReadLine();Console.WriteLine("你好," + name + "!");
运行效果:
请输入你的名字: 小明
你好,小明!
✅ 三、核心特点
特点 | 说明 |
---|---|
🟢 返回字符串 | 永远返回 string 类型,即使你输入的是数字(如 123 ),它也是字符串 "123" 。 |
🟢 自动去掉回车符 | 输入时按的 Enter 键会产生 \r\n ,但 ReadLine() 会自动去掉,你拿不到。 |
🟢 必须按回车 | 程序会一直等待,直到用户输入并按下回车键。 |
🟢 可以输入空内容 | 如果你直接按回车,它会返回一个空字符串 "" 。 |
✅ 四、如何读取数字?(重要!)
因为 Console.ReadLine()
返回的是字符串,不能直接当数字用,需要转换。
❌ 错误写法:
int age = Console.ReadLine(); // 编译错误!不能把 string 赋值给 int
✅ 正确写法(推荐使用 int.TryParse
):
Console.Write("请输入你的年龄: ");
string input = Console.ReadLine();if (int.TryParse(input, out int age))
{Console.WriteLine("明年你将 " + (age + 1) + " 岁。");
}
else
{Console.WriteLine("输入的不是有效数字!");
}
✅ 优点:不会因为输入
abc
而崩溃,程序更健壮。
✅ 五、常见用途
1. 读名字、地址、描述等文本
string name = Console.ReadLine();
string city = Console.ReadLine();
2. 读数字(配合 TryParse
)
if (int.TryParse(Console.ReadLine(), out int num))
{// 使用 num
}
3. 等待用户“按回车继续”
Console.WriteLine("按回车键退出...");
Console.ReadLine(); // 只是等待,不保存输入
4. 读多行输入(循环)
List<string> lines = new List<string>();
string line;Console.WriteLine("输入多行文本(输入 'exit' 结束):");while ((line = Console.ReadLine()) != "exit")
{lines.Add(line);
}
✅ 六、注意事项
问题 | 解决方法 |
---|---|
输入数字怎么用? | 用 int.TryParse() 或 Convert.ToInt32() 转换 |
输入空行怎么办? | 检查 string.IsNullOrEmpty(input) |
输入带空格的文本? | ✅ 完全支持,比如 "Hello World" |
安全性 | 推荐用 TryParse 防止崩溃 |
✅ 七、完整示例:简单计算器
Console.Write("请输入第一个数: ");
if (!double.TryParse(Console.ReadLine(), out double a))
{Console.WriteLine("输入无效!");return;
}Console.Write("请输入第二个数: ");
if (!double.TryParse(Console.ReadLine(), out double b))
{Console.WriteLine("输入无效!");return;
}double sum = a + b;
Console.WriteLine($"两数之和是: {sum}");
✅ 总结
Console.ReadLine()
是 C# 控制台程序中最推荐、最安全、最常用的输入方式,适用于绝大多数场景。
记住三件事:
- 它返回的是字符串,不是数字。
- 要用
TryParse
转成数字,避免程序崩溃。 - 用户必须按回车,程序才会继续。
✅ 简单、强大、易用,是学习 C# 的第一步!