2011-10-07 19 views
2

拿這個作爲一個例子:

$var = "one","two","three" 
0..2 | select-object $var[$_] 

Index operation failed; the array index evaluated to null. 
At line:1 char:27 
+ 0..2 | select-object $var[ <<<< $_] 
    + CategoryInfo   : InvalidOperation: (:) [], RuntimeException 
    + FullyQualifiedErrorId : NullArrayIndex 

爲什麼$ _空?

回答

4

我想不通爲什麼要使用選擇對象

試試這個:

$var = "one","two","three" 
0..2 | % { $var[$_]} 
+0

啊啊foreach。這樣做的工作。謝謝。 :) –

+0

總是樂意幫忙! –

1

如果你想使用選擇對象,你需要創建一個哈希表,又名計算性能,並給它一個名字和表達鍵。其結果將是一個性質,VAR對象,在下面的例子中

0..2 | select @{name='var';expression={$var[$_]}} 

var 
--- 
one 
two 
three 
+0

這不是在這種情況下select *可以使用的正確方法。看到我的回答:) – manojlds

+0

這是一個側面說明,+1使用索引參數。 –

+0

這就是爲什麼罐頭在斜體:) – manojlds

2

您還可以使用選擇對象以不同的方式:

$var | select -Index (0..2) 

而且順便說一句,如果你想要做的是陣列中的提取元素,你可以做陣列切片:

$var[0..2]