中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Powershell 自定義對象小技巧

發布時間:2020-07-31 13:07:13 來源:網絡 閱讀:1391 作者:beanxyz 欄目:開發技術

豆子之前在腳本里面自定義對象的時候一般是這么考慮的,我需要創建一個數組,每次循環的時候把一個自定義的對象放進去,對于這個自定義的對象的結構,我需要創建一個哈希表,然后轉換成自定義對象。這個思路是沒錯,不過具體寫的時候有些小技巧。


比如說最近看的一個小挑戰,其中需要把下面這個$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

Powershell 自定義對象小技巧


后來改進了一下,不需要在循環外定義,直接在循環里面就可以創建哈希表并強制轉換了

$result2=@()
$list -split "`n" | foreach {
$split =  $_ -split " ",2
$temp=[pscustomobject]@{Count=$split[0];Item = $split[1].trim()}
$result2+=$temp
}
$result2

Powershell 自定義對象小技巧


再后來,發現還可以更精簡一下

$gifts = $list -split "`n" | foreach {
$split =  $_ -split " ",2
[pscustomobject]@{Count=$split[0];Item = $split[1].trim()}
}
$gifts

Powershell 自定義對象小技巧


注意第一個方式是PS 2.0時代的寫法,進入3.0以后就可以使用后面兩張簡單的寫法了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南木林县| 阿坝县| 宜君县| 海阳市| 图木舒克市| 庆元县| 金川县| 辽阳市| 巴彦县| 大化| 中西区| 泸西县| 通城县| 利辛县| 宝鸡市| 大安市| 河西区| 年辖:市辖区| 太谷县| 洪雅县| 南昌市| 莱西市| 黑山县| 会同县| 唐海县| 肃北| 汽车| 香格里拉县| 葵青区| 呼玛县| 内黄县| 铜陵市| 正镶白旗| 竹溪县| 宿迁市| 洛阳市| 五常市| 靖宇县| 奎屯市| 西昌市| 衡阳县|