Чтение статьи о настраиваемых объектах:
http://technet.microsoft.com / en-us / library / ff730946.aspx
Интересно, почему я получаю результат для отдельной записи: например, $ objAverage.Name
, а с помощью $ colAverages.Name ничего не восстанавливается. Хотя с Get-Member оба показывают [System.Object] NoteProperty Name
Я ожидал, что вернет все имена моего набора результатов в $ colAverages.
Код статьи: C: \ Temp \ base.txt
Name,AtBats,Hits
Ken Myer,43,13
Pilar Ackerman,28,11
Jonathan Haas,37,17
Syed Abbas,41,20
Luisa Cazzaniga,22,6
Andrew Cencini,35,11
Baris Cetinok,19,4
Powershell:
$colAverages = @()
$colStats =Import-Csv C:\Temp\base.txt
foreach ($objBatter in $colStats)
{
$objAverage = New-Object System.Object
$objAverage | Add-Member -type NoteProperty -name Name -value $objBatter.Name
$objAverage | Add-Member -type NoteProperty -name BattingAverage -value ("{0:N3}" -f ([int] $objBatter.Hits / $objBatter.AtBats))
$colAverages += $objAverage
}
$colAverages | Sort-Object BattingAverage -descending