Long string interpolation lines in C#6 don't support Tab,CR and LF
我试着用C 6中带制表符的字符串插值"$"
1 2 | var name="My Name"; var text =$"\t\t{name}"; |
而且工作正常,标签也解决了。
尝试使用长字符串插值线时
1 2 3 4 5 6 7 | var name ="myname"; var text = $@"\t\t{name} tab and name is in a Long string interpolation "; Console.WriteLine(text); |
输出
1 2 |
选项卡 、
和未解析
所以我必须使用string.format()来解决这个问题。
问题:
对于不支持C 6(甚至C 7)中的
,这是否是长字符串插值的限制?
您在第二个示例中使用了逐字字符串,因此将对
如果要使用制表符,请不要使用逐字字符串。可以使用字符串与
该字符串前面有逐字修饰符
1 2 3 4 5 6 7 | var name ="myname"; var text = $@"{"\t\t"}{name} tab and name is in a Long string interpolation {" "} "; Console.WriteLine(text); |
或者,因为它是一个逐字的字符串,所以您只需在字符串中需要这些字符的地方按tabkbbkd(或enterabkbbkd)键。
此字符串与上面的字符串相同:
1 2 3 4 | var text = $@" {name} tab and name is in a Long string interpolation "; |