如何解决为什么添加到 ArrayList 会计算传递给它的内容?
大家晚上好
我想看看在添加到 ArrayList 时是否可以获得一些帮助来抑制计数。出于某种原因,即使在我的谷歌搜索之后我也不明白,我就是无法抑制计数。
[System.Collections.ArrayList]$AStuff = @()
[System.Collections.ArrayList]$CStuff = @()
[System.Collections.ArrayList]$Rest = @()
switch -Wildcard (gci C:\users\abrah\OneDrive\Desktop){
"D*" {$AStuff.Add($_)}
"C*" {$CStuff.Add($_)}
Default {$Rest.Add($_)}
}
for($i=0; $i -lt ($AStuff.Count + $CStuff.Count + $Rest.Count); $i++){
[pscustomobject]@{
"Letter A" = $AStuff[$i]
"Letter C" = $CStuff[$i]
"Rest " = $Rest[$i]
}
}
输出为:
0
1
0
1
0
1
2
3
2
3
4
Letter A Letter C Rest
-------- -------- -----
dir1 CFR-2008-title38-vol1.pdf Test
dir2 cs.csv v1
CSV error.png
csvv.csv Screenshot 2021-01-09 195943.png
v2.pdf
有人能告诉我为什么输出计数是怎么回事吗?
如果事情真的很简单,请不要觉得有必要回答,一个简短的解释就可以了,如果是这样的话,我应该能够解决它。
解决方法
这只是因为 Add
方法返回一个 int :
$a =@()
$a.Add
OverloadDefinitions
-------------------
int IList.Add(System.Object value)
因此,在您的情况下,您可以使用 | out-null
来避免它。
$AStuff.Add($_) | out-null
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。