Adding a string to the verbatim string literal

前端 未结 3 810
天涯浪人
天涯浪人 2021-01-05 01:20

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\\Mav         


        
相关标签:
3条回答
  • 2021-01-05 01:45

    So if you would like to take advantage of the string interpolation with c# 6 you could also do

    var randomText = "insert something";
    var yourString = $@"A bunch of text in here 
    that is on seperate lines
    but you want to {randomText }";
    
    0 讨论(0)
  • 2021-01-05 01:53

    Do it like this (preferred):

    string.Format(@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\{0}""", defaultPath);
    

    Or like this:

    @"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\" + defaultPath + "\"";
    

    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 after defaultPath. And that's what this code does: It appends defaultPath (" + defaultPath) and appends the closing quote afterwards (+ "\"").

    0 讨论(0)
  • 2021-01-05 01:58

    Use string.Format to insert the variable between the quotes:

    string path = "Data.Apple";
    string verbatim = string.Format(@"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""{0}""", path);
    MessageBox.Show(verbatim);
    

    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 ".

    0 讨论(0)
提交回复
热议问题