I have a path that is named defaultPath I want to add it into this verbatim string literal but can quite get the quotes around it.
@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\Data"""
I was trying to add +defaultPath to replace Data. So lets say I have a folder name Data.Apple I want the output to be
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\Data.Apple"
But when I have been doing it for the past half hour I have been getting
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\"Data.Apple
or
"C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\" + defaultPath
Do it like this (preferred):
Or like this:
The first one uses
string.Format
, which basically replaces the {0} in the first parameter with the value in the second parameter and returns the result.The second one uses classical string concatenation and what I did there was to remove the double quotes after the last backslash (
""..\
instead of""..\""
), because you didn't want the quotes after the backslash. You wanted the quotes afterdefaultPath
. And that's what this code does: It appendsdefaultPath
(" + defaultPath
) and appends the closing quote afterwards (+ "\""
).Use string.Format to insert the variable between the quotes:
It makes it easier to read and to implement, you can replace other portions of the path with variable sections in a similar manner.
If you try to just append the "defaultPath" variable to the end, it will never work correctly, as you've already added the closing
"
.So if you would like to take advantage of the string interpolation with c# 6 you could also do