Powershell Array 正在打印项目索引和值

问题描述

我在 Powershell 中返回数组。但作为回应,我得到了数组值以及相应值的索引。

如何阻止项目索引在控制台中打印。

代码示例:

$data = [System.Collections.ArrayList]@()
$Item1 = "vimal" +"::"+ "error1"      
$data.add($Item1)
$Item1 = "vimal" +"::"+ "error2"      
$data.add($Item1)

return $data

回复

0 1 vimal::error1 vimal::error2

我不想在控制台中打印 0 和 1。

谢谢, 维玛

解决方法

ArrayList.Add 返回新添加对象的索引。这些回报(所有未捕获的回报)结合在一起

$data = [System.Collections.ArrayList]@()
$Item1 = "vimal" +"::"+ "error1"      
$data.add($Item1)   # <<== This outputs "0" because Add() returns index (0) of added object
$Item1 = "vimal" +"::"+ "error2"      
$data.add($Item1)   # <<== This outputs "1"

return $data  # <<== This outputs "..error1" and "..error2"

要抑制不需要的返回,请使用 [void]$data.add(...)$data.add(...) | Out-Null 或为某些 var 赋值:$indexOfItem1 = $data.add(...)