Tietoja Taulukot

0 Comments
  • 08/26/2020
  • 14 minuuttia lukea
    • S
    • s
    • c

Lyhyt Kuvaus

Kuvaa paneelit, jotka ovat tietorakenteita, joiden tarkoituksena storecollections kohteita.

Pitkä Kuvaus

array on tietorakenne, joka on suunniteltu tallentaa kokoelma kohteita.Kohteet voivat olla samantyyppisiä tai erilaisia.

alkaa Windows Powershellissa 3.,0, kokoelma nolla tai yksi objekti hassome ominaisuuksia matriiseja.

array

luo ja alustaa array , määrittää useita arvoja muuttujan. Thevalues tallennetaan array on eroteltu pilkulla ja erotettu thevariable nimi, sijoitusoperaattori (=).,

voit esimerkiksi luoda taulukon nimeltä $A, joka sisältää seitsemän numeerinen (int)arvoja 22, 5, 10, 8, 12, 9, ja 80, kirjoita:

pilkku voidaan käyttää myös alustaa yhden kohteen array asettamalla thecomma ennen kuin yhden kohteen.

voit esimerkiksi luoda yhden kohteen array nimeltään $B sisältää singlevalue 7, kirjoita:

Voit myös luoda ja alustaa array käyttämällä range operator (..).,Seuraavassa esimerkissä luodaan ryhmä, joka sisältää arvot 5-8.

tuloksena $C sisältää neljä arvoa: 5, 6, 7, ja 8.

kun datatyyppiä ei ole määritelty, PowerShell luo jokaisen array objectarray (System.Objekti). Array – tietotyypin määrittämiseksi käytetään theGetType () – menetelmää., Esimerkiksi, voit määrittää tiedot tyyppi $Aarray, kirjoita:

Voit luoda vahvasti kirjoitettu joukko, eli joukko, joka voi sisältää onlyvalues tietyn tyyppinen, valettu muuttuja array tyyppi, kuten asstring, pitkä, tai int32. Voit heittää array, edeltääjaettavissa nimi array tyyppi suljettu suluissa., Esimerkiksi, voit luoda a32-bittinen kokonaisluku array nimeltään $ia sisältää neljä kokonaislukua (1500, 2230, 3350,ja 4000), tyyppi:

tuloksena $ia array voi sisältää vain kokonaislukuja.

voit luoda taulukoita, jotka on valettu mihin tahansa tuettuun tyyppiin Microsoft.NET Framework. Esimerkiksi, esineitä, jotka Get-Process hakee edustaa prosessit ovat Järjestelmän.Diagnoosi.Prosessityyppi., Luoda astrongly kirjoitetaan valikoimaan prosessi esineitä, kirjoita seuraava komento:

array osa-ilmaisun operaattori

array osa-ilmaisun operaattori luo array lausunnoista insideit. Riippumatta siitä, mitä ilmoitus operaattorin sisällä tuottaa, operaattori sijoittaa sen joukko. Vaikka olisi nolla tai yksi esine.

syntaksin array operaattori on seuraava:

Voit käyttää array operaattori luoda array nolla tai yksi kohde., Esimerkiksi:

array operaattori on hyödyllinen skriptejä, kun olet saada esineitä, mutta eivät tiedä, kuinka monta esineitä saat. Esimerkiksi:

lisätietoja array osa-ilmaisun operaattori, seeabout_Operators.

ja käyttämällä array elementit

Lukeminen array

Voit viitata array käyttämällä sen muuttujan nimi. Voit näyttää kaikki elementit array, Kirjoita array nimi., Esimerkiksi, olettaen $a on anarray, joka sisältää kokonaislukuja 0, 1, 2, 9 päivään; kirjoittamalla:

Voit viitata elementtejä array käyttämällä indeksiä, joka alkaa atposition 0. Liitä hakasulkeisiin Indeksinumero., Esimerkiksi, näyttää ensimmäinen elementti $a array, kirjoita:

näyttää kolmas elementti $a array, tyyppi:

Voit hakea osa array käyttäen eri toimijan indeksi. Esimerkiksi, voit hakea toinen-viides elementtejä array, sinun wouldtype:

