C#中使用@声明变量示例(逐字标识符)

在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。

当然,使用关键字作为变量名是非常不推荐的,除非特殊情况,比如和其它语言交互,一般不鼓励使用。

你可能感兴趣的:(C#中使用@声明变量示例(逐字标识符))