Powershell关联数组

时间:2014-01-17 14:34:15

标签: powershell

我认为我所追求的是一个关联数组,但我不太确定。

很简单,我想要做的就是这个

 ServiceArray
 ben     gold
 harry   red
 joe     green
 tim     yellow

我想在一个我可以调用的数组中使用$ servicearray.ben将返回黄金。

有人有任何指示吗?

提前致谢

1 个答案:

答案 0 :(得分:3)

你想要一个HashTable:

$ServiceArray = @{
   Ben = 'gold';
   Harry = 'red';
   Joe = 'green';
   Time = 'yellow';
 }
$ServiceArray.Ben

# Result:
# gold

如果您想要更多“列”,可以创建HashTable PSCustomObject。您可以使用PSCustomObject构建HashTable个对象,如@mjolinor所述。

$ObjectList = @{
    Ben = 
    [PSCustomObject]@{
        Color = 'Gold';
        Shape = 'Square';
    };
    Harry =
    [PSCustomObject]@{
        Color = 'Red';
        Shape = 'Round';
    };
    Joe =
    [PSCustomObject]@{
        Color = 'Green';
        Shape = 'Triangle';
    };
    Tim =
    [PSCustomObject]@{
        Color = 'Yellow';
        Shape = 'Rectangle';
    };
};

# Syntax: Use dot-notation to access "Ben"
$ObjectList.Ben.Color; # Gold
$ObjectList.Ben.Shape; # Square

# Different syntax: Use the string indexer to access "Ben"
$ObjectList['Ben'].Color; # Gold
$ObjectList['Tim'].Shape; # Rectangle