Negatiivinen numerot laskea taulukon loppuun., Esimerkiksi” -1 ” viittaa matriisin viimeiseen elementtiin. Kun haluat näyttää viimeisen kolmen elementtejä thearray, indeksi nousevassa järjestyksessä, kirjoita:

Jos olet tyyppi negatiiviset indeksit alenevassa järjestyksessä, oman tuotannon muutoksia.

Kuitenkin, olla varovainen, kun käytät tätä merkintää. Notaatiosyklit theend-rajalta matriisin alkuun.,

Voit käyttää plus-operaattori (+) yhdistää vaihtelee luettelo elementsin array. Esimerkiksi display-elementtejä, indeksi kannat 0, 2, and4 kautta 6, tyyppi:

Myös luetella useita alueita ja yksittäisiä elementtejä voit käyttää plusoperator., Esimerkiksi lista-elementtejä nolla, kaksi, neljä, kuusi, ja theelement klo kahdeksas asentohuimaus tyyppi:

Toistojen yli array elementit

Voit myös käyttää kiehkura konstruktioita, kuten ForEach, ja Kun silmukoita, torefer elementtejä array. Esimerkiksi, voit käyttää ForEach silmukka todisplay osat $a array, kirjoita:

Foreach-silmukka käy läpi array ja palauttaa kunkin arvo thearray, kunnes se saavuttaa loppuun array.,

For loop on hyödyllinen, kun tutkit matriisin elementtejä. Esimerkiksi, voit käyttää silmukka palata joka othervalue array, tyyppi:

Voit käyttää While-silmukka näyttää elementtejä array, kunnes definedcondition ei ole enää totta., Esimerkiksi näytön osat $aarray, kun array-indeksi on alle 4, kirjoita:

Ominaisuudet taulukot

Count tai Pituus tai LongLength

määrittää, kuinka monta kohdetta ovat array, käyttää Length kiinteistön tai senCount alias. Longlength on hyödyllinen, jos jono sisältää enemmän than2,147,483,647 elementtejä.

Sijoitus

Palaa määrä mitat array., Useimmat ryhmät Powershellissa ovat yksiulotteisia, vain. Vaikka luulet olet rakentamassa multidimensionalarray; kuten seuraavassa esimerkissä:

seuraava esimerkki näyttää, miten luoda todella moniulotteinen array käytetään .Net Framework.

Menetelmät taulukot

Selkeä

Sarjaa kaikki elementin arvot oletusarvo array”: n elementin tyyppi.Selkeä () menetelmä ei Nollaa matriisin kokoa.,

seuraavassa esimerkki $a on joukko esineitä.

tässä esimerkissä $intA on nimenomaisesti kirjoitettu sisältävät kokonaislukuja.

ForEach

Avulla voidaan kerrata kaikki elementtejä array ja suorittaa tietyn operationfor kukin alkio.

ForEach-menetelmässä on useita ylilatauksia, jotka suorittavat erilaisia operaatioita.,

ForEach(scriptblock ilmaus)

ForEach(scriptblock ilmaus, esine perustelut)

Tämä menetelmä oli lisätty PowerShell v4.

huomaa

syntaksi vaatii komentosarjalohkon käyttöä. Sulkeet ovat valinnaisia, jos scriptblock on ainoa parametri. Myöskään menetelmän ja avaussulkeiden tai ahdin välillä ei saa olla välilyöntiä.

seuraava esimerkki osoittaa, miten foreach-menetelmää käytetään. Tässä tapauksessa theintent on tuottaa neliön arvo elementtejä array.,

Aivan kuin -ArgumentList parametri ForEach-Object, argumentsparametrin avulla kulkee joukko väitteitä käsikirjoituksen blockconfigured hyväksymään ne.

lisätietoa Argumenttilistan käyttäytymisestä, seeabout_Splatting.,

ForEach(tyyppi convertToType)

ForEach menetelmää voidaan käyttää nopeasti valettu elementtejä differenttype; seuraava esimerkki näyttää, miten muuntaa luettelo string päivämäärät tyyppi.

ForEach(string propertyName)

ForEach(string propertyName, esine newValue)

ForEach menetelmää voidaan käyttää myös hakea nopeasti, tai asettaa propertyvalues jokaisen kohteen kokoelma.,

ForEach(string methodName)

ForEach(string methodName, esine perustelut)

