零、为什么会对转义字符产生疑惑呢?
(1)它的种类太多了,很多不常用,感觉不熟悉
(2)对转义字符进行转义(包括@的使用)
(3)系统自动添加的转义字符(比如换行?)
研究后结果如下:
其实所有编程语言,拥有转义字符的原因基本上是两点:
1:将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键,等。(ASCII中有一些非打印字符, 像换行,响铃等, 这些字符必须直接写入ASCII值才可以输出, 这些ASCII之间没有任何规律,可读性不高, 难于记忆, 为此人们发明了转义字符来代替ASCII值,用以摆脱ASCII的缺点,方便人们的使用)例如:
\0 空字符(Null)
\a 鸣铃
\b 退格
\f 走纸换页
\n 换行
\r 回车
\t 横向跳到下一制表位置
\v 竖向跳格(垂直制表)
2:用来将特殊意义的字符转换回它原来的意义。一般用在正则表达式中。例如:
\’ 单引号符
\” 单引号符
\\ 反斜线符"\"
C#中特殊的@号:只要语句前加@号,即表示@号后面的包括有转义符的都按不进行转义运算。这是因为如果想输出和转义相关的字符,会很麻烦。
比如:要打印:"\t",那么需要这样写代码;Write(" \" \\ t \" ");
而使用@号,可以这样写:@Write(" "\t" ");
在 Unity中的测试:
1.将word中没有添加段落标记的一大段文字复制到脚本中,显示为一行。
2.将word中添加了段落标记的一大段文字复制到脚本中,有换行的地方在脚本中也换行了,并且飘红。
如果在前面加上@,那么就不会飘红,同时,脚本中换行的地方,显示时也会换行。
3.在C#脚本中直接在一行文字中敲下enter键,换行后vs自动帮我把它们做成了两个字符串。