我有以下代码:

function printVars($var1, $var2)
{
  Write-Host "var1: $var1"
  Write-Host "var2: $var2"
}

printVars ('asdf', 'qwer')

它产生这样的结果:
var1: asdf qwer
var2:

我期待这个:
var1: asdf
var2: qwer

为什么要这样做,我如何让它做我想做的事?

最佳答案

因为 ('asdf','qwer') 被视为数组,所以 $var1 获取数组并且 $var2 为空。

printVars 'asdf' 'qwer'
即使您没有括号而只有逗号,它也是一个数组。

试试这个:

$b ="one","two"
$b.GetType()

关于powershell - 为什么powershell会自动将我的字符串附加在一起并将其作为第一个参数传递?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6944077/

10-12 22:24