You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何$false.length在脚本参数场景下返回5而非1?

问题场景与差异原因

执行场景

场景1

$false.length
1

场景2

$var = $false
$var.length
1

场景3

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

差异原因

  • 场景1、2中的$false是布尔类型(System.Boolean),该类型本身没有Length属性。但PowerShell会将所有标量值视为单元素集合,当访问不存在的Length属性时,会返回这个单元素集合的长度,也就是1。
  • 场景3中,参数$var被显式声明为[string]类型,PowerShell会自动对默认值$false执行强制类型转换,将布尔值$false转换为字符串"False",这个字符串的长度为5,因此返回结果是5。

内容的提问来源于stack exchange,提问作者Ooker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:47:35