C#

中的

@

符号

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

{

public

static

void

@static(

int

@int)

 

{

if

(@int > 0)

{

System.Console.WriteLine("Positive Integer");

}

else

if

(@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#中的@符号的更多相关文章

  1. C#中的@符号用法

    C#中的@符号其实有很多的用法,我们来看看@有什么神奇之处. 1.限定字符串 用 @ 符号加在字符串前面表示其中的转义字符“不”被处理. 如果我们写一个文件的路径,例如"D:/文本文件&qu ...

  2. Linux的nm查看动态和静态库中的符号

    功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等.所谓符号,通常指定义出的函数,全局变量等等. 使用 nm [option(s)] [file(s)] 有用的optio ...

  3. DotNet中人民币符号的输出

    DotNet中人民币符号“¥”的输出<html> <head>DotNet中人民币符号的输出</head> <body> <p>¥100元& ...

  4. Bat 中特殊符号

    批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @\\隐藏命令的回显. ~\\在for中表示使用增强的变量扩展:在set中表示使用扩展环境变量指定位置的字符串:在set ...

  5. C++中弱符号(弱引用)的意义及实例

    今天读别人代码时看到一个“#pragma weak”,一时没明白,上网研究了一个下午终于稍微了解了一点C.C++中的“弱符号”,下面是我的理解,不正确的地方望大家指正. 本文主要从下面三个方面讲“弱符 ...

  6. 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

    查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Vis ...

  7. 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】

    原文:[ c语言中无符号和有符号的加法运算][深入理解]--[sky原创]   第一题 #include<stdio.h> int main() { unsigned int a=6; i ...

  8. URL中特殊符号的处理

    问题描述 我们在对接第三方系统的时候通常需要get或post来传输数据,但此时如果参数中存在&% #*!包括空格等特殊符号的时候就无法正常请求具体表现在参数获取不正确或者获取不到参数,甚至有时 ...

  9. C++编译连接过程中关于符号表的报错分析

    是这样的,在学习郑莉老师的多文件结构和编译预处理命令章节时候,看到书里有这么一张图描述如下:#include指令作用是将指定的文件嵌入到当前源文件中#include指令所在的位置. 然后我就想5_10 ...

随机推荐

  1. SDL_Test库(1)——SDL不用TTF库绘制文字

    SDL库有很多的扩展,这很方便.但是每个扩展库都很臃肿,一般都会拖上额外的两三个开源库,更有甚者,扩展库的大小比SDL库本身还大得多.但有一个自带的.很有用的库很容易被大家忽视.它就是本文要讲的SDL ...

  2. NodeJS连接MongoDB数据库时报错

    今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...

  3. [GeekBand] C++学习笔记(1)——以复数类为例

    本篇笔记以复数类(不含指针的类)为例进行面向对象的学习 ========================================================= 复数类的声明: class ...

  4. OpenJudge 2739 计算对数

    1.链接地址: http://bailian.openjudge.cn/practice/2739/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 给定两个正整数a和b.可 ...

  5. 编译安装php5.5.7 脚本

      #!/bin/bash .tar.gz ];then wget http://oss.aliyuncs.com/aliyunecs/onekey/php/php-5.5.7.tar.gz fi . ...

  6. 12个有趣的C语言问答(详解)

    本文参照博文<12个有趣的C语言问答>,在原文的基础上增加来对应的知识点的详细介绍. 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? #include <st ...

  7. QtSQL学习笔记(2)- 连接到数据库

    要使用QSqlQuery或者QSqlQueryModel访问一个数据库,首先需要创建并打开一个或多个数据库连接(database connections). 一般地,数据库连接是根据连接名(conne ...

  8. 由Double类型数据到数据的格式化包java.text

    需求:Double类型数据截取操作保留两位小数 解决方案: java.text.DecimalFormat df =new java.text.DecimalFormat("#.00&quo ...

  9. struts2,登录功能模块实现

    功能: ·UserLogin作为控制登录的Action,校验密码成功后记录session,可以选择记住登陆状态,登陆成功后自动跳转到登陆前的URL: ·UserLogout作为控制登录推出的Actio ...

  10. mysql更改数据文件目录及my.ini位置| MySQL命令详解

    需求:更改mysql数据数据文件目录及my.ini位置. 步骤: 1.查找my.ini位置,可通过windows服务所对应mysql启动项,查看其对应属性->可执行文件路径,获取my.ini路径 ...