У меня есть странная двойная кавычка, когда я ожидаю только один набор двойных кавычек.VB.NET двойное цитирование
Я объединяя переменные в одну строку, чтобы создать команду 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 "" -Path \ ANZ \ NZ \
Я ожидал получить New-PublicFolder -Name «60412345 - Test Project» -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 его такая сложная вещь. Любой совет будет принят во внимание.
Благодаря Боб
Отладчик отображает содержимое строки в формате, совместимом с тем, как вы его записывали в исходный код. Используйте Text Visualizer, чтобы увидеть строку так, как вам нравится. Нажмите значок spyglass. Не принципиально отличается от C#, просто разные правила. Когда вы отлаживаете программу C#, вы увидите обратную косую черту. То же решение, используйте Text Visualizer. –
Ваша первая попытка должна работать должным образом. Проверьте значения CurrentJobProjNumber и CurrentJobProjName, чтобы убедиться, что они не содержат лишних символов кавычек. Автоматическое заполнение кавычек в новых версиях VS часто может приводить к таким проблемам для тех, которые используются для ввода самой котировки, но обычно это приводит к неверной записи строки. Обратите внимание, сделайте себе одолжение и включите опцию Strict. Ваше использование 'New String (" ")' синтаксически некорректно (которое IDE помечено с включенным Option Strict) в дополнение к тому, что оно является пустой тратой усилий по кодированию. – TnTinMn