我需要处理这行非常糟糕的代码,但我还没有找到更好的方法。我的问题是我试图在这个字符串的中间插入一个变量,所以通常我只会用 + 连接,但在这种情况下,大量的引号和转义字符使得逻辑上的尝试变得很糟糕。如果有人知道一种更简单的方法,我将不胜感激 - 我确信有一个简单的解决方案,但我就是无法得到它。这是行:
Process.Start(@"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ", @"""C:\Thunder\Scripts\script.ps1""""VARIABLE"“”);
所以我想做的就是在变量文本所在的位置放置一个字符串变量。当我尝试将其分解以连接 @
、"s
和 \'s
的组合时,我可以'不要以这样的方式将字符串分开,以便我可以将变量连接到其中。我认为这里有一种我缺少的更简单的方法。谢谢。
最佳答案
您可以使用string interpolation :
$@"""C:\Thunder\Scripts\script.ps1"" ""{variable}""";
使用 $
前缀允许使用大括号插入变量,这将减少案例中的引用数量。
如果variable
不是字符串,则会在对象上调用隐式ToString()
。
关于c# - 如何将变量插入带有多个引号和转义字符的长字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67436831/