编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行。

C#中转义字符分2中,一种是\,一种是@。

@符号在C#中有两个作用
作用1、在字符串的前面加@表示取消字符串中的转义
例如 string path=@"d:\root\subdir";
作用2、如果用户定义的对象名和系统关键字冲突,可以在变量前面加入@
例如 string @Class="this is a test";

转义字符    字符名称    
\'    单引号    
\"    双引号    
\\    反斜杠    
\0    空字符    
\a    警报符    
\b    退格    
\f    换页    
\n    换行    
\r    回车    
\t    水平制表    
\v    垂直制表    
 
一 字符串中的用法
Verbatim字符串
    对于verbatim字符串,编译 器会严格按照原样对其进行解释。也就是说,即使这个字符串跨越多行,或是包含转义字符,编译器也将不予理会,即这些格式和转义符将按照原样输出。唯一例外的是引号,编译器必须将其转义,因为只有这样才能确定字符串的边界。
    Verbatim字符串的定义语法为以@符号开始,后面紧跟包含在引号中的字符串。例如:
string sample = @"Hello";
string sample = @"Hello\tworld"//生成Hello\tworld
以下是一个实用的示例:
string sample=@"C:\My Documents\sample.txt";
//结果为:C:\My Documents\sample.txt,如同语句:string sample="C:\\My Documents\\sample.txt"
    若想在Verbatim字符串内使用引号,必须使用附加的引号组将其转义。例如,生成字符串"Hi"的代码如下:
String s=@" " "Hi"""//注意:两边都有3个引号
上述代码将生成下列字符串:
"Hi"

 

字符@表示,其后的字符串是个“逐字字符串”(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# 中作为保留关键字,但是在其他语言中也许不是。

C#中转义字符的更多相关文章

  1. 微信小程序中转义字符的处理

    在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:‘<’.‘>’.‘&’.‘空格’等,微信小程序同样支持对转义字符的处理,下面提供两种方法用来处理微信小程序中转义字符的处理 ...

  2. C#中转义字符[转]

    https://www.cnblogs.com/muran/p/3174865.html 编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行. C#中转义字符分2中,一 ...

  3. JAVA中转义字符

    JAVA中转义字符 2010年08月11日 星期三 上午 12:22 JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377'       \0:空字符 2.U ...

  4. shell编程学习笔记(四):Shell中转义字符的输出

    通过echo可以输出字符串,下面看一下怎么输出特殊转义字符,首先我先列出来echo的转义字符: \\ 输入\ \a 输出警告音 \b 退格,即向左删除一个字符 \c 取消输出行末的换行符,和-n选项一 ...

  5. java中转义字符和路径符

    来源于:http://blog.csdn.net/u011479200/article/details/69062343 在Java的实际开发中,经常会遇填写一个文件的相对路径或者是绝对路径的问题,对 ...

  6. 关于json中转义字符/正斜杠的问题。

    1.首先有关转义字符 可以看百度百科: 先不管/是否需要转义,我们去json的官方网站去看看:http://www.json.org/ 可见有这个,那么意思是 json中 又规定建议了一下,意思是虽然 ...

  7. 160311、mybatis sql语句中转义字符

    问题: 在mapper  ***.xml中的sql语句中,不能直接用大于号.小于号要用转义字符 解决方法:   1.转义字符串 小于号    <    < 大于号    >    & ...

  8. 解决mybatis中转义字符的问题

    xml格式中不允许出现类似“>”这样的字符,有如下两种解决方法 方法一:使用转义字符 SELECT * FROM test WHERE 1 = 1 AND start_date <= CU ...

  9. mybatis sql语句中转义字符

    问题: 在mapper  ***.xml中的sql语句中,不能直接用大于号.小于号要用转义字符 解决方法:   1.转义字符串 小于号    <    < 大于号    >    & ...

随机推荐

  1. Javascript--dataTransfer

    描述: 提供对于预定义的剪贴板格式的访问,以便在拖拽中使用 属性 描述 参数 dropEffect[=sCursorStyle] 设置或获取拖拽操作的类型和要显示的光标类型 可选的copy 复制样式被 ...

  2. NHibernate中使用memcache二级缓存

    在NHibernate中使用memcache二级缓存 一.Windows下安装Memcache  1. 下载   http://jehiah.cz/projects/memcached-win32/  ...

  3. GNU中宏定义对可变参数的支持(引自百度)

    http://zhidao.baidu.com/question/125413478.html 问:#define PDEBUG(fmt,args...) fprintf(stderr,fmt, ## ...

  4. vsphere client 虚拟机安装操系统

    vSphere 是 VMware 推出的基于云计算的新一代数据中心虚拟化套件,提供了虚拟化基础架构.高可用性.集中管理.监控等一整套解决方案. VMware ESXi 是VMware vSphere ...

  5. Java集合之ArrayList源码分析

    1.简介 List在数据结构中表现为是线性表的方式,其元素以线性方式存储,集合中允许存放重复的对象,List接口主要的实现类有ArrayList和LinkedList.Java中分别提供了这两种结构的 ...

  6. Mysql高级之触发器

    原文:Mysql高级之触发器 触发器是一类特殊的事务 ,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete). 看以下事件: 完 ...

  7. Repository 仓储,你的归宿究竟在哪?(上)

    Repository 仓储,你的归宿究竟在哪?(上) 写在前面 写这篇博文的灵感来自<如何开始DDD(完)>,很感谢young.han兄这几天的坚持,陆陆续续写了几篇有关于领域驱动设计的博 ...

  8. effective java读书小记(一)创建和销毁对象

    序言 <effective java>可谓是java学习者心中的一本绝对不能不拜读的好书,她对于目标读者(有一点编程基础和开发经验)的人来说,由浅入深,言简意赅.每一章节都分为若干的条目, ...

  9. web 富文本编辑器总结

    前言 富文本编辑器,就是除了能输入不同的文本之外,还可以之间粘贴图画等其他的多媒体信息.也可说是所见即所得的编辑器. 目前可以使用的编辑器有很多, 在网络上有找到这样一份比较表格: 编辑器 产地 稳定 ...

  10. try { var mergeFilePath = string.Format("{0}mergepdf.pdf", tempDownDir); PDFPrintHelper.MergePDFFile(pdfList, mergeFi

    winform 按顺序连续打印多个PDF文件   关于PDF打印的问题,前面有篇文章(点这里查看)也叙述过,今天来谈谈另外一种方法 其实方法很简单,因为需要把多个PDF文档按顺序连续打印,为此我们为什 ...