一、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();