我是PowerShell的新手,但熟悉.NET类。
我在PowerShell脚本中使用了System.Text.StringBuilder
。脚本如下:
Function MyStringFunc([String]$line) {
$r = New-Object -TypeName "System.Collections.Generic.List``1[[System.String]]";
$sb = New-Object -TypeName "System.Text.StringBuilder";
foreach ($c in $line) {
$sb.Append($c);
$r.Add($sb.ToString());
}
return $r;
}
$line1 = "123";
$a = MyStringFunc $line1;
$a
我期望的结果是
1
12
123
但是结果是
Capacity MaxCapacity Length
-------- ----------- ------
16 2147483647 3
123
我做错了什么吗?
[void]
(或将表达式管道传递到Out-Null)。这只是C#和基于shell的脚本语言PowerShell之间的一个基本差异。 - Keith Hill