Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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
Powershell 为什么反转arraylist不会显示任何结果?_Powershell_Arraylist - Fatal编程技术网

Powershell 为什么反转arraylist不会显示任何结果?

Powershell 为什么反转arraylist不会显示任何结果?,powershell,arraylist,Powershell,Arraylist,我正在尝试反转队列并使其成为堆栈。但它没有显示任何输出 $queue = [System.Collections.ArrayList]@() $queue.Add("Object1") | Out-Null $queue.Add("Object2") | Out-Null "=========== Queue ================" foreach ($i in $queue) { $i } $stack = $queue.Reverse() "=========== s

我正在尝试反转队列并使其成为堆栈。但它没有显示任何输出

$queue = [System.Collections.ArrayList]@()

$queue.Add("Object1") | Out-Null
$queue.Add("Object2") | Out-Null
"=========== Queue ================"
foreach ($i in $queue) {
    $i
}

$stack = $queue.Reverse()
"=========== stack ================"
foreach ($i in $stack) {
    $i
}
我预期的结果如下

=========== Queue ================
Object1
Object2
=========== stack ================
Object2
Object1
但是堆栈结果没有给出任何值,如下所示

=========== Queue ================
Object1
Object2
=========== stack ================
这里怎么了?如何更正它?

.Reverse()
不返回对象,它会反转调用它的对象的元素:

$queue = [System.Collections.ArrayList]@()

$queue.Add("Object1") | Out-null
$queue.Add("Object2") | Out-null
"=========== Queue ================"
foreach ($i in $queue){
    $i
}

$queue.Reverse()  # <<<<<<<<<< Reverse $queue *in place*.
"=========== stack ================"
foreach($i in $queue)
{
    $i
}
$queue=[System.Collections.ArrayList]@()
$queue.Add(“Object1”)| Out null
$queue.Add(“Object2”)| Out null
“===================================================================”
foreach($队列中的i){
$i
}

$queue.Reverse()#为了将来的参考,
$queue.Reverse
会显示
Reverse()
的重载签名,包括它总是返回
void
或Get Member-InputObject$queue这一事实。@EBGreen:事实上,
Get Member-InputObject$queue Reverse
也会显示它,但是,
$queue.Reverse
(除了更短之外)的优点是,每个重载都在自己的行中,这更容易阅读,特别是在有许多重载的情况下。@EBGreen但是在反转队列之后,仍然将其命名为queue是没有意义的。无法从此集合“队列”中分配给另一个名为“stack”的集合吗?如果需要,请确定。只需将其反转,然后将其分配给另一个变量。或者指定它,然后反转另一个。