hei*_*nst 6 c# string-literals verbatim-string
我有一个名为defaultPath的路径我想将它添加到这个逐字字符串文字中,但可以得到它周围的引号.
@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\Data"""
Run Code Online (Sandbox Code Playgroud)
我试图添加+ defaultPath来替换Data.所以假设我有一个文件夹名称Data.Apple我想要输出
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\Data.Apple"
Run Code Online (Sandbox Code Playgroud)
但是当我在过去的半小时里一直这样做的时候,我一直在努力
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\"Data.Apple
Run Code Online (Sandbox Code Playgroud)
要么
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\" + defaultPath
Run Code Online (Sandbox Code Playgroud)
这样做(首选):
string.Format(@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\{0}""", defaultPath);
Run Code Online (Sandbox Code Playgroud)
或者像这样:
@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\" + defaultPath + "\"";
Run Code Online (Sandbox Code Playgroud)
第一个使用string.Format
,它基本上用第二个参数中的值替换第一个参数中的{0}并返回结果.
第二个使用经典的字符串连接,我在那里做的是在最后一个反斜杠(""..\
而不是""..\""
)之后删除双引号,因为你不想在反斜杠之后使用引号.你想要之后的报价defaultPath
.这就是这段代码的作用:它追加defaultPath
(" + defaultPath
)并追加结束后的引用(+ "\""
).
因此,如果您想利用c#6进行字符串插值,您也可以
var randomText = "insert something";
var yourString = $@"A bunch of text in here
that is on seperate lines
but you want to {randomText }";
Run Code Online (Sandbox Code Playgroud)