Powershell -eq 运算符

Powershell -eq operator

提问人:user60845 提问时间:3/20/2022 最后编辑:phuclvuser60845 更新时间:3/20/2022 访问量:264

问:

为什么表达式在 powershell 中为 TRUE ?第一个是字符串类型,第二个是整数类型,为什么将它们视为相等。"1" -eq 1

PowerShell 比较 运算符

评论

0赞 Abraham Zinala 3/20/2022
PowerShell 尝试在执行任何表达式之前将 LHS 操作数转换为 RHS 操作数类型,从而提供帮助。
0赞 phuclv 3/20/2022
不要垃圾邮件标签。特定于版本的标记仅适用于该特定版本中出现的问题
0赞 user60845 3/20/2022
@phuclv很抱歉,我是新来的,从现在开始我会牢记这一点。
0赞 user60845 3/20/2022
@AbrahamZinala谢谢你先生回答这个问题,这对我帮助很大。

答:

2赞 Sage Pourpre 3/20/2022 #1

这称为隐式类型转换。

当在需要不同类型的上下文中使用一种类型的值时,Powershell 会自动执行类型转换。

当一种类型的值在 需要不同类型的上下文。如果发生这样的转换 自动地,它被称为隐式转换。(一个常见的例子 这是一些需要转换一个或多个 由其操作数指定的值。允许隐式转换 前提是保留了源值的意义,例如无损失 转换时数字的精度。

除了官方文档之外,这里还有 mklement0 的一个很好的答案,其中包含一些额外的示例和参考: PowerShell 隐式类型转换 - 会发生吗?安全吗?