2014-01-17 98 views
0

我想我以后是一个关联数组,但我不太确定。Powershell关联数组

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

ServiceArray 
ben  gold 
harry red 
joe  green 
tim  yellow 

我想有一个数组,我可以打电话这么servicearray.ben $将返回金。

任何人有任何指针?

在此先感谢

回答

3

你想要一个哈希表:

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

# Result: 
# gold 

如果您想了解更多 “列”,你可以创建PSCustomObjectHashTable。您可以使用HashTable构建PSCustomObject对象,如@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 
+0

这正是我一直在寻找的,谢谢。如果你想把它扩展到更多列呢?说本金男人或哈利红色女人 – Trinitrotoluene

+1

如果你想要更多的列,是时候创建一个自定义对象。 – mjolinor

+0

已更新答案以容纳“更多列”。 :) –