
C# 13 引入了一个新的转义字符 \e,代替 \u001b 来简化 Esc/Escape 的转义,我们可以使用它来简化 Console 里的一些输出格式控制
ANSI Console 的一些介绍的知识:https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797
(以下介绍来自 chatgpt
ANSI Console 是指支持ANSI(美国国家标准协会)转义码的命令行界面。这些转义码是一系列字符序列,用于控制文本格式、颜色和其他输出选项。
改变文本颜色:
echo -e "\033[31m这段文字是红色的!\033[0m"
在这个例子中,\033[31m将文本颜色设置为红色,而\033[0m则重置为默认颜色。
总的来说,ANSI 代码增强了控制台应用的功能和美观,使其更加用户友好和视觉吸引。

output
这里是一个示例,使用了 ANSI console 的控制语法来指定输出文本的样式,这里指定了使用红色的前景色,也就是字体是红色,可以看到输出结果是红色的文字
第一个 Console.WriteLine 使用的是 \u001b,第二个 Console.WriteLine 使用的是新引入的 \e ,他们的效果是一样的
[ 是一个控制符,后面跟着的是参数,31m 表示设置前景色为红色,后面的 0m 代表重置所有的样式
所以在最后的 Console.WriteLine("Hello .NET") 输出的结果颜色是默认的颜色
我们再看下编译的时候编译器会怎么处理,我们可以直接借助 sharplab 来看

de-compilation
可以看到编译之后 \e 其实直接转换成了 \u001b,编译器帮我们做了转换,用到的地方可以简化一些可以更简单一点