C#给字符串赋予字面值——字符串插入、转义序列的使用
1.占位符、字符串插入
给字符串赋予字面值时,经常遇见在字符串中包含变量的情况,用连接符进行拼接、转换的方式比较麻烦、还容易出错。C#提供了较为便捷的处理方式,即‘占位符’,以及C#6的新功能‘插入字符串’(没记错的话是VS2015及后续新版本可用该功能)。下面举个简单的例子说明用法:
string a="A friend in need";
string b="a friend indeed.";
想要输出A friend in need is a friend indeed.这句话,可选择如下方式:
(1)占位符
Console.WriteLine(“{0}is{1}”,A friend in need,a friend indeed.");
/*字符串里面需要使用变量的时候,先在该位置使用{ 编号}占位符(编号从0开始),再在后面相应位置写内容*/
(2)插入字符串
Console.WriteLine($"{a} is {b}");
/*在双引号前面加$,然后把双引号里面的变量用{ }括起来,双引号内的变量即可按变量所代表的内容输出*/
2.转义序列
以下内容转载自夜店耍流氓的博客
原文链接:C#中字符串的字面值(转义序列)
在程序开发中,经常会碰到在字符串中字面值中使用转义序列,下面表格收集了下转义序列的完整列表,以便大家查看引用:
| 转义序列 | 产生的字符 | 字符的Unicode值 |
| \' | 单引号 | 0x0027 |
| \" | 双引号 | 0x0022 |
| \\ | 反斜杠 | 0x005C |
| \0 | 空 | 0x0000 |
| \a | 警告(产生蜂鸣) | 0x0007 |
| \b | 退格 | 0x0008 |
| \f | 换页 | 0x000C |
| \n | 换行 | 0x000A |
| \r | 回车 | 0x000D |
| \t | 水平制表符 | 0x0009 |
| \v | 垂直制表符 | 0x000B |
表中的“Unicode值”列是字符在Unicode字符集中的16进制值。使用Unicode转义序列可以指定Unicode字符,该转义序列包括标准的\字符,后跟一个u和一个4位十六进制值(例如,表中x后面的4位数字)。
下面的字符串是等价的:
"Karli\'s string."
"Karli\u0027s string."
显然,Unicode转义序列还有更多用途。
也可以逐字地指定字符串,即两个双引号之间的所有字符都包含在字符串中,包括行末字符和需要转义的字符。唯一例外是双引号字符的转义,它们必须指定,以免结束字符串。为此,可以在该字符串之前加一个@字符:
@"Verbatim string literal."
可以采用一般方式指定这个字符串,但需要使用下面这种方法:
@"A short list:
item 1
item2"
逐字指定的字符串在文件名中非常有用,因为文件名中大量使用了反斜杠字符。如果使用一般的字符串,就必须在字符串中使用两个反斜杠,例如:
"c:\\Temp\\MyDir\\MyFile.doc"
而有了逐字指定的字符串字面值,这段代码就更便于阅读。下面的字符串与上面的等价:
@"c:\Temp\MyDir\MyFile.doc" //@后面的字符全部按字面意思解释(如该语句中的\不再视作转义序列的,而是直接视作一个字符)
C#给字符串赋予字面值——字符串插入、转义序列的使用的更多相关文章
- C#中字符串的字面值(转义序列)
在程序开发中,经常会碰到在字符串中字面值中使用转义序列,下面表格收集了下转义序列的完整列表,以便大家查看引用: 转义序列列表 转义序列 产生的字符 字符的Unicode值 \' 单引号 0x0027 ...
- js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果
使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...
- linux sed在某些字符串的下一行插入内容?sed在下一行插入?
需求描述: 今天在配置nrpe的时候,使用到了在搜索到某些字符串之后,然后在字符串的下一行进行插入字符串 在此记录下如何实现. 即通过sed的a命令实现内容的追加. 操作过程: 1.查看原文件中的内容 ...
- 笔记:iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)(别人的代码直接复制过来的,我脸皮有点厚)
NSString* str=@"hello";//存在代码区,不可变 NSLog(@"%@",str); //1.[字符串插入] NSMutableString ...
- iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)
NSString* str=@"hello";//存在代码区,不可变 NSLog(@"%@",str); //1.[字符串插入] NSMutableString ...
- 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值
016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...
- C#字符串处理 及字符串格式化
本文来自:http://www.cnblogs.com/xuerongli/archive/2013/03/23/2976669.html string字符串是char的集合,而char是Unicod ...
- 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里
JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...
- Qt字符串类——1.字符串常用的几种操作
字符串有如下几个操作符: (1)QString提供了一个二元的"+"操作符用于组合两个字符串,并提供了一个"+="操作符用于将一个字符串追加到另一个字符串的末尾 ...
随机推荐
- Keras Model Sequential模型接口
Sequential 模型 API 在阅读这片文档前,请先阅读 Keras Sequential 模型指引. Sequential 模型方法 compile compile(optimizer, lo ...
- centos7 安装 smplayer
How to setup multimedia on CentOS 7 You will need to also install the EPEL repository as nux-dextop ...
- 权限管理系统之SpringBoot集成LayUI实现后台管理首页
万事开头难,昨天一直在构思用户权限管理系统怎么实现,实现哪些需求,采用什么技术等,也在网上百度了好多,计划使用SpringBoot + Mybatis + thymeleaf + LayUI + S ...
- Windows Server 2008 中iis反向代理设置
1.安装 IIS(Windows专业版自带,如果是server版系统,需要通过功能管理器安装(无需下载)) urlrewrite插件,https://www.iis.net/downloads/mic ...
- PLSQL 登录出现 ora12638 credential retrieval failed
参考:http://blog.csdn.net/yjq8116/article/details/4203168 解决了 开始 -> 程序 -> Oracle -> Configura ...
- 前端_Bootstrap简单使用
首先说一下简单使用方法: 1.首先上官网下载Bootstrap(就是一些js文件和一些css文件) ,网址: https://v3.bootcss.com/getting-started/#downl ...
- 什么是mybatis?
[学习笔记] 什么是mybatis: Mybatis本质是一种半自动化的ORM框架,前身是ibatis,除了要pojo和映射关系之外,还需要些sql语句. 怎么看待ORM框架: 处理矛盾的,java程 ...
- 【转】使用MySQL处理百万级以上数据时,不得不知道的几个常识
---------------------------------------------------------------------------------------------------- ...
- jsp内置对象-response对象
一.概念 隐含对象response是javax.servlet.HttpServletResponse接口实现类的对象.response对象封装了JSP产生的响应,用于响应客户端的请求,向客户端输出信 ...
- [转载]编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数
[转载]编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数 转载自:https://blog.csdn.net/one_money/article/details/56921 ...