Erklæring:
Matriser er deklarert ved å bruke 'type[] ArrayName;' syntaks der typen angir typen til medlemmene i matrisesamlingen, og 'ArrName' er tittelen som er tilordnet til matrisen. En erklæring av en matrise er angitt med firkantede parenteser [].
type [ ] ArrayName = ny type [ ] ; Lister er deklarert ved å bruke 'List
Liste < type > liste navn = ny liste < type > ( ) ;
Initialisering:
Matriser bruker krøllete klammeparenteser {} for å omslutte verdiene, mens lister bruker den nye List
type [ ] ArrayName = { v1 , v2 , v3 , ... } ;
Liste < type > liste navn = ny liste < type > { v1 , v2 , v3 , ... } ;
Legge til verdier:
Det er viktig å huske at C#-arrayene har en bestemt størrelse. Hvis en annen størrelse er nødvendig, må en ny matrise 'newArr' opprettes med ønsket størrelse (nåværende lengde + antall nye verdier). Legg til den opprinnelige matrisen 'OrgArr' til den nye matrisen og tilordne de nye verdiene til de nye posisjonene i den nye matrisen og oppdater referansen til den nye matrisen.
Array. Kopiere ( OrgArr , newArr , OrgArr. Lengde ) ;
newArr [ OrgArr. Lengde ] = 14 ; // ny verdi
newArr [ OrgArr. Lengde + 1 ] = 2 ; // ny verdi
OrgArr = newArr ; // Oppdater referansen int[] NewArr = new int[OrgArr.Length + 2];
Lister gir fleksibilitet når det gjelder størrelsesstyring. Når en liste initialiseres, starter den med en innledende kapasitet, men den kan utvides automatisk etter hvert som flere elementer legges til. Denne funksjonen for dynamisk endring av størrelse lar listene tilpasse seg endrede krav. C#-listene gir en Add()-funksjon for å legge til verdiene til listen. Slik kan du legge til verdier til en C#-liste:
Arrays vs Lists : Brukssammenligning i C #
Få tilgang til verdiene
Verdiene i matrisenumrene åpnes ved å bruke indeksnotasjonen [], dvs. ved å bruke indeksnummeret i parentes og lagres i en annen variabel.
type element = ArrayName [ indeks ] ;For å få tilgang til verdiene i en C#-liste, kan du også bruke indeksnotasjonen [] sammen med ønsket indeksposisjon som ligner på arrays.
type element = Liste navn [ indeks ] ;
Fjerning av verdier
Matriser har en bestemt lengde. Derfor, for å fjerne elementene, må en ny matrise opprettes med en mindre størrelse, og de eksisterende elementene må kopieres. Dette kan gjøres ved å bruke Array.Copy()-funksjonen som forklart i delen 'Legge til verdier'. I C#-lister er det mye enklere og mer intuitivt å fjerne verdiene. List
Tell verdiene
For å telle verdiene i en C#-matrise, kan du bruke matrisens lengdeattributt. Lengde-egenskapen gir deg det totale antallet verdier i matrisen.
int telle = arrayName. Lengde ;For å telle verdiene i en C#-liste, kan du bruke listens 'count'-funksjon. Den totale mengden av elementer som for øyeblikket finnes i listen, returneres også av 'count'-attributtet.
int telle = liste navn. Telle ;Gjenta verdiene
For å iterere over verdier i en C#-matrise, kan du bruke en 'for'-løkke med matrisens lengde som løkkebetingelse.
til ( int Jeg = 0 ; Jeg < ArrayName. Lengde ; Jeg ++ ) {type e = arrayName [ Jeg ] ;
Konsoll. WriteLine ( Det er ) ;
}
For å iterere over verdiene i en C#-liste, kan du bruke en 'foreach'-løkke da den forenkler iterasjonsprosessen ved automatisk å iterere over elementene.
for hver ( skriv e i listenavn ) {Konsoll. WriteLine ( Det er ) ;
}
Eksempel 1: C#-matriser
Den gitte koden erklærer og initialiserer en heltallsmatrise kalt 'Arr' med en lengde på 5 og tildeler verdiene til elementene. De tilordnede verdiene til array-elementene er 11, 12, 13, 14 og 15. Koden fortsetter deretter med å vise elementene i arrayen ved å bruke en 'for'-løkke. Hver komponent vises på en distinkt linje ved å bruke Console.WriteLine()-metoden.
Etter å ha vist de originale elementene, modifiserer koden elementet ved indeks 2 ved å tildele det en ny verdi på 10. Deretter viser koden den modifiserte matrisen ved å iterere gjennom elementene igjen ved å bruke en 'for'-løkke. Til slutt viser koden det totale antallet verdier som ligger i matrisen ved å bruke 'Arr.Length'-egenskapen som gir lengden på matrisen.
bruker System ;klasse Dummy {
statisk tomrom Hoved ( ) {
int [ ] Arr = ny int [ 5 ] { elleve , 12 , 1. 3 , 14 , femten } ;
Konsoll. WriteLine ( 'Elementer:' ) ;
til ( int Jeg = 0 ; Jeg < Arr. Lengde ; Jeg ++ )
{
Konsoll. WriteLine ( Arr [ Jeg ] ) ;
}
Arr [ 2 ] = 10 ;
Konsoll. WriteLine ( 'Modifisert array:' ) ;
til ( int Jeg = 0 ; Jeg < Arr. Lengde ; Jeg ++ )
{
Konsoll. WriteLine ( Arr [ Jeg ] ) ;
}
Konsoll. WriteLine ( 'Antall elementer: ' + Arr. Lengde ) ;
}
}
Eksempel 2: C#-lister
Følgende kode viser bruken av en C#-liste for å lagre og manipulere en samling av heltall. Først initialiserer koden en liste kalt 'Arr' med fem heltall: 11, 12, 13, 14 og 15. Dette oppnås ved å bruke List
Deretter skriver programmet ut 'Elements:'-meldingen og fortsetter å iterere over hvert element i listen ved å bruke en 'foreach'-løkke. Under hver iterasjon skrives det gjeldende elementet ut til konsollen ved å bruke Console.WriteLine()-metoden.
Etterpå endrer koden verdien ved indeks 2 på listen ved å tildele den verdien 10 (Arr[2] = 10). Denne linjen endrer det tredje elementet i listen fra 13 til 10. Etter endringen, skriver programmet igjen 'Modified list:'-meldingen og itererer over den oppdaterte listen, og skriver ut hvert element til konsollen. Koden viser deretter antall verdier i listen ved å bruke 'Arr.Count'. Denne egenskapen returnerer antallet elementer som er til stede i listen, som i det følgende scenariet tilfeldigvis er 5.
Til slutt fjerner koden elementet med verdien 4 fra listen ved å bruke Arr.Remove(4)-metoden. Denne metoden søker etter den angitte verdien i listen og fjerner den første forekomsten. Til slutt skriver programmet 'Liste etter fjerning:'-meldingen og itererer over listen en gang til, og viser hvert gjenværende element etter fjerningsoperasjonen.
bruker System ;bruker System. Samlinger . Generisk ;
klasse Dummy {
statisk tomrom Hoved ( ) {
Liste < int > Arr = ny liste < int > ( ) { elleve , 12 , 1. 3 , 14 , femten } ;
Konsoll. WriteLine ( 'Elementer:' ) ;
for hver ( int n i Arr )
{
Konsoll. WriteLine ( n ) ;
}
Arr [ 2 ] = 10 ;
Konsoll. WriteLine ( 'Endret liste:' ) ;
for hver ( int n i Arr )
{
Konsoll. WriteLine ( n ) ;
}
Konsoll. WriteLine ( 'Antall elementer: ' + Arr. Telle ) ;
Arr. Fjerne ( 4 ) ;
Konsoll. WriteLine ( 'Liste etter fjerning:' ) ;
for hver ( int n i Arr )
{
Konsoll. WriteLine ( n ) ;
}
}
}
Konklusjon
Denne veiledningen dekket de grunnleggende syntaksforskjellene mellom C#-matrisene og C#-listene. Arrayene har fast lengde og er tilgjengelig via indeks, mens listene har dynamisk størrelse og gir ytterligere metoder for å legge til og fjerne elementene. Sammen med det ga vi C#-listeprogrammene som viser frem erklæringen, initialisering, tilgang til, modifisering, telling og tilføyelse av elementene.