【C#零基础从入门到精通】(四)——C#Console类和转义字符详解

【C#零基础从入门到精通】(四)——C#Console类和转义字符详解

Console类

介绍:

在 C# 中,Console 类是一个非常实用的工具,它属于 System 命名空间,主要用于控制台应用程序中进行输入输出操作。下面从多个方面详细介绍 Console 类。

 

1. 命名空间引用

要使用 Console 类,需要确保在代码文件的开头引用 System 命名空间。如果没有引用,代码将无法识别 Console 类。

using System;

class Program
{
    static void Main()
    {
        // 在这里可以使用 Console 类的方法
    }
}

2. 输出方法

2.1 Console.WriteLine
  • 功能:向控制台输出一行文本,并在输出后自动换行。可以输出各种数据类型的值,包括整数、字符串、布尔值等。
  • 示例代码
int number = 10;
string message = "Hello, World!";
bool isTrue = true;

Console.WriteLine(number);
Console.WriteLine(message);
Console.WriteLine(isTrue);
  • 格式化输出:可以使用占位符来格式化输出内容,类似于 C 语言中的 printf 函数。
string name = "Alice";
int age = 25;
Console.WriteLine("My name is {0} and I'm {1} years old.", name, age);

也可以使用字符串插值的方式进行格式化输出,这是 C# 6.0 及以后版本支持的特性,更加直观。

string name = "Bob";
int age = 30;
Console.WriteLine($"My name is {name} and I'm {age} years old.");
2.2 Console.Write
  • 功能:向控制台输出文本,但不会自动换行,后续的输出会接着当前行继续显示。
  • 示例代码
Console.Write("Hello, ");
Console.Write("World!");

上述代码会在同一行输出 Hello, World!

3. 输入方法

3.1 Console.ReadLine
  • 功能:从控制台读取用户输入的一行文本,直到用户按下回车键。返回值为字符串类型。
  • 示例代码
Console.Write("Please enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}!");

在这个示例中,程序会提示用户输入姓名,用户输入后按下回车键,输入的内容会被存储在 name 变量中,然后程序会输出问候语。

3.2 Console.Read
  • 功能:从控制台读取用户输入的下一个字符的 ASCII 码值,返回值为 int 类型。如果没有输入,程序会暂停等待用户输入。
  • 示例代码
Console.Write("Press a key: ");
int key = Console.Read();
Console.WriteLine($"You pressed the key with ASCII code: {key}");

在这个示例中,程序会提示用户按下一个键,用户按下键后,该键的 ASCII 码值会被存储在 key 变量中,并输出该值。

3.3 Console.ReadKey
  • 功能:从控制台读取用户按下的一个键,返回一个 ConsoleKeyInfo 结构体,该结构体包含了按键的信息,如键的字符、键码等。可以选择是否在控制台显示按下的键。
  • 示例代码
Console.Write("Press any key to continue...");
ConsoleKeyInfo keyInfo = Console.ReadKey();
Console.WriteLine($"\nYou pressed the {keyInfo.Key} key.");

在这个示例中,程序会提示用户按下任意键继续,用户按下键后,程序会输出按下的键的名称。如果使用 Console.ReadKey(true),则按下的键不会显示在控制台。

4. 控制台颜色设置

Console 类还提供了设置控制台文本颜色和背景颜色的方法。

4.1 Console.ForegroundColor
  • 功能:设置控制台输出文本的颜色。可以使用 ConsoleColor 枚举类型中的值来指定颜色。
  • 示例代码
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("This text is red.");
Console.ResetColor(); // 恢复默认颜色
4.2 Console.BackgroundColor
  • 功能:设置控制台的背景颜色。同样使用 ConsoleColor 枚举类型的值。
  • 示例代码
Console.BackgroundColor = ConsoleColor.Yellow;
Console.WriteLine("This text has a yellow background.");
Console.ResetColor(); // 恢复默认颜色

5. 其他方法

5.1 Console.Clear
  • 功能:清除控制台窗口中的所有文本内容。
  • 示例代码
Console.WriteLine("This is some text.");
Console.Clear();
5.2 Console.Beep
  • 功能:使控制台发出一声蜂鸣声。可以指定蜂鸣声的频率和持续时间。
  • 示例代码
Console.Beep(1000, 500); // 频率为 1000Hz,持续 500 毫秒