Lopuksi ForEach menetelmät voidaan toteuttaa menetelmä, joka kohteen avaimia kokoelma.

Aivan kuin -ArgumentList parametri ForEach-Object, argumentsparametrin avulla kulkee joukko väitteitä käsikirjoituksen blockconfigured hyväksymään ne.

Note

alkaen Windows PowerShell 3.,0 hakemiseen ominaisuuksia ja executingmethods jokaisen kohteen kokoelma, voidaan myös suorittaa käyttämällä ”Methodsof skalaari esineitä ja kokoelmia” Voit lukea lisää siitä, että hereabout_methods.

missä

sallii suodattaa tai valita matriisin elementit. Käsikirjoitus on evaluateto mitään muuta kuin: nolla (0), tyhjä merkkijono $false tai $null forthe elementti näyttää jälkeen Where

Siellä on yksi määritelmä Where menetelmä.,

Huom.

syntaksi vaatii käyttö script estää. Sulkeet ovat valinnaisia, jos scriptblock on ainoa parametri. Myöskään menetelmän ja avaussulkeiden tai ahdin välillä ei saa olla välilyöntiä.

Expression on scriptblock, että tarvitaan suodatus, modevalinnainen argumentti mahdollistaa tiedostojen valinta ominaisuuksia, janumberToReturn valinnainen argumentti mahdollistaa kyky rajoittaa kuinka monta itemsare palasi suodatin.,p>hyväksyttävät arvot mode ovat:

  • Oletus (0) – Palauttaa kaikki kohteet
  • Ensimmäinen (1) – Palauttaa ensimmäisen alkion
  • Viime (2) – Palauttaa viimeisen alkion
  • SkipUntil (3) – Ohittaa kohteita, kunnes ehto on tosi, paluu remainingitems
  • Ennen kuin (4) – Palauttaa kaikki kohteet, kunnes ehto on tosi
  • Jaettu (5) – Palauttaa array kaksi elementit
    • ensimmäinen elementti sisältää vastaavia kohteita
    • toinen elementti sisältää jäljellä kohteita

seuraava esimerkki näyttää, miten valita kaikki parittomat numerot array.,

Tämä esimerkki osoittaa, miten valita jouset, jotka eivät ole tyhjiä.

Default

Default mode suodattimet kohteita käyttäen Expression scriptblock.

– Jos numberToReturn annetaan, se määrittää enimmäismäärä itemsto palata.,

Huom.

Sekä Default tila ja First tila palaa ensimmäisen(numberToReturn) kohteita, ja niitä voidaan käyttää synonyymeinä.

Viime

SkipUntil

SkipUntil mode ohittaa kaikki esineitä kokoelma, kunnes esine passesthe script estää ilmaisun-suodatin. Sen jälkeen se palauttaa kaikki jäljellä olevat kokoelmat testaamatta niitä. Testattavana on vain yksi ohikulkeva esine.

Tämä tarkoittaa palasi kokoelma sisältää molemmat kulkee ja kulkee kohteita, joita ei OLE testattu.,

useita kohteita palasi voidaan rajoittaa siirtämällä arvonumberToReturn argumentti.

Ennen

Until mode-kääntää SkipUntil – tilassa. Se palauttaa kaikki kohteet acollection kunnes kohde kulkee script block lauseke. Kun skriptblock-lauseke on valittu, Where – menetelmä lopettaa esineiden käsittelyn.

Tämä tarkoittaa, että saat ensimmäiset ei-kulkee kohteitaWhere menetelmä., Kun yksi tuote läpäisee, loput eivät ole testattuja tai palautettuja.

useita kohteita palasi voidaan rajoittaa siirtämällä arvonumberToReturn argumentti.

Huom.

Molempien Until ja SkipUntil toimi alle lähtökohta EI testaus batchof kohteita.

Until palauttaa kohteet ennen ensimmäistä passia.

SkipUntil palauttaa kaikki erät ensimmäisen syötön jälkeen, mukaan lukien ensimmäisen syöttöpisteen.,

Jaettu

Split tilassa halkeaa, tai ryhmien kokoelma kohteita kahteen separatecollections. Ne, jotka läpäisevät scriptblock-ilmaisun, ja ne, jotka eivät.

