Powershell 有人能解释一下原因吗?

Powershell 有人能解释一下原因吗?,powershell,Powershell,这是我的代码。$test和$strstring都是填充字符串的数组(从屏幕截图中可以看到),但是程序显示了$test的对象[]和$strlist的字符串[],但是字符串是相同的,那么产生“false”结果的原因是什么呢 如果通过$list | Set Content test.txt获得$test,则创建这些对象的方式不正确,您依赖于format table的输出,然后按'r'拆分,从而删除一个字符。这意味着两个字符串不相同。参见长度 一种方法是: $list= (get-wmiobject -

这是我的代码。
$test
$strstring
都是填充字符串的数组(从屏幕截图中可以看到),但是程序显示了
$test
对象[]
$strlist
字符串[]
,但是字符串是相同的,那么产生“false”结果的原因是什么呢


如果通过
$list | Set Content test.txt
获得
$test
,则创建这些对象的方式不正确,您依赖于format table的输出,然后按'r'拆分,从而删除一个字符。这意味着两个字符串不相同。参见长度

一种方法是:

$list= (get-wmiobject -Class win32_product).name
$list | set-content d:\temp\test.txt
$test= gc d:\temp\test.txt

$list[0] -like $test[0]

'-{0}-'-f$test[1]
'-{0}-'-f$strlist[1]
的输出是否相同?
[char[]]$test[1]|%{[int]$}
[char[]]$strlist[1]|%{[int]$}
的输出是否相同?是和是,但是GetHashed代码对它们来说是不同的(我搜索了一点,发现对于相同的字符串值,它们的哈希代码必须是相同的,对吗?)您能否发布有关如何获得
$test
$strlist
的信息?另外,您可以发布从
($test[1].GetEnumerator()|%{[int]$})-join'-'
和从
($strlist[1].GetEnumerator()|%{[int]$})-join'-
获得的精确值。我猜
$test[1].Length-eq$strlist[1]。Length
返回
False
(在终止回车时,值
13
)是有区别的。请回答您的问题。注释中的代码实际上是不可读的。而且,考虑到这些代码,我最初的注释中的代码片段显然不可能为
$test[1]
$list[1]
产生相同的输出。非常感谢
$list= (get-wmiobject -Class win32_product).name
$list | set-content d:\temp\test.txt
$test= gc d:\temp\test.txt

$list[0] -like $test[0]