title: Powershell Only Add to Array if it doesn't exist
body: <p>In PowerShell v2, I'm trying to add only unique values to an array.  I've tried using an if statement that says, roughly, If (-not $Array -contains 'SomeValue'), then add the value, but this only ever works the first time.  I've put a simple code snippet that shows what I'm doing that doesn't work and what I've done as a workaround that does work.  Can someone please let me know where my issue is?</p>
  
  <pre><code>Clear-Host
  $Words = @('Hello', 'World', 'Hello')
  
  # This will not work
  $IncorrectArray = @()
  ForEach ($Word in $Words)
  {
      If (-not $IncorrectArray -contains $Word)
      {
          $IncorrectArray += $Word
      }
  }
  
  Write-Host ('IncorrectArray Count: ' + $IncorrectArray.Length)
  
  # This works as expected
  $CorrectArray = @()
  ForEach ($Word in $Words)
  {
      If ($CorrectArray -contains $Word)
      {
      }
      Else
      {
          $CorrectArray += $Word
      }
  }
  
  Write-Host ('CorrectArray Count: ' + $CorrectArray.Length)
  </code></pre>
  
  <p>The Result of the first method is an array containing only one value: "Hello".  The second Method contains two values: "Hello" &amp; "World".  Any help is greatly appreciated.</p>