Windows 如何在Powershell中实例化未知数量的对象?
我对Powershell版本5中的对象创建有疑问。为了简化我的问题,我提供了我想要在功能上实现的确切Java代码 我知道,Java和Powershell除了面向对象之外没有任何共同之处,我不在乎如何在语法上实现这一点Windows 如何在Powershell中实例化未知数量的对象?,windows,powershell,powershell-5.0,Windows,Powershell,Powershell 5.0,我对Powershell版本5中的对象创建有疑问。为了简化我的问题,我提供了我想要在功能上实现的确切Java代码 我知道,Java和Powershell除了面向对象之外没有任何共同之处,我不在乎如何在语法上实现这一点 Scanner scan = new Scanner(System.in); System.out.println("How many argument lists do you want to provide?"); int i = Integer.par
Scanner scan = new Scanner(System.in);
System.out.println("How many argument lists do you want to provide?");
int i = Integer.parseInt(scan.next());
List<List<String>> list = new ArrayList<>();
for(int j = 0; j < i; j++)
{
list.add(new ArrayList<String>()); // this is the exact point if don't know how to substantiate in powershell
list.get(j).add(scan.next());
// more arguments to be entered
}
Scanner scan=新的扫描仪(System.in);
System.out.println(“您想提供多少参数列表?”);
inti=Integer.parseInt(scan.next());
列表=新的ArrayList();
对于(int j=0;j
Powershell中的实际意图是使用Read Host解析用户提供的参数,并构建包含这些参数的字符串列表。每个列表应包含一个Powershell命令的参数 您可以使用.NET中的ArrayList:
$a = New-Object System.Collections.ArrayList
$a.Add("Hello")
$a.Add(42)
您应该更多地定义这个问题,而不仅仅是发布java代码 但要回答: “如何在powershell中实例化未知数量的对象?” 要向数组中动态添加字符串,只需执行以下操作:
$a = @()
$a += Read-Host
在for循环中
如果要添加多个字符串,请阅读。我自己找到了解决方案。 这完全等同于我的java代码和我想要实现的:
$i = Read-Host -Prompt "How many argument lists do you want to provide?"
$listOfListsOfArguments = New-Object System.Collections.ArrayList
for ($i=1; $i -le $flag; $i++)
{
$Private:localParameterList = New-Object System.Collections.ArrayList
$param = Read-Host -Prompt"argument x:"
$localParameterList.add($param)
#...
$listOfListsOfArguments.add($localParameterList)
}
你的帖子里没有一个问号。我不知道你想得到什么答案。如何在powershell中实现java代码的功能等价物?如何在powershell中实例化未知数量的对象?“powershell中的实际意图是使用Read Host解析用户提供的参数,并构建一个包含这些参数的字符串列表。每个列表都应包含一个powershell命令的参数。”我不明白人们怎么会认为我希望向数组中添加字符串。我把我的任务描述得非常具体。我需要一个字符串集合来区分字符串的上下文。一个字符串集合用于一个comandlet。它们必须分开。就像我说的,如果你想添加更多的字符串,比如字符串列表,你应该读入Powershell自定义对象。我链接的网站解释了它们的工作方式。这可以在不创建自定义对象的情况下完成。如果你不知道怎么做,请不要回答。