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();
相关推荐
爱装代码的小瓶子2 小时前
【C++与Linux基础】进程如何打开磁盘文件:从open()到文件描述符的奇妙旅程(更多源码讲解)
linux·开发语言·c++
diediedei2 小时前
嵌入式C++驱动开发
开发语言·c++·算法
码云数智-园园2 小时前
深入理解与正确实现 .NET 中的 BackgroundService
java·开发语言
田野追逐星光2 小时前
STL中容器list -- 讲解超详细
开发语言·c++·list
小邓睡不饱耶2 小时前
使用Scala实现手机号码归属地查询系统
开发语言·windows·scala
diediedei2 小时前
高性能计算通信库
开发语言·c++·算法
雾岛听蓝2 小时前
C++11新特性(可变参数模板、新的类功能、STL中的一些新变化)
开发语言·c++·经验分享·笔记
lxl13072 小时前
学习C++(6)日期类的实现+取地址运算符重载
开发语言·c++·学习
我材不敲代码2 小时前
Python爬虫介绍——简单了解一下爬虫
开发语言·爬虫·python