Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在Powershell中实例化未知数量的对象?_Windows_Powershell_Powershell 5.0 - Fatal编程技术网

Windows 如何在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

我对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.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自定义对象。我链接的网站解释了它们的工作方式。这可以在不创建自定义对象的情况下完成。如果你不知道怎么做,请不要回答。