用连接符进行拼接、转换的方式比较麻烦、还容易出错

时间:2022-03-23 04:35:16

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