日期:2014-05-18  浏览次数:20972 次

请问--- C#里,变量前的@符号是什么意思?
比如下面这段,编译没问题,但不知道加@和不加有什么区别?

int @Left = 0;
  @Left = @Left = 1;
  @Left = Left;
  Left = @Left;

------解决方案--------------------
在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。


C# code
class @class
{
   public static void @static(bool @bool) {
      if (@bool)
         System.Console.WriteLine("true");
      else
         System.Console.WriteLine("false");
   }   
}
class Class1
{
   static void M() {
      cl\u0061ss.st\u0061tic(true);
   }
}

------解决方案--------------------
1.用于文件路径(最常用的)
2.用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码
3.@ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。
C# code
class @class 
  { 
  public static void @static(bool @bool) { 
  if (@bool) 
  System.Console.WriteLine("true"); 
  else 
  System.Console.WriteLine("false"); 
  } 
  } 
  class Class1 
  { 
  static void M() { 
  clu0061ss.stu0061tic(true); 
  } 
  }