使用LINQ Select方法的重载之一,我可以构造一个新类型,并将该项的索引作为其中一个属性:
var lst = new List<int>() {1,1,2,3,5};
var selected = lst.Select((x,index) => new {
number = x,
index
});是否还可以使用Select-Object将当前索引作为输出对象的属性之一包括在内
# $selected.Visual is a WPF Grid
$selected.Visual.ColumnDefinitions | Select-Object -Property Width, MinWidth, MaxWidth, ActualWidth发布于 2017-03-06 19:31:35
我怀疑您是否可以访问索引,但您可以将输出通过管道传输到Foreach-Object cmdlet,然后自己计算索引:
$selected.Visual.ColumnDefinitions | ForEach-Object -Begin {$idx = 0} -Process {
$_ | Select-Object Width, MinWidth, MaxWidth, ActualWidt, @{l='index'; e={$idx}}
$idx += 1
}发布于 2019-01-31 18:56:52
另一种选择是使用自动递增的变量,因此不需要循环:
$index = 0
$selected.Visual.ColumnDefinitions | Select-Object -Property @{n="index";e={(++$Script:index)}}, Width, MinWidth, MaxWidth, ActualWidt脚本范围修饰符是更新index的值所必需的。
https://stackoverflow.com/questions/42624398
复制相似问题