In PowerShell v2, sto tentando di aggiungere solo valori univoci a una matrice. Ho provato a usare un'istruzione if che dice, approssimativamente, If (-not $ Array-contiene 'SomeValue'), quindi aggiungi il valore, ma funziona sempre e solo la prima volta. Ho messo un semplice frammento di codice che mostra quello che sto facendo che non funziona e quello che ho fatto come soluzione alternativa che funziona. Qualcuno può farmi sapere dove è il mio problema?Powershell Aggiungi solo alla matrice se non esiste
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)
Il risultato del primo metodo è un array contenente un solo valore: "Ciao". Il secondo metodo contiene due valori: "Ciao" & "Mondo". Qualsiasi aiuto è molto apprezzato.
Grazie, è stato uno stupido errore. Apprezzo l'aiuto. – Llaslo