C#入门之字符串转义

前面讲了 C# 的中特殊字符,这篇就来讲讲 C# 中的字符串转义吧。详细的转义序列表,可以查看微软官网(https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/strings/) ,这篇文章就例举了一些常用的或者有意思的。

我们首先要讲的就是 \r 和 \n.

\r 表示回车,\n 表示换行,有人会奇怪,这两个有什么区别吗?它们是不一样的。在 Windows 中写过 shell 脚本的人都知道,使用 Windows 的文本编辑器写出来的 shell 脚本是没办法直接在 Linux 上面运行的,原因就是因为这两个系统关于行尾符的定义不一样。

在讲它们之间的区别之前,我们先回顾一下它们的来历。计算机还没有出现之前,有一种叫做电传打字机的设备,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,在这0.2秒里面,传过来的字符将会丢失。 于是,人们就在每行后面加两个字符表示结束换行。一个叫做“回车”,告诉打字机把打印头定位在左边开始位置;另一个叫做“换行”,告诉打字机把纸向下移一行。这个概念也应用到了计算机上,由于早期计算机存储资源很昂贵,所以在是否使用两个字符,还是使用一个字符上面产生了分歧,在 Unix(Linux) 中,行尾符就使用了 \n,在 Windows 中,行尾符使用了 \r\n。

下面我们来看一个示例:

  • 回车
using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hi, I am Tom. \rNice to meet you!");
        }
    }
}

运行结果:回车符前面的被内容被覆盖了。

Nice to meet you!
  • 换行
using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hi, I am Tom. \nNice to meet you!");
        }
    }
}

运行结果:

Hi, I am Tom.
Nice to meet you!

下面我们来看看 \t 水平制表符(相当于按一次 tab 键):

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hi, I am Tom. \tNice to meet you!");
        }
    }
}

运行结果:

Hi, I am Tom.   Nice to meet you!

<<:  D3JsDay09 资料元素来绑定,让你元素有内定—资料绑定

>>:  [Day 9]从零开始学习 JS 的连续-30 Days---物件

从 IT 技术面细说 Search Console 的 27 组数字 KPI (24) :检索统计报表 KPI 外的重点项目

在去年的 2021–11–25 那天,Google 终於把 Search Console 的检索统计...

[Day 30] 使用ChromeDriver来做单元测试(三)

同时开启多个浏览器 有时候可能需要多个浏览器来进行测试, 譬如说用多个浏览器来测试WebSocket...

[Genero 4.00] 新上线,语言动态化(VAR)+自适应画面

走到铁人赛第30篇,肯定很多的心得。『是终点也是起点』,在接近完成的时刻,却在 9/29 迎来重磅...

第十三天:初探 Gradle Build Script

对於一个 Gradle 专案来说,一切设定与运作的核心都纪录在 Build Script 里。为了让...

学习Python纪录Day18 - 散布图、长条图、圆饼图

Scatter Plots 散布图 呼叫scatter(),参数依序是x轴和y轴 plt.scatt...