Tämä on kysymys, saan melko usein, joten ajattelin kirjoittaa artikkelin siitä. Kuten otsikko kertoo aion näyttää, miten voit lisätä tai poistaa elementtejä PowerShell valikoimaan, kun se on luotu.
PowerShell Taulukot
aloitetaan määritelmä array se tulee PowerShell asiakirjat:
array on tietorakenne, joka on suunniteltu tallentaa kokoelma kohteita., Kohteet voivat olla samantyyppisiä tai erilaisia.Alussa Windows PowerShell 3.0, kokoelma nolla tai yksi esine on joitakin ominaisuuksia paneelit.
Luodaan array PowerShell on todella yksinkertainen ja todennäköisesti olet jo tehnyt, kun, esimerkiksi, saada luettelon käyttäjiä Active Directory –
$adUsers = Get-AdUser -Filter '*' -Server $adDomainController
edellä palaa joukko AD-objekteja, jotka sisältävät kaikki käyttäjät, yhteensovitus käytetty suodatin.,
tietenkin voit alustaa tyhjä array seuraavaa syntaksia
$myArray = @()# Specify object type$myArray = @()
edellä alustaa tyhjä jono, että emme voi, esimerkiksi, täytä MAINOKSEN kyselyn tai lisäämällä staattisia elementtejä, kuten tämä
$myArray = (1,2,3,4,5)
edellä on lisätä elementtejä 1 5 myArray esine instantiating uuden objektin, jonka pituus on 5.
PowerShell Lisätä Elementtejä Array
Olemme nähdä, miten luoda ja määrittää arvot array, mutta mitä jos haluamme lisätä kuudes elementti myArray?, Jos yrität seuraavat
$myArray.Add(6)
Se ei onnistu, lukuun ottamatta seuraavaa poikkeusta.
edellä poikkeus on heitetty, kuten PowerShell joukko on kokoelma kiinteä koko ja virhe kertoo vain, että, se ei voi olla laajennettu.,
Yksi yleinen ratkaisu on käyttää += operaattori, kuten esimerkiksi
$myArray += 6# Print array's length$myArray.length6
Kun käytät + = – operaattori, mitä tapahtuu alla huppu on
- PowerShell luo uuden taulukon, jossa samoja elementtejä kuin vanha yksi plus uusi tuote
- PowerShell on korvata olemassa oleva järjestelmä, jossa on uusi sisältö
Kaikki tämä on läpinäkyvä käyttäjälle, joten sinun ei näe mitään eroa.,
Lisätä Elementtejä Array – Anna ArrayList
Jos haluat välttää kaikki kopiointi/liikkuva data voit instanssia myArray kuin ArrayList, joka on dynaaminen ja sen avulla voit lisätä, poistaa elementtejä lennossa
Vastaavasti voit poistaa elementtejä ArrayList kuin tämä
# Will corresponding item by index$myArrayList.RemoveAt(1)
Huomautus: Poista menetelmä tulee hyväksyä elementin arvo eli 1 yllä olevassa esimerkissä viitataan arvoon, ei alkion indeksi.,
Valettu tukahduttaa Lisätä menetelmä tulostus new array pituus
Luo Array Lista vaihtoehtoinen tapa
yllä Oleva esimerkki on call-Uusi-Kohde menetelmä instantiate new ArrayList, mutta tämä on suhteellisen kallista kannalta computing resursseja, jotta edellä voidaan kirjoittaa muotoon
$myArray = @()
lisäksi olla lyhyempi se on lisäetu, välttää kielteisiä suorituskyky osuma Uusi-Objekti ja optimoimalla koodi on aina hyvä idea, varsinkin kun vastassa on suurempi skriptejä.,34f072bc0″>
Sulkeminen Huomautuksia
Kun kirjoitat koodia, vaikka ei ole edellytetty PowerShell, yritän aina ilmoittaa objektin tyyppi, koska se on hyödyllistä tietää, milloin tahansa, Ominaisuudet ja Menetelmät tukevat kohde niin olen aina kirjoittaa
$myString = 'Some Text'
sen Sijaan
$myString = 'Some Text'
Tämä ei ole edellytetty PowerShell mutta se auttaa koodin luettavuutta ja helpottaa työskennellyt kohde ilmoitettu 800/900 riviä koodia ilman hypätä takaisin muuttuja ilmoitus.,
Leave a Reply