问题描述
我在 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(...)