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" //@后面的字符全部按字面意思解释(如该语句中的\不再视作转义序列的,而是直接视作一个字符)