私はID、名前のペアを返す関数を書いています。私はpowershellには連想配列がありますか?
$a = get-name-id-pair()
$a.Id
$a.Name
が好きなような何かをしたいと思います
はJavaScriptで可能です。または少なくとも
$a = get-name-id-pair()
$a["id"]
$a["name"]
が可能です。私はパワーシェルでそれをすることはできますか?
私はID、名前のペアを返す関数を書いています。私はpowershellには連想配列がありますか?
$a = get-name-id-pair()
$a.Id
$a.Name
が好きなような何かをしたいと思います
はJavaScriptで可能です。または少なくとも
$a = get-name-id-pair()
$a["id"]
$a["name"]
が可能です。私はパワーシェルでそれをすることはできますか?
も
$a = @{'foo'='bar'}
または
$a = @{}
$a.foo = 'bar'
はい。同じくらい
function get-faqentry { "meaning of life?", 42 }
$q, $a = get-faqentry
ない連想配列、しかし:あなたはまた、これを行うことができ、それらを
$a = @{}
$a["foo"] = "bar"
を作成するには、次の構文を使用します。有用。
は
#Define an empty hash
$i = @{}
#Define entries in hash as a number/value pair - ie. number 12345 paired with Mike is entered as $hash[number] = 'value'
$i['12345'] = 'Mike'
$i['23456'] = 'Henry'
$i['34567'] = 'Dave'
$i['45678'] = 'Anne'
$i['56789'] = 'Mary'
#(optional, depending on what you're trying to do) call value pair from hash table as a variable of your choosing
$x = $i['12345']
#Display the value of the variable you defined
$x
#If you entered everything as above, value returned would be:
Mike
-Oisin私は、複数のドメインで作業するときにサイト/ディレクトリを追跡するためにこれを使用しています。むしろ、個別に各項目を追加するよりも、それを宣言するときには、配列を初期化することが可能である:私は解決策を探していたとものを見つけていなかったとして
$domain = $env:userdnsdomain
$siteUrls = @{ 'TEST' = 'http://test/SystemCentre'
'LIVE' = 'http://live/SystemCentre' }
$url = $siteUrls[$domain]
は、また、ハッシュテーブルを反復処理する方法が追加されます...
$c = @{"1"="one";"2"="two"}
foreach($g in $c.Keys){write-host $c[$g]} #where key = $g and value = $c[$g]
PS C:\> $a = @{}
PS C:\> $a.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Hashtable System.Object
だから、ハッシュテーブルは連想配列です。ああ。
または:
PS C:\> $a = [Collections.Hashtable]::new()
古いコメントが、どのようにあなたは、foreachループを経由して連想配列をループしませんか? –
$連想配列= @ { ジェーン= 1 トム= 2 ハリー= 3 } foreachの($ associativeArray.Keysで$キー)$における{ $キー } foreachの($アイテム{0} = {1} "-f $ item.Key、$ item.Value }×コメントの長さは15文字以上でなければなりません。コメントは少なくとも15文字でなければなりません。長さ×コメントは少なくとも15文字の長さでなければなりません。 –