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

标签 c# .net variables escaping

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

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/

相关文章:

.net - 使用 .NET 中的卷影复制服务 (VSS) - 可用的最佳方法/项目?

c# - 接口(interface)接口(interface) <T> : T

python - Python 中有声明关键字吗?

linux - Bash 脚本变量替换

c# - 如何配置 log4net 以便可以将对象的属性映射到日志输出?

c# - 在 C# 中显示分层数据

c# - 写入只读文件

java - Java 中修改后的方法参数与它的副本有什么区别?

c# - Xamarin listView 中的绑定(bind)颜色

c# - 我不明白 EF5 dbContext.Entry(entity).Reload() 方法应该如何工作?