当前位置: 首页 > backend >正文

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# 控制台程序中最推荐、最安全、最常用的输入方式,适用于绝大多数场景。

记住三件事:

  1. 它返回的是字符串,不是数字。
  2. 要用 TryParse 转成数字,避免程序崩溃。
  3. 用户必须按回车,程序才会继续。

✅ 简单、强大、易用,是学习 C# 的第一步!

http://www.xdnf.cn/news/17937.html

相关文章:

  • 进程替换:从 “改头换面” 到程序加载的底层逻辑
  • PowerShell来关闭 Windows 安全中心
  • CUDA 编程笔记:CUDA内存模型概述
  • Nginx域名和IP兼容双方的API地址
  • Neural Network Layer|神经网络的层
  • Latex使用了期刊templates但是字体样式不对
  • Vue 3.5+ Teleport defer 属性详解:解决组件渲染顺序问题的终极方案
  • 数字化与人工智能的崛起及其社会影响研究报告
  • CentOS 7 一键部署 上Maria Database(MariaDB)10.3.38 安装手册(避开 Oracle 19c 路径)
  • UE5多人MOBA+GAS 46、制作龙卷风技能
  • draw.io编辑 UML 类图
  • Cohere 开发企业级大型语言模型(LLM)
  • css实现圆角+边框渐变+背景半透明
  • 开源数据发现平台:Amundsen Frontend Service React 配置 Flask 配置 Superset 预览集成
  • DeepResearch开源与闭源方案对比
  • python线程学习
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(2):11-20语法
  • 深入解析C++ STL链表(List)模拟实现
  • 【C++】类和对象——默认成员函数(中上)
  • OpenCV安装及配置
  • 【C 学习】06-算法程序设计举例
  • 基于51单片机的智能吊灯
  • 零改造迁移实录:2000+存储过程从SQL Server滑入KingbaseES V9R4C12的72小时
  • Obot MCP 网关:用于安全管理 MCP 服务器采用的开源平台
  • 大模拟 Major
  • 《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
  • Horse3D游戏引擎研发笔记(六):在QtOpenGL环境下,仿Unity的材质管理Shader绘制四边形
  • 复杂度扫尾+链表经典算法题
  • 《P1194 买礼物》
  • JAVA 关键字