multidimensional arrays
Denne vejledning forklarer alt om flerdimensionelle arrays & Jagged Arrays i C # med eksempler. Flerdimensionelle arrays er også kendt som Rectangular Arrays:
Vi udforskede alt om Arrays og Single Dimensional Arrays i vores tidligere tutorial.
I denne vejledning lærer vi detaljeret om multidimensionelle arrays og Jagged Arrays i C # sammen med eksempler.
=> Udforsk vores dybtgående C # -træningsvejledninger her
Hvad du lærer:
C # flerdimensionelle arrays
Multidimensionelle arrays er også kendt som rektangulære arrays. Multidimensionelle arrays kan klassificeres yderligere i to eller tredimensionelle arrays.
I modsætning til enkeltdimensionelle matrixer, hvor data lagres sekventielt, foretages et multidimensionelt array data i tabelform, dvs. i form af rækker og kolonner. Denne tabelform af data er også kendt som en matrix.
2-dimensionelle arrays
Den enkleste form for flerdimensionelt array er et todimensionalt array. Et todimensionelt array kan dannes ved at stable flere endimensionelle arrays sammen. Følgende figur hjælper med at forstå konceptet bedre.
Ovenstående billede er en grafisk gengivelse af, hvordan det 2-dimensionelle array ser ud. Det betegnes ved at have en række og kolonne. Derfor vil hver byggesten i det todimensionale array bestå af det indeks, der repræsenterer række og kolonnenummer.
Flerdimensionelle matrixer erklæres som det enkeltdimensionelle array, hvor den eneste forskel er inkluderingen af komma inden for den firkantede parentes for at repræsentere rækker, kolonner osv.
string( , ) strArray = new string(2,2);
Lad os nu se på et eksempel for at initialisere et todimensionelt array.
Et 2-D-array erklæres af
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
For eksempel, Lad os sige, hvis mit array-element har 'i' -række og 'j' -kolonne, kan vi få adgang til det ved hjælp af følgende indeksarray (i, j).
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ }; /* output for the elements present in array*/ for (int i = 0; i <2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine('fruitArray({0},{1}) = {2}', i, j, fruitArray(i,j)); } } Console.ReadKey();
Resultatet af følgende program vil være:
fruitArray (0,0) = æble
fruitArray (0,1) = mango
fruitArray (1.0) = orange
fruitArray (1,1) = banan
Forklaring:
Den første del af programmet er Array-erklæringen. Vi erklærede en strengtypematrix af række størrelse 2 og kolonnestørrelse 2. I den næste del forsøgte vi at få adgang til arrayet ved hjælp af for loop.
Vi har brugt en indlejret for loop til at få adgang til værdierne. Den ydre for løkke giver række nummer, dvs. det begynder med 'nul' række og derefter bevæger sig fremad. Den indre for sløjfe definerer søjlenummeret. For hvert række nummer, der sendes med den første for loop, tildeler den anden for loop et kolonnummer og får adgang til dataene fra cellen.
Jagged Arrays In C #
En anden type array, der er tilgængelig med C #, er en Jagged Array. Et tagget array kan defineres som et array, der består af arrays. De takkede arrays bruges til at gemme arrays i stedet for andre datatyper.
En tagget matrix kan initialiseres ved hjælp af to firkantede parenteser, hvor den første firkantede parentes angiver størrelsen på det array, der defineres, og det andet parentes angiver den array-dimension, der skal gemmes inde i den takkede array.
Jagged Array Declaration
Som diskuteret kan en ujævn række initialiseres med følgende syntaks:
string( )( ) stringArr = new string(2)( );
Et tagget array kan gemme flere arrays med forskellige længder. Vi kan erklære en matrix med længde 2 og en anden matrix med længde 5, og begge disse kan gemmes i det samme takkede array.
Fyldningselement inde i Jagged Array
Lad os initialisere en Jagged Array.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
I ovenstående eksempel har vi initialiseret en strengt type flettet matrix med indeks '0' og '1' indeholdende en matrix med størrelse defineret inden for den firkantede parentes. Det 0. indeks indeholder en strengtypematrix med længde 2, og indekset '1' indeholder en strengtypematrix med længde 3.
Sådan initialiserede vi en matrix. Lad os nu initialisere og placere værdier i et takket array.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Som vist i eksemplet ovenfor kan den takkede matrix derfor også deklareres med værdier. For at tilføje værdier placerer vi en krøllet parentes efter den erklærede takkede matrix med listen over værdier.
Det er også muligt at initialisere det takkede array, mens du erklærer det.
Dette kan gøres ved hjælp af følgende fremgangsmåde.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
I ovenstående eksempel definerede vi et Jagged array med navnet “jaggedArray” med størrelse 2 og derefter inde i det krøllede beslag definerede vi og erklærede dets sammensatte arrays.
Hent data fra en ujævn matrix
Indtil nu lærte vi om at placere data i et Jagged array. Nu vil vi diskutere metoden til at hente data fra et Jagged array. Vi bruger det samme eksempel, som vi diskuterede tidligere, og vil forsøge at hente alle data fra den matrix.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} }; /* retrieve value from each array element */ for (int i = 0; i Resultatet af følgende program vil være:
æble mango
orange banan guava
Forklaring:
swf-filafspiller ingen chokbølge-flash-objekt installeret
Vi brugte to til løkker til at krydse gennem elementerne. Den første for loop definerede indekset for Jagged array. En anden indlejret til løkke blev brugt til at krydse gennem det array, der er til stede i det givne takkede array-indeks, så vi udskrev resultatet til konsollen.
Punkter at huske:
- Et tagget array er et array af arrays. dvs. det gemmer arrays som sine værdier.
- Det takkede array kaster undtagelse fra område, hvis det angivne indeks ikke findes.
Konklusion
I denne vejledning lærte vi om Jagged og Multidimensional arrays i C #. Vi lærte at erklære og initialisere et todimensionelt array. Vi oprettede også et simpelt program til at hente data fra et todimensionelt array.
Derefter diskuterede vi detaljeret om Jagged array, som er en matrix af arrays.
Et Jagged array er unikt i sig selv, da det gemmer arrays som værdier. Jagged arrays svarer meget til andre arrays, hvor den eneste forskel er typen af værdi, den gemmer.
=> GRATIS C # -træningsvejledninger til alle
Anbefalet læsning
- Arrays i STL
- C # Array: Hvordan erklærer, initialiserer og får adgang til en array i C #?
- Flerdimensionelle arrays i C ++
- C ++ arrays med eksempler
- Brug af arrays med funktioner i C ++
- VBScript-arrays: Brug af DIM-, REDIM-, Split- og Ubound Array-funktioner
- Indsæt flere dokumenter i MongoDB ved hjælp af arrays
- Java datatyper, sløjfer, arrays, switch og påstande