我在函数中有以下示例代码:
[array]$ARR = $null
foreach ($file in $fileTable.identical)
{
[hashtable]$HT=@{
'FileName' = $file.Name
'AppName' = $file.App
'GroupName' = $file.Group
'Valid' = $true
}
$ARR += $HT
}
foreach ($file in $fileTable.removed)
{
[hashtable]$HT=@{
'FileName' = $file.Name
'AppName' = $file.App
'GroupName' = $file.Group
'Valid' = $false
}
$ARR += $HT
}
foreach ($file in $fileTable.modified)
{
[hashtable]$HT=@{
'FileName' = $file.Name
'AppName' = $file.App
'GroupName' = $file.Group
'Valid' = $false
}
$ARR += $HT
}
return $ARR
+3个其他$ fileTable。[properties]的foreach循环,其中'Valid'= $ false。
我不必重复多次代码,而是要做类似的事情:
foreach (($file in $fileTable.removed) -and ($file in $fileTable.modified))
{
[hashtable]$HT=@{
'FileName' = $file.Name
'AppName' = $file.App
'GroupName' = $file.Group
'Valid' = $false
}
}
因此,哈希表中唯一不同的变量将是$ value。 $ fileTable是一个pscustomobject,具有一些自定义属性,例如相同,已修改,已添加,已删除。
我知道我想在foreach循环中无法实现,但是我正在寻找一种类似的解决方案来减少代码行数。任何帮助,将不胜感激:)
谢谢!