iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
Software Development

C# 入门系列 第 24

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!

上一篇
C#入门之特殊字符
下一篇
C# 入门之格式化输出字符串
系列文
C# 入门32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言