$false.length -eq 1. 当它是脚本参数的值时,为什么它等于 5?

问题描述 投票:0回答:1

我们有:

$false.length
1

并且:

$var = $false
$var.length
1

但是:

param ([string]$var = $false)
$var.length
5

为什么会这样?

powershell boolean string-length variable-length falsy
1个回答
1
投票

因为你特意将

$var
声明为字符串。 使用
$var.getType()
查看变量的数据类型。

$false
是布尔值,因此如果将其分配给变量,powershell 也会自动将该变量声明为布尔值。

© www.soinside.com 2019 - 2024. All rights reserved.