我试图在foreach循环中组合几个哈希表:
$a = {"name" = 'Joe'; "Lname" = 'Doe'; "State" = 'KT'}
$b = {"name" = 'Martha'; "Lname" = 'Who'; "State" = 'LA'}
$c = $a,$b #<=combining.
真正的问题是&#34;逗号&#34;,因为哈希表来自ForEach
循环,最后一个成员总是有,
试图找到一种有效的方法将,
从最后一个成员中删除到哈希表数组,否则我将不得不通过
(找到最后一个成员?是:否),然后添加逗号,否则只需添加成员。
使用子字符串删除它们没有用,因为$c
是
TypeName: System.Collections.Hashtable
Name MemberType Definition
---- ---------- ----------
Count Property System.Int32 Count {get;}
IsFixedSize Property System.Boolean IsFixedSize {get;}
IsReadOnly Property System.Boolean IsReadOnly {get;}
IsSynchronized Property System.Boolean IsSynchronized {get;}
Keys Property System.Collections.ICollection Keys {get;}
SyncRoot Property System.Object SyncRoot {get;}
Values Property System.Collections.ICollection Values {get;}
我相信会有更好的选择来删除&#34;,&#34;或者更好的方法在foreach循环中添加哈希表
答案 0 :(得分:2)
我不确定这是不是你想做的事。
如果您的意思是要创建现有哈希表的数组,可以像这样添加它们:
$a = @{"name" = 'Joe'; "Lname" = 'Doe'; "State" = 'KT'}
$b = @{"name" = 'Martha'; "Lname" = 'Who'; "State" = 'LA'}
$c = ,$a+,$b
你也可以这样做:
$c = @()
$c += $a
$c += $b
然后
$c
Name Value
---- -----
Lname Doe
name Joe
State KT
Lname Who
name Martha
State LA
个别哈希表:
$c[0]
Name Value
---- -----
Lname Doe
name Joe
State KT
$c[1]
Name Value
---- -----
Lname Who
name Martha
State LA
个人价值观:
$c[0]["Lname"]
Doe
使用ForEach循环访问:
$c | % { $_["Lname"]}
Doe
Who