您的位置:首页 > 编程语言 > C#

C#中关于@的用法

2015-09-29 11:16 531 查看


C#中@的用法



简而言之,共三条:

1.限定字符串

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

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

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

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

string fileName = @"D:/文本文件/text.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...{publicstaticvoid @static(int @int)...{if (@int > 0)...{                System.Console.WriteLine("Positive Integer");            }elseif (@int == 0)...{                System.Console.WriteLine("Zero");            }else...{                System.Console.WriteLine("Negative Integer");            }        }    }}


以下为举例:

1. 加在字符串前面,字符串中的 \ 失去转义符的作用,直接写字符串而不需要考虑转义字符

C#代码

string path
= @"C:\Windows\"; //
如果不加 @,编译会提示无法识别的转义序列

//
如果不加 @,可以写成如下

string path2
= "C:\\Windows\\";

[c#] view
plaincopy

string path = @"C:\Windows\"; // 如果不加 @,编译会提示无法识别的转义序列

// 如果不加 @,可以写成如下

string path2 = "C:\\Windows\\";

2. 加在字符串前面,字符串中的 " 要用 "" 表示

C#代码

string str
= @"aaa=""bbb""";

//
不加 @,可以写成

string str2
= "aaa=\"bbb\"";

[c#] view
plaincopy

string str = @"aaa=""bbb""";

// 不加 @,可以写成

string str2 = "aaa=\"bbb\"";

3 加在字符串前面,换行空格都保存着,方便阅读代码

C#代码

string insert
= @"

insert into Users

(

UserID,

Username,

Email

) values

(

@UserID,

@Username,

@Email

)";

[c#] view
plaincopy

string insert = @"

insert into Users

(

UserID,

Username,

Email

) values

(

@UserID,

@Username,

@Email

)";

4 用关键字做变量时在关键字前面加@

C#代码

string @operator = "+";

string @class = "分类一";

Console.WriteLine(@operator);

Console.WriteLine(@class);

[c#] view
plaincopy

string @operator = "+";

string @class = "分类一";

Console.WriteLine(@operator);

Console.WriteLine(@class);

5 作为sql语句里的一个“标签”,声明此处需要插入一个参数

C#代码

string delete
= "delete from Categery where CategoryID=@CategoryID";

SqlConnection connection = new SqlConnection("connectionString");

SqlCommand command = new SqlCommand(delete,
connection);

command.Parameters.Add("@CategoryID",
SqlDbType.BigInt);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: