Я пытаюсь получить длину самого длинного значения в объекте PowerShell.Однако в результате $longenstPackageVersion
сохраняется его начальное значение 0
-
$longenstPackageVersion = 0
$packages | Select-Object @{Name="PackageVersion"; Expression ={"$($_.properties.Id) $($_.properties.Version)"}} | ForEach-Object { if ($_.Length -gt $longenstPackageVersion) { $longenstPackageVersion = $_.Length } }
$longenstPackageVersion
Поэтому я попытался вывести длину каждого значения, но ничего не выводилось -
$packages | Select-Object @{Name="PackageVersion"; Expression ={"$($_.properties.Id) $($_.properties.Version)"}} | ForEach-Object { $_.Length }
Наконец, я попытался сначала преобразовать каждое значение в строку, а затем вывести ее длину, но для каждого значения отображалось 0
-
$packages | Select-Object @{Name="PackageVersion"; Expression ={"$($_.properties.Id) $($_.properties.Version)"}} | ForEach-Object { $_.ToString().Length }
Почему PowerShell не может проверить длину каждого значения, как это?И самое главное, как я могу изменить свой код, чтобы он работал как положено?