【发布时间】:2021-09-17 14:13:32
【问题描述】:
更新:我正在尝试将用户输入值(字符串)放入二维数组。出于测试目的,我为变量分配了一个字符串。 目标:稍后我希望我的程序查看数组第 1 列的每一行,如果显示打印机,则执行安装打印机软件,如果没有打印机则不安装软件。我可以为一维数组执行此操作,但我想要 1 到 10 行。这就是为什么二维数组的想法会很复杂。
我想学习这样做,而不是要求你编写我所有的代码。 谢谢。
这是我的代码。
#set user input to a string variable
$UserInputVar = "computer1,noPrinter,Computer2,Printer,Computer3,Printer"
#this is my 2d array; Declare. i want to be able to use anywhere from 1 to 10 rows and always 2 columns
$my2d=[object[]]::(,2)
$my2d.clear #for testing purpose
#assign values of sting to 2 dimensional array
#split the string at each comma(,)
$my2d = $UserInputVar.Split(",")
#show me the values in this array
"`n #my2d[0][0] "
$my2d[0][0] #expect value 'computer1'
$my2d[0][1] #expect value 'noPrinter'
$my2d[0][2]
$my2d[0][3]
"`n #my2d[1][0] "
$my2d[1][0] #expect value 'computer2'
$my2d[1][1] #expect value 'Printer'
$my2d[1][2]
$my2d[1][3]
"`n #my2d[2][0] "
$my2d[2][0] #expect value 'computer3'
$my2d[2][1] #expect value 'Printer'
$my2d[2][2]
$my2d[2][3]
"`n #array with no 2nd index"
$my2d[0]
$my2d[1]
$my2d[2]
【问题讨论】:
-
该表不是字符串。 [grin] 请把它改成一个字符串……然后用代码标记把它换成纯文本格式。
-
$my2d = $UserInputVar.Split(",")会给你一个一维数组。另外,这个问题到底是什么,我很困惑。 -
我在示例中看到第 0 列有水果类型,第 1 列有价格。我想将用户输入作为字符串并将其分成 my2d[0][0] 和 my2d[0][1] 和 my2d[1][0]...等等。我不想要初始化值,但这就是我能找到的所有示例。
-
对不起 Lee_Dailey。我把桌子放在顶部只是为了视觉目的。我改变了它,我认为我搞砸了。
标签: arrays string powershell multidimensional-array