综上所述,Console 类为 C# 控制台应用程序提供了丰富的输入输出功能,通过合理使用这些方法,可以实现各种与用户交互和信息展示的需求。

转义字符

在 C# 中,转义字符是一种特殊的字符序列,以反斜杠 \ 开头,用于表示一些无法直接输入或具有特殊含义的字符。以下是对 C# 转义字符的详细介绍:

常见转义字符及其用途

1. 换行符 \n
  • 用途:用于在文本中插入一个换行符,使后续输出内容从新的一行开始。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("第一行\n第二行");
    }
}
  • 输出结果
第一行
第二行
2. 回车符 \r
  • 用途:将光标移动到当前行的开头,但不会换行。通常与换行符 \n 配合使用,在 Windows 系统中,文本文件的换行符是 \r\n 组合。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        Console.Write("这是前面的内容\r这是覆盖后的内容");
    }
}
  • 输出结果:在控制台中,“这是前面的内容” 会被 “这是覆盖后的内容” 覆盖,最终显示 “这是覆盖后的内容”。
3. 制表符 \t
  • 用途:在文本中插入一个制表符,相当于按下键盘上的 Tab 键,通常用于对齐文本。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("姓名\t年龄");
        Console.WriteLine("张三\t25");
        Console.WriteLine("李四\t30");
    }
}
  • 输出结果
姓名    年龄
张三    25
李四    30
4. 退格符 \b
  • 用途:将光标向左移动一个字符位置,通常用于删除前一个字符。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        Console.Write("abc\bd");
    }
}
  • 输出结果:输出 abd\b 使光标退回到 c 的位置,然后 d 覆盖了 c
5. 单引号 \'
  • 用途:当需要在字符常量或字符串中表示单引号时,使用 \' 进行转义。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        char singleQuote = '\'';
        Console.WriteLine(singleQuote);
        string str = "他说:'你好'";
        Console.WriteLine(str);
    }
}
  • 输出结果
'
他说:'你好'
6. 双引号 \"
  • 用途:当需要在字符串中表示双引号时,使用 \" 进行转义。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        string str = "她说:\"再见\"";
        Console.WriteLine(str);
    }
}
  • 输出结果
她说:"再见"
7. 反斜杠 \\
  • 用途:当需要在字符串中表示反斜杠本身时,使用 \\ 进行转义。这在处理文件路径等情况时非常有用。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        string filePath = "C:\\Users\\Documents\\file.txt";
        Console.WriteLine(filePath);
    }
}
  • 输出结果
C:\Users\Documents\file.txt
8. 空字符 \0
  • 用途:表示 ASCII 码为 0 的空字符,通常用于与 C 或 C++ 代码进行交互,在字符串末尾添加 \0 作为字符串结束符。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        char nullChar = '\0';
        Console.WriteLine((int)nullChar); // 输出 0
    }
}

逐字字符串中的转义字符

在 C# 中,可以使用逐字字符串字面量,以 @ 符号开头,它可以简化包含大量反斜杠或换行符的字符串的书写。在逐字字符串中,大多数转义字符不起作用,但双引号需要用两个双引号 "" 表示。

  • 示例代码
using System;

class Program
{
    static void Main()
    {
        // 逐字字符串示例
        string verbatimPath = @"C:\Users\Documents\file.txt";
        Console.WriteLine(verbatimPath);

        string multiLine = @"第一行
第二行";
        Console.WriteLine(multiLine);

        string withQuotes = @"他说:""你好""";
        Console.WriteLine(withQuotes);
    }
}
  • 输出结果
C:\Users\Documents\file.txt
第一行
第二行
他说:"你好"

十六进制和 Unicode 转义序列

  • 十六进制转义序列:以 \x 开头,后面跟随 1 - 4 位十六进制数字,表示一个字符的 ASCII 码值。
  • Unicode 转义序列:以 \u 开头,后面跟随 4 位十六进制数字,表示一个 Unicode 字符。
  • 示例代码
using System;

class Program
{
    static void Main()
    {
        char hexChar = '\x41'; // ASCII 码 41 对应的字符是 'A'
        Console.WriteLine(hexChar);

        char unicodeChar = '\u03A9'; // Unicode 码 03A9 对应的字符是 'Ω'
        Console.WriteLine(unicodeChar);
    }
}
  • 输出结果
A
Ω

转义字符在 C# 中是非常重要的工具,它们可以帮助我们处理各种特殊字符和格式化文本,使代码更加灵活和强大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Csharp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值