引号内的 C# 变量

标签 c#

对于字符串插值,如何处理通过管道传输到命令中的包含空格的变量?例如,如果您有一个包含空格的变量(如 UNC 路径),您将如何处理?

当“filePath”变量(即\ServerName\testfile.txt)中没有空格时,此代码有效:

例如:System.Diagnostics.Process.Start("net.exe", $"use X:\\{filePath} {pwd/USER:{usr}").WaitForExit();

但是,一旦遇到其中包含空格的路径,上面的命令就不再有效,因为它无法找到路径。通常,我会在包含空格的路径周围应用引号,以解决这个问题(在 PowerShell 等其他语言中)。你如何用 C# 插值做类似的事情。

最佳答案

C# 6.0+:

System.Diagnostics.Process.Start("net.exe", @$"use X: \\Servername\share {pwd} /USER:{usr}").WaitForExit();

C# < 6.0:

System.Diagnostics.Process.Start("net.exe", @"use X: \\Servername\share " + pwd + " /USER: " + usr).WaitForExit();

关于引号内的 C# 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49961186/

相关文章:

c# - OnActionExecuted 获取状态码

c# - 或 C# 中条件属性中的运算符

c# - 脚本通过 PowerShell 控制台正确运行,通过 C# 运行时失败

c# - 导航期间内存增加,但堆看起来不错?

c# - 异常后C#中局部变量的值?

c# - 使用横向和纵向文档

c# - 除了 pivot 之外,还有其他方法可以将行字段转换为列吗

c# - 从一个 Json 移植到 javas org.json.JSONObject,缺少键的行为不一样

c# - 检查 freetextbox 中的文本是否为空时出错

c# - C# 4.0 以及可选参数和重载的组合是否会向您发出有关歧义的警告?