在C#中有些字符是被忽略或者有特定用途的。如换行符在C#中是被忽略的,双引号("")包含的内容就表示为字符串。但是有时我们在编程过程中确实需要使用到这些被忽略或有特定用途的字符,那怎样才能使用这些字符呢?在C#语言中有种专用来表示这些字符的办法(好像是专用来的,我现在还没发现它有其它的用途),就是转义序列。在C#中可以使用转义序列表示这些字符。转义序列是由一个反斜杠符号(\)后跟一个字符组成。
例:在C#中把一句话分两行显示
“名字:国雄
年龄:20”//显示结果:名字:国雄年龄:20,并没有换行显示,因为C#中忽略换行符
”名字:国雄\n年龄:20“//显示结果:
名字:国雄
年龄:20
转义序列列表:
转义序列 | 产生的字符 | Unicode转义序列 | 字符的Unicode值 |
\’ | 单引号 | \u0027 | 0x0027 |
\” | 双引号 | \u0022 | 0x0022 |
\0 | 空 | \u0000 | 0x0000 |
\a | 警告(产生蜂呤) | \u0007 | 0x0007 |
\b | 退格 | \u0008 | 0x0008 |
\f | 换页 | \u000C | 0x000C |
\n | 换行 | \u000A | 0x000A |
\r | 回车 | \u000D | 0x000D |
\t | 水平制表 | \u0009 | 0x0009 |
\v | 垂直制表 | \u000B | 0x000B |
\\ | 反斜杠 | \u005C | 0x005C |
“字符的Unicode值”列是字符在Unicode字符集中的16进制值。
“ Unicode转义序列”列也可以指定Unicode字符,即与转义序列有相同的作用。它是由标准的\字符后跟一个字母u和一个4位十六进制值。
例:"my name\'sGuoXiong"与"my name\u0027sGuoXiong"//都是表示my name's GuoXiong
Unicode转义序列的其它用途暂时我还不了解,请了解的朋友指点指点,谢谢
也可以逐字的指定字符串,即两个双引号之间的所有字符都包含在字符串中,包括行末字符和需要转义的字符。惟一的例外是双引号字符的转义,它们必须指定,以避免结束字符串。为此,可以在该字符串的前面加一个@字符:
@"Verbatim string literal."
这个字符串可以用一般的方式指定,但需要使用下面这种方式:
@"A short list:
item 1
item 2"
逐字指定的字符串在文件名中非常有用,因为文件名中大量使用了反斜杠字符。如果使用一般的字符串,就必须在字符串中使用2个反斜杠,例如:
"C:\\Temp\\MyDir\\MyFile.doc"
而有了逐字指定的字符串字面值,这段代码的可读性就比较高。下面的字符串与上面的等价:
@"C:\Temp\MyDir\MyFile.doc"