VB.NET双引号

时间:2016-10-29 05:02:04

标签: vb.net quotes

当我只期待一组双引号时,我有一个奇怪的双引号问题。

我将变量连接成一个字符串以构建一个PowerShell命令,我将通过powershell运行空间运行。我正在使用String.Format()来格式化字符串,但是当我引入一个变量并在字符串中添加ControlChars.Quote时,我会在变量的每一侧获得2组引号。好像我根本不包括引号,我没有得到任何报价。这两个实例都是不正确的。

Dim psCommand As String = New String("")
psCommand = String.Format("New-PublicFolder -Name {0}{1} - {2}{0} -Path \ANZ\NZ\", ControlChars.Quote, CurrentJobProjNumber, CurrentJobProjName)

运行时得到的结果是:New-PublicFolder -Name“”60412345 - Test Project“” - Path \ ANZ \ NZ \

我期待得到New-PublicFolder -Name“60412345 - 测试项目”-Path \ ANZ \ NZ \

我尝试了许多不同的方法,所有这些都会导致上面的错误结果,而不是我期望的正确结果。

psCommand = String.Format("New-PublicFolder -Name " & Chr(34) & CurrentJobProjNumber & " - " & CurrentJobProjName & Chr(34) & " -Path \ANZ\NZ\"

psCommand = String.Format("New-PublicFolder -Name {0}{1} - {2}{0} -Path \ANZ\NZ\", Chr(34), CurrentJobProjNumber, CurrentJobProjName)

Dim test As String = New String("")
test = Chr(34) & CurrentJobProjNumber & " - " & CurrentJobProjName & Chr(34)
psCommand = "New-PublicFolder -Name " & test & " -Path \ANZ\NZ"

我不确定我做错了什么,因为看起来很简单(并且在C#中)我无法弄清楚为什么在VB.net中它会如此复杂。任何建议将不胜感激。

由于 鲍勃

1 个答案:

答案 0 :(得分:0)

要在vb.net中转义双引号,只需使用两个双引号即可。我将使用您的上一次测试给您一个例子:

    Dim test As String = Nothing
    Dim CurrentJobProjNumber As String = "60412345"
    Dim CurrentJobProjName As String = "Test Project"
    test = """" & CurrentJobProjNumber & " - " & CurrentJobProjName & """"
    Dim psCommand As String = "New-PublicFolder -Name " & test & " -Path \ANZ\NZ"
    MsgBox(psCommand)

将所有这些双引号叠加在一起看起来确实很奇怪,但这会让你得到你正在寻找的东西。