从品牌网站建设到网络营销策划,从策略到执行的一站式服务
豆子之前在脚本里面自定义对象的时候一般是这么考虑的,我需要创建一个数组,每次循环的时候把一个自定义的对象放进去,对于这个自定义的对象的结构,我需要创建一个哈希表,然后转换成自定义对象。这个思路是没错,不过具体写的时候有些小技巧。
创新互联是一家专业从事成都网站建设、网站设计的网络公司。作为专业网络公司,创新互联依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、成都全网营销及网站设计开发服务!比如说最近看的一个小挑战,其中需要把下面这个$list的值自定义一个对象保存出来。
$list = @" 1 Partridge in a pear tree 2 Turtle Doves 3 French Hens 4 Calling Birds 5 Golden Rings 6 Geese a laying 7 Swans a swimming 8 Maids a milking 9 Ladies dancing 10 Lords a leaping 11 Pipers piping 12 Drummers drumming "@
我写的第一个版本是最啰嗦的:
$pp=$null $pp=[ordered]@{"Count"=$null;"Gift"=$null} $obj=New-Object -TypeName psobject -property $pp $result=@() $list.Split("`n") |ForEach-Object{ $temp=$obj | select * $temp.Count=$_.Split("")[0] $temp.Gift=$_.Substring($_.Split("")[0].Length) $result+=$temp } $result
后来改进了一下,不需要在循环外定义,直接在循环里面就可以创建哈希表并强制转换了
$result2=@() $list -split "`n" | foreach { $split = $_ -split " ",2 $temp=[pscustomobject]@{Count=$split[0];Item = $split[1].trim()} $result2+=$temp } $result2
再后来,发现还可以更精简一下
$gifts = $list -split "`n" | foreach { $split = $_ -split " ",2 [pscustomobject]@{Count=$split[0];Item = $split[1].trim()} } $gifts
注意第一个方式是PS 2.0时代的写法,进入3.0以后就可以使用后面两张简单的写法了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图