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. ### 学习《C++ Primer》- 6

    Part 6: 拷贝控制(第13章) // @author: gr // @date: 2015-01-08 // @email: forgerui@gmail.com 一.拷贝.赋值与销毁 拷贝构造 ...

  2. NSArray函数

    1.判断是否包含某一个元素,返回1则表示有 - (BOOL)countainsObject:(id)anObject BOOL isContain = [arrayboy containsObject ...

  3. C#上传图片和生成缩略图以及图片预览

    因工作需要,上传图片要增加MIME类型验证和生成较小尺寸的图片用于浏览.根据网上代码加以修改做出如下效果图: 前台代码如下: <html xmlns="http://www.w3.or ...

  4. 【html】【9】div布局[div层叠]

    让DIV重叠并按想要顺序重叠需要CSS来实现,即CSS绝对定位进行实现. 重叠样式需要主要CSS样式解释1.z-index 重叠顺序属性2.position:relative和position:abs ...

  5. 详解Windows 7系统中IE8/IE9/IE10三个版本的关系(转)

    今年(2013)年初,微软开放了姗姗来迟的 IE10 for Windows 7 版本下载.至此,Windows 7 平台上可以运行三个 IE 浏览器版本.虽然 Windows 与 IE 经历了诸多版 ...

  6. MVC异步 导入excel文件

    View页面 js文件.封装到一个js文件里面 (function ($) { //可以忽略 var defaultSettings = { url: "http://upload.zhtx ...

  7. 【制作镜像Win*】系统配置

    向livibirt.xml插入Line 6-13所示代码,即加入两个virtio-serial设备: <!--vnc方式登录,端口号自动分配,自动加1,可以通过virsh vncdisplay来 ...

  8. 第46条:for-each循环优先于传统的for循环

    for-each循环通过完全隐藏迭代器或者索引变量,避免混乱和出错的可能,适用于集合和数组和任何实现Iterable接口的对象. 使用传统for循环,容易出错: enum Face { ONE, TW ...

  9. windows10和ubuntu16.04双系统下时间不对的问题

    最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...

  10. centos6.3安装openvpn客户端

    centos6.3安装openvpn客户端 Centos 默认是没有提供Openvpn的,而且在yum 的源里面也没有openvpn ,如果想使用yum安装的话要首先安装EPEL这个东西.www.2c ...