Kol*_*yon 1 powershell conditional if-statement equality object
假设您有两个相同的对象(意味着它们分别具有相同的属性和相同的值)。
你如何测试平等?
例子
$obj1&$obj2是相同的
这是我尝试过的:
if($obj1 -eq $obj2)
{
echo 'true'
} else {
echo 'false'
}
# RETURNS "false"
if(Compare-Object -ReferenceObject $obj1 -DifferenceObject $obj2)
{
echo 'true'
} else {
echo 'false'
}
# RETURNS "false"
Run Code Online (Sandbox Code Playgroud)
编辑
这并不相同
你可以比较两个PSObject通过使用属性和值相等的对象Compare-Object来比较Properties两者的特性PSObject对象。例子:
if ( -not (Compare-Object $obj1.PSObject.Properties $obj2.PSObject.Properties) ) {
"object properties and values match"
}
else {
"object properties and values do not match"
}
Run Code Online (Sandbox Code Playgroud)
如果你想在一个函数中使用它:
function Test-PSCustomObjectEquality {
param(
[Parameter(Mandatory = $true)]
[PSCustomObject] $firstObject,
[Parameter(Mandatory = $true)]
[PSCustomObject] $secondObject
)
-not (Compare-Object $firstObject.PSObject.Properties $secondObject.PSObject.Properties)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9344 次 |
| 最近记录: |