C#的Console 类使用说明
一:Console 类简单说明
表示控制台应用程序的标准输入流、输出流和错误流 。 此类不能被继承。控制台是一个操作系统窗口,用户通过计算机键盘输入文本输入以及从计算机终端读取文本输出,与操作系统或基于文本的控制台应用程序进行交互。 例如,在 Windows操作系统中,控制台称为"命令提示符"窗口并接受 MS-DOS 命令。 Console 类为从控制台读取字符和向控制台写入字符 Console 的应用程序提供基本支持。
二:Console 类的常用属性
属性 | 属性说明 |
---|---|
BackgroundColor | 获取或设置控制台的背景色。 |
ForegroundColor | 获取或设置控制台的前景色。 |
CursorVisible | 获取或设置一个值,用以指示光标是否可见。 |
KeyAvailable | 获取一个值,该值指示按键操作在输入流中是否可用。 |
In | 获取标准输入流。 |
Out | 获取标准输出流。 |
WindowHeight | 获取或设置控制台窗口区域的高度。 |
WindowWidth | 获取或设置控制台窗口的宽度。 |
Title | 获取或设置要显示在控制台标题栏中的标题。 |
1: Console 类的属性使用举例一
// 获取包含ConsoleColor枚举成员的值的数组.
ConsoleColor[] colors = (ConsoleColor[])ConsoleColor.GetValues(typeof(ConsoleColor));
// 保存当前背景色和前景色.
ConsoleColor currentBackground = Console.BackgroundColor;
ConsoleColor currentForeground = Console.ForegroundColor;
// 显示除了与背景匹配的前景色外的所有前景色.
Console.WriteLine("所有前景色,除了 {0} 背景色:", currentBackground);
foreach (var color in colors)
{
if (color == currentBackground) continue;
Console.ForegroundColor = color;
Console.WriteLine("前景色是 {0} .", color);
}
运行结果:
所有前景色,除了 Black 背景色: 前景色是 DarkBlue . 前景色是 DarkGreen . 前景色是 DarkCyan . 前景色是 DarkRed . 前景色是 DarkMagenta . 前景色是 DarkYellow . 前景色是 Gray . 前景色是 DarkGray . 前景色是 Blue . 前景色是 Green . 前景色是 Cyan . 前景色是 Red . 前景色是 Magenta . 前景色是 Yellow . 前景色是 White . |
2: Console 类的属性使用举例二
TextReader tIn = Console.In;
TextWriter tOut = Console.Out;
tOut.WriteLine("专心做好一件事");
tOut.Write("你说对不对?");
String Reply = tIn.ReadLine();
tOut.WriteLine("你的回复是:{0}!", Reply);
运行结果:
专心做好一件事! 你说对不对?Yes 你的回复是:Yes! |
三:Console 类的常用方法
方法 | 方法说明 |
---|---|
Beep() | 通过控制台扬声器播放提示音。 |
Beep(Int32, Int32) | 通过控制台扬声器播放具有指定频率和持续时间的提示音。 |
Clear() | 清除控制台缓冲区和相应的控制台窗口的显示信息。 |
ResetColor() | 将控制台的前景色和背景色设置为默认值。 |
Read() | 从标准输入流读取下一个字符。 |
ReadKey() | 获取用户按下的下一个字符或功能键。 按下的键显示在控制台窗口中。 |
ReadLine() | 从标准输入流读取下一行字符。 |
Write(Char[]) | 将指定的 Unicode 字符数组,写入标准输出流。 |
Write(Char[], Int32, Int32) | 将指定的 Unicode 字符子数组,写入标准输出流。 |
Write(Int32) | 将指定的 32 位有符号整数值的文本,写入标准输出流。 |
Write(String) | 将指定的字符串值,写入标准输出流。 |
Write(String, Object) | 使用指定的格式信息将指定对象的文本表示形式,写入标准输出流。 |
Write(String, Object, Object, Object, Object) | 使用指定的格式信息将指定的对象和可变长度参数列表的文本表示形式,写入标准输出流。 |
WriteLine() | 将当前行终止符写入标准输出流。 |
WriteLine(Char[]) | 将指定的 Unicode 字符数组(后跟当前行终止符)写入标准输出流。 |
WriteLine(String, Object, Object, Object) | 使用指定的格式信息,将指定对象的文本表示形式(后跟当前行终止符)写入标准输出流。 |
1: WriteLine()方法使用举例
1.1: 以各种方式,负整数或浮点数的显示格式的演示
Console.WriteLine("标准数字格式说明符");
Console.WriteLine(
"(C) 货币: . . . . . . . . {0:C}\n" +
"(D) 十进制的:. . . . . . . . . {0:D}\n" +
"(E) 科学的: . . . . . . . {1:E}\n" +
"(F) 定点:. . . . . . . {1:F}\n" +
"(G) 一般的:. . . . . . . . . {0:G}\n" +
" (default):. . . . . . . . {0} (default = 'G')\n" +
"(N) 数字: . . . . . . . . . {0:N}\n" +
"(P) 百分比:. . . . . . . . . {1:P}\n" +
"(R) 往返的: . . . . . . . {1:R}\n" +
"(X) 十六进制的:. . . . . . . {0:X}\n",
-123, -123.45f);
运行结果:
标准数字格式说明符 (C) 货币: . . . . . . . . ¥-123.00 (D) 十进制的:. . . . . . . . . -123 (E) 科学的: . . . . . . . -1.234500E+002Yes (F) 定点:. . . . . . . -123.45 (G) 一般的:. . . . . . . . . -123 (default):. . . . . . . . -123 (default = 'G') (N) 数字: . . . . . . . . . -123.00 (P) 百分比:. . . . . . . . . -12,345.00% (R) 往返的: . . . . . . . -123.45 (X) 十六进制的:. . . . . . . FFFFFF85 |
1.2: 以各种方式,设置当前日期的格式的演示
DateTime thisDate = DateTime.Now;
Console.WriteLine("标准日期时间格式说明符");
Console.WriteLine(
"(d) 短日期: . . . . . . . {0:d}\n" +
"(D) 长日期:. . . . . . . . {0:D}\n" +
"(t) 短时间: . . . . . . . {0:t}\n" +
"(T) 长时间:. . . . . . . . {0:T}\n" +
"(f) 全日期/短时间: . . {0:f}\n" +
"(F) 全日期/长时间:. . . {0:F}\n" +
"(g) 一般日期/短时间:. {0:g}\n" +
"(G) 一般日期/长时间: . {0:G}\n" +
" (default):. . . . . . . . {0} (default = 'G')\n" +
"(M) 月:. . . . . . . . . . {0:M}\n" +
"(R) RFC1123:. . . . . . . . . {0:R}\n" +
"(s) 可排序的: . . . . . . . . {0:s}\n" +
"(u) 通用可排序: . . . {0:u} (invariant)\n" +
"(U) 通用完整日期/时间: {0:U}\n" +
"(Y) 年: . . . . . . . . . . {0:Y}\n",
thisDate);
标准日期时间格式说明符 (d) 短日期: . . . . . . . 2022/9/7 (D) 长日期:. . . . . . . . 2022年9月7日 (t) 短时间: . . . . . . . 21:52 (T) 长时间:. . . . . . . . 21:52:22 (f) 全日期/短时间: . . 2022年9月7日 21:52 (F) 全日期/长时间:. . . 2022年9月7日 21:52:22 (g) 一般日期/短时间:. 2022/9/7 21:52 (G) 一般日期/长时间: . 2022/9/7 21:52:22 (default):. . . . . . . . 2022/9/7 21:52:22 (default = 'G') (M) 月:. . . . . . . . . . 9月7日 (R) RFC1123:. . . . . . . . . Wed, 07 Sep 2022 21:52:22 GMT (s) 可排序的: . . . . . . . . 2022-09-07T21:52:22 (u) 通用可排序: . . . 2022-09-07 21:52:22Z (invariant) (U) 通用完整日期/时间: 2022年9月7日 13:52:22 (Y) 年: . . . . . . . . . . 2022年9月 |
2: ReadLine()方法使用举例
Console.WriteLine("请输入码农的姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入所在996公司:");
string Company= Console.ReadLine();
Console.WriteLine("{0}码农在{1}苦逼撸代码", name, Company);
运行结果:
请输入码农的姓名: 猿人 请输入所在996公司: 码厂 猿人码农在码厂苦逼撸代码 |