首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在powershell中定义不同类型的多维数组

如何在powershell中定义不同类型的多维数组
EN

Stack Overflow用户
提问于 2013-05-10 09:19:31
回答 2查看 2K关注 0票数 1

我卡住了。

我想创建一个具有以下结构的多点数组

代码语言:javascript
复制
$x[index]['word']="house" 

$x[index]['number']=2,5,7,1,9

其中索引是从0到.N

第二维有两个字段"word“和"number”。

这两个字段中的每一个都包含一个数组(第一个带有字符串,第二个带有数字)。

我不知道如何声明这个$x

我试过了

代码语言:javascript
复制
$x = @(()),@(@()) - doesn't work

代码语言:javascript
复制
$x= ("word", "number"), @(@()) - doesn't work either

代码语言:javascript
复制
$x = @(@(@(@()))) - nope

然后,我想像这样使用这个数组:

代码语言:javascript
复制
$x[0]["word"]= "bla bla bla"
$x[0]["number]= "12301230123"
$x[1]["word"]= "lorem ipsum"
$x[2]["number]=...
$x[3]...
$x[4]...

最常见的错误是

数组分配失败,因为索引“0”超出了范围。 无法索引到System.Char/ into 32类型的对象

我希望使用arrays[][]或jaws @来完成这一任务,但不使用.net。

我想我漏掉了什么。

EN

Stack Overflow用户

发布于 2013-05-10 16:13:43

您可以创建一个数组,并使用哈希表初始化它:

代码语言:javascript
复制
$x=@(@{})*100;    
0..99 | foreach {$x[$_]=@{}};
$x[19]["word"]="house";
$x[19]["number"]=25719;

您需要一个大数组,例如长度为100的数组。请注意括号中的差异!

您需要第二步,因为在前面的命令中,哈希表的指针被复制了100次.你不想这样:)

现在测试它:

代码语言:javascript
复制
$x[19]["number"];
25719
$[19]["word"];
house
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16478941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档