Powershell -eq 运算符

发布于 2025-01-15 16:08:36 字数 89 浏览 0 评论 0原文

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

Why does the expression "1" -eq 1 comes TRUE in powershell ? The first one is of string type and the second one is of integer type why is it treating them as equal.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

油焖大侠 2025-01-22 16:08:36

这称为隐式类型转换。

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

当在一个类型中使用一种类型的值时,就会执行类型转换。
需要不同类型的上下文。如果发生这样的转换
它自动称为隐式转换。 (一个常见的例子
这是一些需要转换一个或多个的运算符
由其操作数指定的值。)允许隐式转换
前提是源价值的意义得以保留,例如没有损失
转换时数字的精度。

来源

除了官方文档之外,这是 mklement0 的出色答案,其中包含一些其他示例和参考:PowerShell 隐式类型转换 - 会发生吗?安全吗?

This is called implicit type conversion.

Powershell automatically perform a type conversion when a value of one type is used in a context that requires a different type.

A type conversion is performed when a value of one type is used in a
context that requires a different type. If such a conversion happens
automatically it is known as implicit conversion. (A common example of
this is with some operators that need to convert one or more of the
values designated by their operands.) Implicit conversion is permitted
provided the sense of the source value is preserved, such as no loss
of precision of a number when it is converted.

source

In addition to the official documentation, here is an excellent answer by mklement0 here with some additional examples and references: PowerShell Implicit Type Conversions - does it happen? Is it safe?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文