C#中使用@声明变量示例(逐字标识符)
程序员文章站
2023-11-13 13:55:34
在c#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”。请看下面的代码:
cl...
在c#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”。请看下面的代码:
class @class { public static void @static(bool @bool) { if (@bool) system.console.writeline("true"); else system.console.writeline("false"); } }
这里使用到@的地方有三处,@class,@static和@bool,如果不加@的话,他们都是关键字,编译就会报错。加了@之后,他们和普通的变量名没有区别了,可以正常使用。当然@也可以加在非关键字之前,比如:
static void test(string @str) { console.writeline(str); }
这样@就一点效果也没有,@str等价于str。
当然,使用关键字作为变量名是非常不推荐的,除非特殊情况,比如和其它语言交互,一般不鼓励使用。