A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么C#控制台程序字符串输出双引号要加\ ,例如  Console.WriteLine("您定的酒店自助餐\"A\"系列已经取消");

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

11 个回复

正序浏览
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C#中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
所有的转义字符和所对应的意义:   转义字符 意义 ASCII码值(十进制)  
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010  
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT)  011
\\ 代表一个反斜线字符''\' 092
​ ​ ​
\' 代表一个单引号(撇号)字符 039
\" 代表一个双引号字符  034
\0 空字符(NULL)  000
\ddd 1到3位八进制数所代表的任意字符  三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制
回复 使用道具 举报
首先\是转义字符,它是把特殊字符转义为一般字符,这样的转义字符还有@,@是把后面的一个字符串的所有特殊字符都转义为一般字符,,双引号是特殊字符,不能被输出,所以要转义为一般字符后才能输出,所以其前要加转义字符:\  
回复 使用道具 举报
/在c#中代表转义字符,上面的说的很清楚 我就不多说了 不过你要注意@在路径上,可以直接转义  “\” 。
而不使用@,则必须转义  “\\” 。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
转义字符!当要在页面显示或者输出的时候,如\n是换行的意思,但去掉了\后就只剩下n了,而无法达到换行的目的!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
转义字符,这个应该算是语法吧
程序里规定的,C#里的转义字符。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
斜杠是转义字符,看后面跟的什么,不同的有不同的意思,为的是编译时不起冲突

C#转义字符:

·一种特殊的字符常量;
·以反斜线"\"开头,后跟一个或几个字符。
·具有特定的含义,不同于字符原有的意义,故称“转义”字符。
·主要用来表示那些用一般字符不便于表示的控制代码。
·它的作用是消除紧随其后的字符的原有含义
·用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义”
·用可以看见的字符表示那不可以看见的字符, 如'\n'表示换行


常用的转义字符及其含义:
\’ 单引号
\” 双引号
\\ 反斜杠
\0 空
\a 警告(产生峰鸣)
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符

希望对你有帮助

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
要想输出",就必须加转义字符,这是程序中默认的规则,在C#,JS,HTML中很多地方要用到转义字符。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
还用问么?C#中 "、"标记字符串的开始和结束。想要输出""就要使用转义符\,类似的还有很多。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
引用你上面的例子:Console.WriteLine("您定的酒店自助餐\"A\"系列已经取消");
如果不加\的话要输出的内容变成"您定的酒店自助餐"和"系列已经取消"而A就被当成变量来,所以程序就会报错!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
秦永辉 发表于 2012-7-5 16:25
转义字符,应该C#默认输出的是""中间的内容!

有道理,谢谢!
回复 使用道具 举报
转义字符,应该C#默认输出的是""中间的内容!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马