$v.Keys|%{$v-6ren">
gpt4 book ai didi

variables - Write-Host 无法解析变量的属性

转载 作者:行者123 更新时间:2023-12-04 16:22:02 27 4
gpt4 key购买 nike

很奇怪,Write-Host 似乎没有解析变量的属性。

PS C:\Users\x> $v=@{item1="kkk";item2="aaa"}
PS C:\Users\x> $v.Keys|%{$v.Item($_)}
kkk
aaa
PS C:\Users\x> Write-Host "$v.Count elements"
System.Collections.Hashtable.Count elements
PS C:\Users\x> $v.Count
2
PS C:\Users\x> $v
Name Value
---- -----
item1 kkk
item2 aaa

你可以看到,$v 是一个哈希表,

$v.Count

打印 2。但是为什么

Write-Host "$v.Count"

打印出System.Collections.Hashtable.Count?这不是我所期望的。

最佳答案

$v 的文本表示是 System.Collections.Hashtable([string]$v"$v")。并且 "$v.Count elements" 表示 {text representation of $v}.Count elements 而不是 {text representation of $v.Count} elements,所以对我来说,您应该得到 System.Collections.Hashtable.Count elements 作为结果。

Write-Host 不负责扩展双引号字符串。它由 PowerShell 在调用 Write-Host 之前完成。

"$v.Count" 

prints 2

对我来说,它打印 System.Collections.Hashtable.Count2$v.Count 打印,而不是由 "$v.Count" 打印。

您应该使用 "$($v.Count) elements" 来获得预期的结果。

关于variables - Write-Host 无法解析变量的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30294245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com