PowerShell-为什么在这行代码中使用数组?

PowerShell-为什么在这行代码中使用数组?,powershell,Powershell,我有以下代码在多个文件中查找字符串,我找到了其中的一部分 我想我不明白的语法是最后一行的这一部分: @{n='SearchWord';e={$sw}} 我会解释我认为我理解的内容,然后提问 @我想这意味着它是一个数组 n=是“名称”的缩写 冒号(;)用于分隔列的名称和填充列的表达式 e=是表达式的简写 {$sw}-括号是封装表达式所必需的 问题: 为什么使用数组填充此列 为什么必须使用表达式而不仅仅是变量“$sw” 谢谢你的帮助 它不是数组,而是哈希表。在引用的代码中,使用了a。通常,计算属性

我有以下代码在多个文件中查找字符串,我找到了其中的一部分

我想我不明白的语法是最后一行的这一部分:

@{n='SearchWord';e={$sw}}
我会解释我认为我理解的内容,然后提问

  • @我想这意味着它是一个数组
  • n=是“名称”的缩写
  • 冒号(;)用于分隔列的名称和填充列的表达式
  • e=是表达式的简写
  • {$sw}-括号是封装表达式所必需的
  • 问题:

  • 为什么使用数组填充此列
  • 为什么必须使用表达式而不仅仅是变量“$sw”

  • 谢谢你的帮助

    它不是数组,而是哈希表。在引用的代码中,使用了a。通常,计算属性用于计算材料。例如,可用磁盘空间可以按百分比计算,如下所示:


    在您使用的示例中,calculated属性用于添加一个label属性,该属性包含在
    foreach
    循环的每次迭代中使用的搜索词。

    感谢大家。我不知道什么是经过计算的财产@vonPryz帮助我理解了这一点。对于试图理解计算属性的其他人,以下是一些进一步解释计算属性的链接

    亚当·伯特伦:

    Microsoft文档:

    您正在查看。
    @{n='SearchWord';e={$sw}}
    
    @{Name = 'Free';Expression = { "{0:N0}%" -f (($_.FreeSpace/$_.Size) * 100) } }