当前位置:  开发笔记 > 编程语言 > 正文

我能以某种方式将Get-Content cmdlet输出到ArrayList对象中吗?

如何解决《我能以某种方式将Get-Contentcmdlet输出到ArrayList对象中吗?》经验,为你挑选了1个好方法。

我试图将输出强制Get-Content myfile.txt转换为ArrayList对象,以便可以轻松地使用.addand 插入和更改字符串.insert。我试过的是

[Systems.Collections.ArrayList]mylist=@()
Get-Content myfile | $mylist # obviously wrong
Get-Content myfile | ForEach-Object {$mylist} # don't quite grasp the logic, get empty array as a result
Get-Content myfile | ForEach-Object {$mylist.Add()} # get overload error  

如果我只分配$mylist=Get-Content myfile.txt它,它将数据类型更改为我不想要的静态数组



1> arco444..:

Get-Content返回一个数组,因此您可以直接将其强制转换为ArrayList:

$mylist = [System.Collections.ArrayList](Get-Content myfile)
$mylist.gettype()                                                                                                                                                                                       

IsPublic IsSerial Name                                     BaseType                                                                                                                                        
-------- -------- ----                                     --------                                                                                                                                        
True     False    ArrayList                                System.Object

现在,您可以使用.add().insert()方法进行修改,例如:

$mylist.insert(2,"new content")

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有