【问题标题】:How to insert a variable into a long string with multiple quotation marks and escape characters?如何将变量插入带有多个引号和转义字符的长字符串中?
【发布时间】:2021-07-29 20:57:26
【问题描述】:

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

Process.Start(@"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ", @"""C:\Thunder\Scripts\script.ps1"" ""VARIABLE""");

所以我要做的是在 VARIABLE 文本所在的位置放置一个字符串变量。当我尝试将其拆分为 concat 时,@"s\'s 的组合,我无法以可以将变量连接到其中的方式将字符串分开。我认为这里有一种更简单的方法,我错过了。谢谢。

【问题讨论】:

标签: c# .net variables escaping


【解决方案1】:

你可以使用string interpolation:

$@"""C:\Thunder\Scripts\script.ps1"" ""{variable}""";

使用$ 前缀允许使用大括号插入变量,这将减少您的情况下的引号数量。


如果variable 不是字符串,则会在对象上调用隐式ToString()

【讨论】:

  • 看起来这行得通!我需要运行一些测试以确保它的行为符合预期,但到目前为止它看起来不错!感谢您的帮助,这为我省去了很多麻烦。编程是工作中的第三个角色,所以我还有很多东西要学。
  • 测试确认,完美运行。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
相关资源
最近更新 更多