NET学习——C#中@符号的用法

C#中@符号的用法

1.限定字符串

用 @ 符号加在字符串前面表示其中的转义字符不被处理

如果我们写一个文件的路径,例如"D:/文本文件"路径下的text.txt文件,不加@符号的话写法如下:

string fileName = "D://文本文件//text.txt";

如果使用@符号就会比较简单:

string fileName = @"D:/文本文件/text.txt";

string sql = "select * from student id='1001'";
string sqll = @"select * from student id=""1001""" ;
string path = "C:\\1\\1.txt";
string pathh = @"C:\1\1.txt";  
 
PrintString(sql);      // select * from student id='1001'
PrintString(sqll);     // select * from student id="1001"
PrintString(path);     // C:\1\1.txt
PrintString(pathh);    // C:\1\1.txt

2.让字符串跨行

有时候一个字符串写在一行中会很长(比如SQL语句),不使用@符号,一种写法是这样的:

string strSQL = "SELECT * FROM HumanResources.Employee AS e"
                 + " INNER JOIN Person.Contact AS c"
                 + " ON e.ContactID = c.ContactID"
                 + " ORDER BY c.LastName";

加上@符号后就可以直接换行了:

string strSQL = @"SELECT * FROM HumanResources.Employee AS e   
                   INNER JOIN Person.Contact AS c    
                   ON e.ContactID = c.ContactID    
                   ORDER BY c.LastName";

3.在标识符中的用法

C#是不允许关键字作为标识符(类名、变量名、方法名、表空间名等)使用的,但如果加上@之后就可以了,例如:

namespace @namespace...
{
    class @class...
    {
        public static void @static(int @int)...
        {
            if (@int > 0)...
            {                
                System.Console.WriteLine("Positive Integer");            
            }
            elseif (@int == 0)...
            {                
                System.Console.WriteLine("Zero");            
            }else...{                
                System.Console.WriteLine("Negative Integer");            
            }
        }    
    }
}

 

C#中的@符号的使用及注意事项

编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行,我自己就经历过这样的事情,对于编程中应该注意的问题,我们要经常的收集整理自己的一本手册,今天我们来讲下C#中的@符号的使用及注意事项。

一 、字符串中的用法

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

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

1.用于文件路径

以下是引用片段:  string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";

  相当于

以下是引用片段:  string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";

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

以下是引用片段:  string s_MultiRows = @"Line1   Line2   Line3";   string s_JavaScript = @"   ";

二 、标识符中的用法

  在 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# 中作为保留关键字,但是在其他语言中也许不是。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值