编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行。
C#中转义字符分2中,一种是\,一种是@。
@符号在C#中有两个作用
作用1、在字符串的前面加@表示取消字符串中的转义
例如
|
|
作用2
如果用户定义的对象名和系统关键字冲突,可以在变量前面加入@
例如
|
|
转义字符
字符名称
|
|
一 字符串中的用法
Verbatim字符串
对于verbatim字符串,编译 器会严格按照原样对其进行解释。也就是说,即使这个字符串跨越多行,或是包含转义字符,编译器也将不予理会,即这些格式和转义符将按照原样输出。唯一例外的是引号,编译器必须将其转义,因为只有这样才能确定字符串的边界。
Verbatim字符串的定义语法为以@符号开始,后面紧跟包含在引号中的字符串。例如:
|
|
以下是一个实用的示例:
|
|
//结果为:C:\My Documents\sample.txt,
如同语句:
|
|
若想在Verbatim字符串内使用引号,必须使用附加的引号组将其转义。
例如,生成字符串”Hi”的代码如下:
|
|
//注意:两边都有3个引号
上述代码将生成下列字符串:
“Hi”
字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。
@只能对字符串常量作用。
1.用于文件路径
以下是引用片段:
|
|
相当于
以下是引用片段:
|
|
2.用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。
以下是引用片段:
|
|
二 标识符中的用法
在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。
如
以下是引用片段:
|
|
注意,@ 虽然出现在标识符中,但不作为标识符本身的一部分。
因此,以上示例,定义了一个名为 class 的类,并包含一个名为 static 的方法,以及一个参数名为了 bool 的形参。
这样,对于跨语言的移植带来了便利。因为,某个单词在 C# 中作为保留关键字,但是在其他语言中也许不是。