C#:常见 Console 类输入输出方法

目录

[1. 读取按键 Console.ReadKey()](#1. 读取按键 Console.ReadKey())

[2. 清空控制台屏幕 Console.Clear()](#2. 清空控制台屏幕 Console.Clear())

[3. 设置光标位置 Console.SetCursorPosition(int left, int top)](#3. 设置光标位置 Console.SetCursorPosition(int left, int top))

[4. 设置颜色 Console.ForegroundColor 和 Console.BackgroundColor](#4. 设置颜色 Console.ForegroundColor 和 Console.BackgroundColor)

[5. 缓冲区尺寸 Console.BufferHeight 和 Console.BufferWidth](#5. 缓冲区尺寸 Console.BufferHeight 和 Console.BufferWidth)

1. 读取按键 Console.ReadKey()

  • 功能:读取用户按下的单个键(包括功能键,如 F1、Ctrl、Shift),并立即返回,而不等待用户按 Enter。

  • 原理:它监听键盘输入,捕获按键事件,返回一个 ConsoleKeyInfo 对象,包含按下的键和修饰键(Ctrl、Alt 等)信息。

  • 难点通俗解释:想象你是一个门卫,ReadLine 像是在等一封完整的信(整行文字)才开门,而 ReadKey 像是在等有人敲门(按一个键)就立刻开门,告诉你是谁敲的门(哪个键)。

示例:

cs 复制代码
Console.Write("按任意键继续...");
ConsoleKeyInfo key = Console.ReadKey(true); // true 表示不显示按下的键
Console.WriteLine($"\n你按下了: {key.KeyChar}");

用途:用于需要实时响应的场景,比如游戏中的按键控制或菜单导航。

2. 清空控制台屏幕 Console.Clear()

  • 功能:清除控制台屏幕上的所有内容,重置为初始状态。

  • 原理:它调用底层系统命令,清空控制台缓冲区,相当于"擦黑板"让屏幕变干净。

  • 难点通俗解释:想象你在一个白板上写了很多东西,现在想一键擦干净。Clear 就是那个"橡皮",让屏幕回到空白状态。

示例:

cs 复制代码
Console.WriteLine("屏幕上有很多文字");
Console.ReadKey(); // 等待用户按键
Console.Clear(); // 清除所有内容
Console.WriteLine("现在是干净的屏幕");

用途:用于重新开始显示(如游戏界面刷新)或清除调试信息。

3. 设置光标位置 Console.SetCursorPosition(int left, int top)

  • 功能:设置光标在控制台中的位置,允许你精确控制输出的位置。

  • 原理:控制台有坐标系(x, y),left 是横坐标,top 是纵坐标。方法改变光标位置,让后续输出出现在指定位置。

  • 难点通俗解释:想象你在纸上写字,但你想跳到纸的某个角落继续写。SetCursorPosition 就像是你的笔,可以随时移动到任何位置(x, y)开始写。

示例:

cs 复制代码
Console.SetCursorPosition(10, 5); // 将光标移动到第 10 列,第 5 行
Console.WriteLine("我在特定位置!");

4. 设置颜色 Console.ForegroundColor 和 Console.BackgroundColor

  • 功能:设置文本的前景色(字体颜色)和背景色。

  • 原理:这些是 Console 的属性,你可以设置它们的值(如 ConsoleColor.Red),影响后续输出的颜色。

  • 难点通俗解释:想象你在画画,ForegroundColor 像是你选择的笔的颜色(文字颜色),BackgroundColor 像是画布的底色。改变它们就像换了一支新笔或新画布。

示例:

cs 复制代码
Console.ForegroundColor = ConsoleColor.Red; // 设置文字为红色
Console.BackgroundColor = ConsoleColor.Yellow; // 设置背景为黄色
Console.WriteLine("重要提示!");
Console.ResetColor(); // 恢复默认颜色

用途:突出重要信息(如错误用红字)或美化输出。

5. 缓冲区尺寸 Console.BufferHeight 和 Console.BufferWidth

  • 功能:获取或设置控制台缓冲区的尺寸(可以显示的行数和列数)。

  • 原理:控制台有内存缓冲区,决定屏幕能显示多少内容。调整这些属性可以改变可见区域。

  • 难点通俗解释:想象你的屏幕是一个窗户,缓冲区是窗户后面的滚动纸。BufferHeight 和 BufferWidth 决定了纸有多高多宽,你能看到多少内容。

示例:

cs 复制代码
Console.BufferHeight = 50; // 设置缓冲区高度为 50 行
Console.BufferWidth = 100; // 设置缓冲区宽度为 100 列

用途:用于需要大屏幕输出或滚动显示的场景。

相关推荐
凉白开33840 分钟前
Scala基础知识
开发语言·后端·scala
不要不开心了42 分钟前
Scala内容
开发语言·pytorch·flask·scala·dash
2401_8242568643 分钟前
Scala的函数式编程
开发语言·后端·scala
幻想趾于现实1 小时前
C# Winform 入门(2)之发送邮件
开发语言·c#
半盏茶香1 小时前
启幕数据结构算法雅航新章,穿梭C++梦幻领域的探索之旅——堆的应用之堆排、Top-K问题
java·开发语言·数据结构·c++·python·算法·链表
长安——归故李1 小时前
51单片机彩灯控制与数码管结合
汇编·单片机·嵌入式硬件·青少年编程·c#·51单片机·硬件工程
arriettyandray1 小时前
C#/WPF学习系列之问题记录——使用不流畅
c#·wpf
小吴先生6661 小时前
Groovy 规则执行器,加载到缓存
java·开发语言·缓存·groovy
秋风&萧瑟2 小时前
【QT】QT的多界面跳转以及界面之间传递参数
开发语言·qt
骑牛小道士2 小时前
JAVA- 锁机制介绍 进程锁
java·开发语言