在powershell中获取HashTable的长度

bsw*_*ton 9 powershell

我是PowerShell的新手,并试图获得HashTable的长度(用于for循环),但我似乎无法获得HashTable的长度来输出任何东西.

$user = @{}
$user[0] = @{}
$user[0]["name"] = "bswinnerton"
$user[0]["car"] = "honda"

$user[1] = @{}
$user[1]["name"] = "jschmoe"
$user[1]["car"] = "mazda"

write-output $user.length   #nothing outputs here

for ($i = 0; $i -lt $user.length; $i++)
{
    #write-output $user[0]["name"]
}
Run Code Online (Sandbox Code Playgroud)

CB.*_*CB. 21

@{}声明一个HashTable,然后@()声明一个数组

您可以使用

$user.count
Run Code Online (Sandbox Code Playgroud)

找到length你的HashTable.

如果你这样做:

$user | get-member
Run Code Online (Sandbox Code Playgroud)

您可以看到对象的所有方法和属性.

$user.gettype()
Run Code Online (Sandbox Code Playgroud)

返回您拥有的对象的类型.