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 @   晓菜鸟  阅读(4933)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示