c# - 将字符串添加到逐字字符串文字

标签 c# string-literals verbatim-string

我有一个名为 defaultPath 的路径,我想将它添加到这个逐字字符串文字中,但可以完全得到它周围的引号。

    @"""C:\Mavro\MavBridge\Server\MavBridgeService.exe"" /service /data ""..\Data"""

我试图添加 +defaultPath 来替换数据。假设我有一个名为 Data.Apple 的文件夹,我希望输出为

   "C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\Data.Apple"

但是当我在过去的半小时里一直这样做的时候,我得到了

   "C:\Mavro\MavBridge\Server\MavBridgeService.exe" /service /data "..\"Data.Apple

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

最佳答案

这样做(首选):

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

或者像这样:

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

第一个使用string.Format ,它基本上将第一个参数中的 {0} 替换为第二个参数中的值并返回结果。

第二个使用经典的字符串连接,我所做的是删除最后一个反斜杠后的双引号(""..\ 而不是 ""..\""), 因为你不想要反斜杠后的引号。您需要 defaultPath 后的引号。这就是这段代码的作用:它附加 defaultPath ("+ defaultPath) 并在之后附加结束引号 (+ "\"")。

关于c# - 将字符串添加到逐字字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537578/

相关文章:

c# - 从 C# 调用 C++ dll 函数

c# - 静态类和具有私有(private)构造函数的实例类之间的区别

c# - 如何在 C# 中生成可证明公平的掷骰子?

在 C 中更改常量变量

string - 如何连接Rust Vector的两个 `&str`类型元素并将其添加到零索引

c# - 如何在 VB.NET 中执行逐字字符串文字?

c# - 如何在 C# 中维护字符串中引用的多个引号

c# - 逐字转义字符串文字

c# - 入队 C# 队列

ios - 数组初始化 objective-c