代码 2-15:转义字符(<stringDemo1>\Program.cs)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace stringDemo1
{
    class Program
    {
        static void Main(string[] args)
        {
            string dialog =
                "Tom: \"Hi! Jerry.\"\nJerry: \"Hi! Tom.\"";
            Console.WriteLine(dialog);
        }
    }
}

在代码2-15中,我们使用了四个“\"”转义和一个“\n”转义,执行的结果如图2-10所示。

图2-10

请注意,由于我们在字符串中使用“\”进行字符的转义操作,那么有时我们在使用字符表示一个路径时,如“C:\Windows”,我们就必须注意“\”应该使用“\\”来转义,也就是说,应该使用如下代码的形式:

string windowsPath = "C:\\Windows";

这种情况有没有简化的的方法呢?因为毕竟转义字符很容易被遗忘或输入错误。幸好,C#中为我们提供了……

2.6.2 逐字字符串(@)

在一个字符串前面加一个@符号,这个字符串就是逐字字符串,在这种字符串中,唯一需要进行转义的符号就是双引号(比如""""实际输入的内容就是一个双引号"),没办法,因为我们的字符串字面值总是需要包含在一对双引号之间的。如前面表示路径的字符串,我们使用逐字字符串就可以写成如下的形式:

string windowsPath = @"C:\Windows";

在逐字字符串中,我们甚至可以直接输入带换行的字符串,代码2-16就演示了这一功能。