Arrays Powershell-如何使用变量定义动态确定元素数的新数组线
挑战是我希望它创建一个动态列数等于2+$n的数组行,$n列的值为0 相反,我得到一个元素$var1,$var2,0,0,0,0,0 我怎样才能转义它并用$n+2列创建我的行 预期产出:Arrays Powershell-如何使用变量定义动态确定元素数的新数组线,arrays,variables,powershell,Arrays,Variables,Powershell,挑战是我希望它创建一个动态列数等于2+$n的数组行,$n列的值为0 相反,我得到一个元素$var1,$var2,0,0,0,0,0 我怎样才能转义它并用$n+2列创建我的行 预期产出: $array = @() $line = "`$var1,`$var2" for ($n = 0; $n -eq 5 , $n++ ){ $line= "$line"+",0"} $array += ,@($line) $array += ,@($line) 等
$array = @()
$line = "`$var1,`$var2"
for ($n = 0; $n -eq 5 , $n++ ){ $line= "$line"+",0"}
$array += ,@($line)
$array += ,@($line)
等
所以我可以用
$array[0][0] will return contents of $var1
$array[0][1] will return contents of $var2
$array[0][2] will return 0
$array[0][3] will return 0
$array[0][4] will return 0
$array[1][0] will return contents of $var1
$array[1][1] will return contents of $var2
$array[1][2] will return 0
$array[1][3] will return 0
$array[1][4] will return 0
这是你想要的吗
$array[0][4] = 1
输出:
[DBG]:PS C:\Windows\system32>>$array[0][0]
试验
[DBG]:PS C:\Windows\system32>>$array[0][1]
测试1
0
0
0
0不确定是否真正理解您的问题,以下是在PowerShell中创建二维数组的方法:
$array = @(@(),@());
$var1="test"
$var2="test1"
[string] $line = "$var1,$var2"
for ($n = 0; $n -le 5 ; $n++ )
{
$line+=",0"
}
$line
$array[0]+=$line.Split(",")
$array
您使用的是一个数组:
$tab= new-object ‘object[,]’ 3,3
$tab[0,0] = "hello"
在脚本$line=“$var1,$var2”
中,不要创建一个数组,您应该编写$line=“$var1”,“$var2”
你的for
循环有一个输入错误
应替换,
,并且应从原始选项卡的实际长度$line
开始
更正后的代码如下:
$tab = ("hello","coucou"),("blue","red")
$tab[0][1]
然后
你能给出一个你正在寻找的输出的例子吗,只需键入几行…期望一个我可以返回$array[0][0]的数组将返回$var1$array[0][1]的内容将返回$var2$array[0][2]的内容将返回0$array[0][3]将返回0$array[0][4]将返回0 etcNeed以保持多维,因为我将有几百行或7-31+列(列长度由用户输入确定)@ontax,现在怎么样?干杯,JPBLanc,看起来它会成功,必须继续将PowerShell多维数组视为数组中的数组。@ontax,你也许可以把它当作回答。我要补充一点关于数组的意见。
$array = @()
$line = "`$var1","`$var2"
for ($n = $line.Length; $n -le 5 ; $n++ ){ $line+= "0"}
$array += ,@($line)
$array[0][1]
$var2