猿问

引号内的C#变量

使用字符串插值法,如何处理通过管道传递到命令中且包含空格的变量?例如,如果您的变量中包含空格(例如UNC路径),那么如何处理呢?

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

例如:System.Diagnostics.Process.Start(“ net.exe”,$“使用X:\\ {filePath} {pwd / USER:{usr}”)。WaitForExit();

但是,一旦遇到其中有空格的路径,上面的命令将不再起作用,因为它无法找到该路径。通常,我会在包含空格的路径周围加上引号,以解决此问题(在其他语言中,例如PowerShell)。您如何使用C#插值执行类似的操作。


大话西游666
浏览 161回答 3
3回答

浮云间

C#6.0以上版本:System.Diagnostics.Process.Start("net.exe",&nbsp;@$"use&nbsp;X:&nbsp;\\Servername\share&nbsp;{pwd}&nbsp;/USER:{usr}").WaitForExit();C#<6.0:System.Diagnostics.Process.Start("net.exe",&nbsp;@"use&nbsp;X:&nbsp;\\Servername\share&nbsp;"&nbsp;+&nbsp;pwd&nbsp;+&nbsp;"&nbsp;/USER:&nbsp;"&nbsp;+&nbsp;usr).WaitForExit();
随时随地看视频慕课网APP
我要回答