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. VC++代码的汇编分析(一)

    VC++代码是最接近汇编指令的高级语言,为了更加准确和深刻理解VC++编码中所涉及的很多技术概念和编译器参数的含义,从汇编指令层面进行剖析和解读,有助于开发者更加准确.直观.深刻理解高级语言中很多概念 ...

  2. 程序员面试题精选100题(33)-在O(1)时间删除链表结点[数据结构]

    作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode { ...

  3. 第9条:覆盖equals时总要覆盖hashCode

    在每个覆盖equals方法的类中,也必须覆盖hashCode方法.否则,会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常工作,包括HashMap,Hash ...

  4. a标签根据js返回值判断页面是否跳转

    a标签再跳转之前先判断是否符合条件,符合可以跳转,不符合不可以跳转. 自己遇到的问题是:在js方法中根据条件就return结果,但是不行. 原因是:在js方法中return后不会结束整个js方法(ac ...

  5. PLINQ 简介

    PLINQ和LINQ的语法基本是差不多的,PLINQ该如何实现并行 var query = from item in source.AsParallel() select item; 一个简单的AsP ...

  6. yii2 用gii生成后台模块 view path描述

    view path 格式: @backend/views/refund , 注意@和/

  7. sublime主题推荐

    PS:之前在CSDN上写的文章,现在转到博客园~ 寒假的时候发现一个sublime主题,我觉得很赞哦~~推荐给大家~~ 下载方式 step1:ctrl+shift+p  调出command palet ...

  8. ACE_linux:读写锁

    1.涉及类 ACE_RW_Thread_Mutex //ACE读写锁ACE_Read_Guard //ACE加读锁ACE_Write_Guard //ACE加写锁ACE_Thread_Manager ...

  9. x86与x64与x86_64

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA ...

  10. Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already(转载)

    转载自:http://blog.csdn.net/aigochina/article/details/7891107 Eclipse启动Tomcat错误: Several ports (8080, 8 ...