Nim*_*iri 13 powershell object
我正在浏览一个对象数组,我可以很好地显示这些对象.
$obj
Run Code Online (Sandbox Code Playgroud)
在我的foreach循环中显示每个对象.我正在尝试访问对象字段及其值.这段代码也可以正常工作:
$obj.psobject.properties
Run Code Online (Sandbox Code Playgroud)
要查看每个对象字段的名称,我这样做:
$obj.psobject.properties | % {$_.name}
Run Code Online (Sandbox Code Playgroud)
这也很好.
当我尝试通过这样做访问这些字段的值时:
$obj.psobject.properties | % {$obj.$_.name}
Run Code Online (Sandbox Code Playgroud)
没有返回或显示任何内容.
这样做是为了诊断目的,以查看我是否可以访问字段的值.主要困境是我无法访问特定字段的值.即
$obj."some field"
Run Code Online (Sandbox Code Playgroud)
即使我已确认"某个字段"具有值,也不会返回值.
这让我感到困惑.有谁知道我做错了什么?
Sha*_*evy 23
迭代foreach中的属性后,它们将通过$_(当前对象符号)变为可用.就像你打印属性的名称一样$_.Name,使用$_.Value将打印它们的值:
$obj.psobject.properties | % {$_.Value}
Run Code Online (Sandbox Code Playgroud)
如果您只需要其中一个属性的值,则不必遍历所有属性:
$obj.psobject.properties["bla"].value
Run Code Online (Sandbox Code Playgroud)
运算符优先级按以下方式解释:
($obj.$_).Name
Run Code Online (Sandbox Code Playgroud)
因为你想要什么都没有
$obj.($_.Name)
Run Code Online (Sandbox Code Playgroud)
它将首先评估属性的名称,然后访问它$obj.
| 归档时间: |
|
| 查看次数: |
40831 次 |
| 最近记录: |