– Jos numberToReturn on määritetty, ensimmäinen kokoelma, sisältää thepassing kohteita, ei saa ylittää määritettyä arvoa.

loput kappaleet, myös ne, jotka ohittavat lausekkeen suodattimen, arereturned toisessa kokoelmassa.,

Saada jäseniä array

saada ominaisuuksia ja menetelmiä array, kuten Pituus omaisuutta ja SetValue menetelmä, käytä InputObject parametri Get-Membercmdlet-komentoa.

Kun putki array Get-Member, PowerShell lähettää kohteita oneat aika ja Get-Member palaa tyyppi kunkin kohteen array (ignoringduplicates).

Kun käytät InputObject parametri, Get-Member palauttaa jäseniä array.,

esimerkiksi seuraava komento saa jäsenet $a arrayvariable.

Voit myös saada jäseniä array kirjoittamalla pilkulla (,) ennen kuin thevalue, että johdetaan Get-Member cmdlet-komentoa. Pilkku tekee array thesecond kohde joukko taulukoita. PowerShell putket paneelit yksi ata aikaan ja Get-Member palaa jäsenten joukko. Kuten seuraavat kaksi vampyyriä.,

Manipuloimalla array

Voit muuttaa elementtejä array, lisää elementti array, andcombine arvot erotusten kolmanteen array.

muuttaa arvoa erityisesti elementti array, määritä arrayname ja indeksi elementti, jota haluat muuttaa, ja sitten käyttää theassignment operaattori (=) määritä uusi arvo elementti., Esimerkiksi,voit muuttaa arvoa toinen kohde $a array (indeksi asentoon 1) 10, kirjoita:

Voit myös käyttää SetValue menetelmä array arvon muuttaminen. Seuraava esimerkki muuttaa toisen arvo (indeksi, kanta 1) $a arrayto 500:

Voit käyttää += operaattori lisätä elementin array. Seuraava esimerkki näyttää, miten elementti lisätään $a – ryhmään.,

Huom.

Kun käytät += verkon, PowerShell itse asiassa luo uuden arraywith arvot alkuperäisen array ja lisäarvoa. Tämä mightcause suorituskykyä kysymyksiä, jos toiminta toistetaan useita kertoja tai koko array on liian suuri.

Se ei ole helppo poistaa elementtejä array, mutta voit luoda newarray, joka sisältää vain valitut elementit olemassa olevaan valikoimaan., Esimerkiksi,voit luoda $t array kaikki osat $a array lukuun ottamatta thevalue indeksi asentoon 2, tyyppi:

yhdistä kaksi taulukot yhdeksi array, käytä plus-operaattori (+). Seuraava esimerkki luo kaksi matriisia, yhdistää ne, ja sitten näyttää theresulting yhdistetty array.

tuloksena $z array sisältää 1, 3, 5, ja 9.,

poistaaksesi array, määritä arvoksi$null. Seuraava teksti poistaa matriisin$a – muuttujasta.

$a = $null

Voit myös käyttää Remove-Item cmdlet-komentoa, mutta määrittämällä arvon $null isfaster, erityisesti suurten paneelit.

Taulukot nolla tai yksi

Alkaa Windows PowerShell 3.0, kokoelma nolla tai yksi esine, onko Määrä ja Pituus omaisuutta. Myös, voit indeksoida joukko oneobject., Tämä ominaisuus auttaa sinua välttämään scripting virheet, jotka tapahtuvat, kun käskemään, että odottaa kokoelma saa vähemmän kuin kaksi kohdetta.

seuraavat esimerkit osoittavat tämän ominaisuuden.

Nolla esineitä

Toinen kohde

Indeksointi tuki Järjestelmä.Tuple objects

PowerShell 6.1 lisäsi tuekseen tupple-objektien indeksoidun pääsyn, joka muistuttaa matriiseja.,Esimerkiksi:

toisin Kuin taulukot ja muut kokoelma esineitä, Monikko esineitä kohdellaan kuten yksittäinen esine, kun läpi putki tai parametrit, jotka supportarrays esineitä.

lisätietoja, KS.järjestelmä.Tuple.

Katso myös

  • about_Assignment_Operators
  • about_Hash_Tables
  • about_Operators
  • about_For
  • about_Foreach
  • about_While


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *