[英]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.