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();
相关推荐
hez20101 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
雨落倾城夏未凉7 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫8 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫9 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6259 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902119 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠10 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
唐青枫12 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech12 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf14 天前
C#摸鱼实录——IoC与DI案例详解
c#