为什么最大代码的控制台输出两倍(最小正常代码相同)?
Why twice the output in the console from code for a maximum (same code for minimum normal)?
以下代码的执行对于其中涉及最大值的部分给出了两倍的结果,但对于旨在产生最小值的部分只给出了一次结果,这是应该的;唯一的区别是将 -le
更改为 -ge
以从最小值代码传递到最大值代码。这是代码;
$SS1=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS1){$SS1=$SS1|where-object{$_ -ge $x}};$SS1
$SS=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS){$SS=$SS|where-object{$_ -le $x}};$SS
这是输出;
636940445900142078
636940445900142078
636940445887555535
您可以使用Sort-Object
和Select-Object
来达到想要的效果。
$SS1=(ls $home\Documents\Doo).creationtime.Ticks
$min,$max = $SS1 | Sort-Object | Select-Object -First 1 -Last 1
$min
现在将保持最低的刻度值。 $max
现在将保持最高的刻度值。
以下代码的执行对于其中涉及最大值的部分给出了两倍的结果,但对于旨在产生最小值的部分只给出了一次结果,这是应该的;唯一的区别是将 -le
更改为 -ge
以从最小值代码传递到最大值代码。这是代码;
$SS1=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS1){$SS1=$SS1|where-object{$_ -ge $x}};$SS1
$SS=(ls $home\Documents\Doo).creationtime.Ticks
foreach($x in $SS){$SS=$SS|where-object{$_ -le $x}};$SS
这是输出;
636940445900142078
636940445900142078
636940445887555535
您可以使用Sort-Object
和Select-Object
来达到想要的效果。
$SS1=(ls $home\Documents\Doo).creationtime.Ticks
$min,$max = $SS1 | Sort-Object | Select-Object -First 1 -Last 1
$min
现在将保持最低的刻度值。 $max
现在将保持最高的刻度值。