2014-12-05 3 views
2

사용자 정의 객체 (pscustomobject)의 배열을 만들려고했지만 for 루프를 사용하여 다른 사용자 정의 객체의 일부 값을 변경하려고했습니다. 그러나 그것은 효과가없는 것처럼 보입니다.for 루프를 사용하여 pscustomobject의 배열 값을 변경하십시오.

     value type             used 
        ----- ----             ---- 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 
         4 bubble            False 

하지만 결과가있을 것으로 예상 :

$obj = @([pscustomobject]@{value=0;type="D";used=$false}) 
$arr1 = @($obj) * 10 

for($v = 0; $v -lt 4; $v++){ 
$arr1[$v].value = ($v+1) 
$arr1[$v].type ="bubble" 
} 

결과는 다음과 같습니다

     value type             used 
        ----- ----             ---- 
         1 bubble            False 
         2 bubble            False 
         3 bubble            False 
         4 bubble            False 
         4 D              False 
         4 D              False 
         4 D              False 
         4 D              False 
         4 D              False 
         4 D              False 

이 단지 냈다이고, 나는 단지했다 여기에 내가 뭘하려 무언가를 시험해보십시오. 그러나 나는 그것을 이해하지 못한다고 약간 짜증이났다. 미안하지만, 생각하기 쉽지만, 왜 우울한 지 보지 못한다. 나는 아직도 PS 놈이다. : -/

$arr1 = @($obj) * 10 

10 개 새로운 객체를 생성되지 않습니다 편집 : ...

답변

3

이를 PSv3이 사용됩니다,하지만 난 그게 중요하지 않습니다 생각합니다. 동일한 객체에 대해 10 개의 참조가 만들어졌습니다.

참고 차이 당신이 할 경우 :

$arr1 = 1..10 |% {[pscustomobject]@{value=0;type="D";used=$false}} 

for($v = 0; $v -lt 4; $v++){ 
$arr1[$v].value = ($v+1) 
$arr1[$v].type ="bubble" 
} 
$arr1 

             value type                     used 
             ----- ----                     ---- 
              1 bubble                    False 
              2 bubble                    False 
              3 bubble                    False 
              4 bubble                    False 
              0 D                     False 
              0 D                     False 
              0 D                     False 
              0 D                     False 
              0 D                     False 
              0 D                     False 
+0

당신을 감사합니다! 이것은 정말로 많은 도움이되었습니다 !! – frupfrup

관련 문제