作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
与同事讨论时,$null
应该位于支票的左侧还是右侧?为什么这很重要的任何例子?
$abc = $null
$null -eq $abc
True
$abc -eq $null
True
$abc = 6,7,$null,8,9
$null -eq $abc
False
$abc -eq $null
*No output*
最佳答案
执行比较操作时,PowerShell将首先评估操作数操作数,以确定它是集合还是标量值。如果它是标量,它将把操作数彼此比较为整个对象。
2 -eq 1,2,$null,3
False
$null -eq 1,2,$null,3
False
4 -eq 1,2,$null,3
False
1,2,$null,3 -eq 2
2
1,2,$null,3 -eq $null
<nothing appears, indicating returned value is $null>
1,2,3 -eq 4
<nothing appears, indicating returned value is $null>
$null
还是从不,否则您将无法信任比较操作的输出。
-eq
都会返回
$null
,因为您不能使用
-eq
来比较集合。
$null
放在左侧,因为在比较操作中使用
$null
时,假定您要比较标量值。如果这个假设是错误的,那么
$null
可能会更好地放在另一侧,但这不太可能。
$null
放在右边,因为我在上述假设下编写了我的代码-当在比较操作中明确提到
$null
时,我
总是比较标量值。这样,当我返回非 bool 值时,我知道我没有正确访问方程式中的集合对象。但是,我被困在陷阱中,因此,通过更改方式可以更好地为我的编码实践服务。
关于powershell - $ null是否应位于等式比较的左侧? (带有数组的-eq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58217913/
我是一名优秀的程序员,十分优秀!