C# 控制台:Console.ReadLine / WriteLine

一、Console.WriteLine vs Console.Write 的区别

WriteLine 自动换行

cs 复制代码
Console.WriteLine("Hello");
Console.WriteLine("World");

// 输出 

Hello
World

Write 不换行

cs 复制代码
Console.Write("Hello ");
Console.Write("World");

// 输出

Hello World

二、Console.ReadLine

cs 复制代码
string input = Console.ReadLine();

ReadLine 会阻塞线程,程序会停在这里,知道用户按下回车键。

ReadLine 返回值可能为空,需要做非空判断;必要时也需要做数据类型转换。

三、Console.ReadKey

读取单个按键,默认会明文显示,不显示需要传入参数 true

cs 复制代码
Console.Write("请输入密码:");

string password = "";
ConsoleKeyInfo key;

while ((key = Console.ReadKey(true)).Key != ConsoleKey.Enter)
{
    password += key.KeyChar;
    Console.Write("*");
}

Console.WriteLine();

四、格式化输出

  • 字符串插值
cs 复制代码
Console.WriteLine($"姓名:{name},年龄:{age}");
  • 对齐输出
cs 复制代码
Console.WriteLine("{0,-10} {1,5}", "Name", "Age");
Console.WriteLine("{0,-10} {1,5}", "Tom", 18);
Console.WriteLine("{0,-10} {1,5}", "Alice", 25);
  • 设置控制台颜色,显得专业
cs 复制代码
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("成功");

Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("失败");

Console.ResetColor();
相关推荐
她说..9 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow10 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px10 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你9110 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
白毛大侠11 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课11 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'11 小时前
从0到1的C语言传奇之路
c语言·开发语言
不知名的老吴12 小时前
返回None还是空集合?防御式编程的关键细节
开发语言·python
迈巴赫车主12 小时前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
小菜鸡桃蛋狗12 小时前
C++——string(上)
开发语言·c++