如何将变量插入带有多个引号和转义字符的长字符串中?

How to insert a variable into a long string with multiple quotation marks and escape characters?

我需要处理这行非常糟糕的代码,但我还没有找到更好的方法。我的问题是我试图在这个字符串的中间插入一个变量,所以通常我只是用 + 连接,但在这种情况下,大量的引号和转义字符使得逻辑上的尝试变得很糟糕.如果有人知道一种更简单的方法,我将不胜感激——我确信有一个简单的解决方案,但我就是做不到。这是行:

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()