C#中的@符号的使用

一 字符串中的用法

字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。  

@只能对字符串常量作用。

1.用于文件路径

string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";

相当于

string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";

@是取消字符串中的转意符。比如不加@的字符串,"\\a\n"C#会解释成一个\和一个a再加一个换行,如果加了@,@"\\a\n“ C#会解释成两个\加一个a加一个\加一个n。

2.@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。

string s_MultiRows = @"Line1

Line2

Line3";

 

 

string s_JavaScript = @"
            <script type=""type/javascript"">
            function doSomething()
            {
            }
            </script>";

 

 

二 标识符中的用法


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



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);
   }
}


注意,@ 虽然出现在标识符中,但不作为标识符本身的一部分。
因此,以上示例,定义了一个名为 class 的类,并包含一个名为 static 的方法,以及一个参数名为了 bool 的形参。

这样,对于跨语言的移植带来了便利。因为,某个单词在 C#  中作为保留关键字,但是在其他语言中也许不是。

posted @ 2014-05-21 00:12  晓菜鸟  阅读(4905)  评论(2编辑  收藏  举报