[英]Adding a string to the verbatim string literal
我有一个名为defaultPath的路径我想将它添加到这个逐字字符串文字中,但可以得到它周围的引号。
@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\Data"""
我试图添加+ defaultPath来替换Data。 所以假设我有一个文件夹名称Data.Apple我想要输出
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\Data.Apple"
但是当我在过去的半小时里一直这样做的时候,我一直在努力
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\"Data.Apple
要么
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\" + defaultPath
这样做(首选):
string.Format(@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\{0}""", defaultPath);
或者像这样:
@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\" + defaultPath + "\"";
第一个使用string.Format
,它基本上用第二个参数中的值替换第一个参数中的{0}并返回结果。
第二个使用经典的字符串连接,我在那里做的是删除最后一个反斜杠之后的双引号( ""..\\
而不是""..\\""
),因为你不想在反斜杠后引号。 你想要defaultPath
之后的引号。 这就是这段代码的作用:它附加defaultPath
( " + defaultPath
)并在之后附加结束引用( + "\\""
)。
使用string.Format在引号之间插入变量:
string path = "Data.Apple";
string verbatim = string.Format(@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""{0}""", path);
MessageBox.Show(verbatim);
它使读取和实现更容易,您可以以类似的方式用可变部分替换路径的其他部分。
如果你试图将“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 }";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.