【C#】关于转义字符的理解

零、为什么会对转义字符产生疑惑呢?

(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自动帮我把它们做成了两个字符串。

展开阅读全文

没有更多推荐了,返回首页