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#中字符串的字面值(转义序列)

时间: 2024-08-30 01:38:02

C#中字符串的字面值(转义序列)的相关文章

C#给字符串赋予字面值——字符串插入、转义序列的使用

1.占位符.字符串插入 给字符串赋予字面值时,经常遇见在字符串中包含变量的情况,用连接符进行拼接.转换的方式比较麻烦.还容易出错.C#提供了较为便捷的处理方式,即'占位符',以及C#6的新功能'插入字符串'(没记错的话是VS2015及后续新版本可用该功能).下面举个简单的例子说明用法: string a="A friend in need"; string b="a friend indeed."; 想要输出A friend in need is a friend

C/C++中字符串String及字符操作方法

本文总结C/C++中字符串操作方法,还在学习中,不定期更新... 字符串的输入方法 1.单个单词可以直接用std::cin,因为:std::cin读取并忽略开头所有的空白字符(如空格,换行符,制表符),读取字符直至再次遇到空白字符,读取终止.所以cin只能读取单个单词.显然可以多次使用cin来获取多个单词: 2.多个单词使用函数std::getline(std::cin, s)请看下面代码: #include <iostream> #include <string> int mai

Java内存管理-探索Java中字符串String(十二)

做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 一.初识String类 首先JDK API的介绍: public final class String extends Object implements Serializable, Comparable<String>, CharSequence String类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符

Python中字符串格式化如何实现?

Python开发中字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号方式 %[(na

python中字符串链接的七种方式

一. str1+str2 string类型 '+'号连接 >>> str1="one" >>> str2="two" >>> str1+str2 'onetwo' >>>注意:该方式性能较差,因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了例

Python中字符串查找效率比较

Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): i

【转】Java中字符串中子串的查找共有四种方法(indexof())

原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 3.int lastIndexOf(String st

c语言中字符串操作的工具类

 1.编写头文件 #define _CRT_SECURE_NO_WARNINGS //#pragmawarning(disable:4996) #include <stdio.h> #include <stdlib.h> #include <string.h> struct CString { char *p;        //保存字符串首地址 int reallength; //实际长度 }; typedef struct CString mystring;//

Java中字符串比较时==和equals的区别

==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同. 例如String a = "abc"; String b = "abc"; a == b返回true,a.equals(b)同样返回true,这是为什么呢? 原来程序在运行时有一个字符串池,创建字符串时会先查找池中是否有相应的字符串,如果已经存在的话只需把引用指向它即可,如果没有则新建一个. 上例中创建a时,会在字符串池中首先创建一个"abc&qu