gpt4 book ai didi

powershell - 排序对象 -inputObject

转载 作者:行者123 更新时间:2023-12-04 07:14:44 25 4
gpt4 key购买 nike

我可以使用管道对数组进行排序,就像这样 $array | Sort-object但是,我发现管道很慢,并且在快速的单衬管中最有意义。但是在编写程序,甚至是快速脚本时,出于可读性和性能的原因,我发现最好不要使用管道。于是我去了SS64,发现this页面上Sort-Object提到 -InputObject范围。我会认为 Sort-Object -InputObject:$array会一样。但是不,那个页面特别提到了 -InputObject

The objects to be sorted.

When the -InputObject parameter is used to submit a collection of items,Sort-Object receives one object that represents the collection.Because one object cannot be sorted, Sort-Object returns the entire collection unchanged.

To sort objects, pipe them to Sort-Object.


那么,究竟是什么 -InputObject那么呢?似乎唯一可能的用例是不起作用的用例。
而且,有没有办法使用 Sort-Object在现有阵列上,而不诉诸管道?

最佳答案

根据 $array 中的内容,您可能可以使用 .Net Array.Sort()在对一维数组中的元素进行排序时获得更快的性能。

[array]::Sort($array)
类型 [array]::Sort没有括号并按回车键查看所有可用的 OverloadDefinitions。

好点 mklement0
上面的排序区分大小写,而 PowerShell 的 Sort-Object不区分大小写。
使用 .Net 时具有相同的效果 [array]::Sort() ,您可以添加第二个参数:
[array]::Sort($array, [System.StringComparer]::OrdinalIgnoreCase)

关于powershell - 排序对象 -inputObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68833304/

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