$($variableName)在PowerShell中的可扩展字符串中意味着什么?

我在网上看过很多使用它的示例脚本.最近,我在automating TFS的脚本中看到了它:

[string] $fields = "Title=$($taskTitle);Description=$($taskTitle);Assigned To=$($assignee);"
$fields += "Area Path=$($areaPath);Iteration Path=$($iterationPath);Discipline=$($taskDisciplineArray[$i]);Priority=$($i+1);"
$fields += "Estimate=$($taskEstimateArray[$i]);Remaining Work=$($taskRemainingArray[$i]);Completed Work=$($tasktaskCompletedArray[$i])"

据我所知,$($taskTitle)似乎等同于$taskTitle.我错过了什么吗?有没有理由使用括号和额外的美元符号?

最佳答案
语法有助于评估其中的表达式.

$arr = @(1,2,3)

$msg1 = "$arr.length"
echo $msg1 # prints 1 2 3.length - .length was treated as part of the string

$msg2 = "$($arr.length)"
echo $msg2 # prints 3

您可以在http://ss64.com/ps/syntax-operators.html阅读更多内容

转载注明原文:$($variableName)在PowerShell中的可扩展字符串中意味着什么? - 代码日志