为什么$dlls.Count
返回单个元素?我尝试这样声明我的字符串数组:
$basePath = Split-Path $MyInvocation.MyCommand.Path
$dlls = @(
$basePath + "\bin\debug\dll1.dll",
$basePath + "\bin\debug\dll2.dll",
$basePath + "\bin\debug\dll3.dll"
)
最佳答案
您应该使用类似:
$dlls = @(
($basePath + "\bin\debug\dll1.dll"),
($basePath + "\bin\debug\dll2.dll"),
($basePath + "\bin\debug\dll3.dll")
)
or
$dlls = @(
$($basePath + "\bin\debug\dll1.dll"),
$($basePath + "\bin\debug\dll2.dll"),
$($basePath + "\bin\debug\dll3.dll")
)
如您的答案所示,分号也起作用,因为这标志着语句的结尾……将被评估,类似于使用括号。
或者,使用其他模式,例如:
$dlls = @()
$dlls += "...."
但是随后您可能想要使用ArrayList并获得性能优势...
参见PowerShell array initialization
关于arrays - 如何声明字符串数组(多行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37758514/