multidimensional arrays
Denna handledning förklarar allt om flerdimensionella matriser och ojämna matriser i C # med exempel. Flerdimensionella matriser är också kända som rektangulära matriser:
Vi utforskade allt om Arrays och Single Dimensional Arrays i vår tidigare handledning.
I denna handledning kommer vi att lära oss mer om flerdimensionella matriser och jagade matriser i C # i detalj tillsammans med exempel.
=> Utforska våra djupgående C # -träningstutorialer här
Vad du kommer att lära dig:
C # flerdimensionella matriser
Flerdimensionella matriser är också kända som rektangulära matriser. Flerdimensionella matriser kan klassificeras ytterligare i två eller tredimensionella matriser.
Till skillnad från endimensionella matriser där data lagras sekventiellt, lagrar en multidimensionell matris data i tabellform, dvs i form av rader och kolumner. Detta tabellarrangemang av data är också känt som en matris.
2-dimensionella matriser
Den enklaste formen av flerdimensionell matris är en tvådimensionell matris. En tvådimensionell matris kan bildas genom att stapla flera endimensionella matriser tillsammans. Följande figur hjälper till att förstå konceptet bättre.
Ovanstående bild är en grafisk representation av hur den tvådimensionella matrisen ser ut. Det betecknas med en rad och kolumn. Följaktligen kommer varje byggsten i den tvådimensionella matrisen att bestå av det index som representerar radnummer och kolumnnummer.
Flerdimensionella matriser förklaras som den endimensionella matrisen, med den enda skillnaden att inkludera kommatecken i fyrkantsfästet för att representera rader, kolumner etc.
string( , ) strArray = new string(2,2);
Låt oss nu titta på ett exempel för att initiera en tvådimensionell matris.
En 2-D-array deklareras av
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Till exempel, låt oss säga om mitt array-element har 'i' -raden och 'j' -kolumnen kan vi komma åt det med hjälp av följande indexmatris (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 av följande program kommer att vara:
fruitArray (0,0) = äpple
fruitArray (0,1) = mango
fruitArray (1.0) = orange
fruitArray (1,1) = banan
Förklaring:
Den första delen av programmet är Array-deklarationen. Vi förklarade en strängtypmatris av radstorlek 2 och kolumnstorlek 2. I nästa del försökte vi komma åt matrisen med hjälp av för loop.
Vi har använt en kapslad för loop för åtkomst till värdena. Den yttre för slingan ger radnumret, dvs. det börjar med raden 'noll' och går sedan framåt. Den inre för slingan definierar kolumnnumret. Med varje radnummer som passeras av den första för slingan kommer den andra för slingan att tilldela ett kolumnnummer och få åtkomst till data från cellen.
Jagged Arrays In C #
En annan typ av array som är tillgänglig med C # är en Jagged Array. En ojämn matris kan definieras som en matris som består av matriser. De taggiga matriserna används för att lagra matriser istället för andra datatyper.
En ojämn grupp kan initieras med hjälp av två hakparenteser, där den första hakparentesen anger storleken på den array som definieras och den andra parentesen anger den arraydimension som ska lagras i den ojämna arrayen.
Jagged Array Declaration
Som diskuterat kan en ojämn matris initieras med följande syntax:
string( )( ) stringArr = new string(2)( );
En ojämn grupp kan lagra flera matriser med olika längder. Vi kan deklarera en array med längd 2 och en annan array med längd 5 och båda dessa kan lagras i samma ojämna array.
Fyllning av element i Jagged Array
Låt oss initialisera en Jagged Array.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
I exemplet ovan har vi initierat en sträng typ ojämn matris med index '0' och '1' som innehåller en matris med storlek definierad i hakparentesen. Det 0: e indexet innehåller en strängtypsuppsättning av längd 2 och indexet '1' innehåller en strängtypsuppsättning av längd 3.
Så här initierade vi en matris. Låt oss nu initiera och placera värden i en ojämn matris.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Således, som visas i exemplet ovan, kan den ojämna matrisen också deklareras med värden. För att lägga till värden placerar vi en lockig parentes efter den deklarerade ojämna matrisen med listan över värden.
Det är också möjligt att initialisera den ojämna arrayen medan du förklarar den.
Detta kan göras med följande tillvägagångssätt.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
I exemplet ovan definierade vi en Jagged array med namnet 'jaggedArray' med storlek 2 och sedan inuti den lockiga konsolen definierade vi och förklarade dess beståndsdelar.
Hämta data från en ojämn matris
Hittills har vi lärt oss att sätta in data i en Jagged array. Nu kommer vi att diskutera metoden för att hämta data från en Jagged array. Vi kommer att använda samma exempel som vi diskuterade tidigare och kommer att försöka hämta all data från den matrisen.
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 av följande program kommer att vara:
äppelmango
orange bananguava
Förklaring:
hur man använder assert i selen webdriver
Vi använde två för öglor för att korsa genom elementen. Den första för loop definierade indexet för Jagged array. En annan kapslad för slinga användes för att korsa genom matrisen som finns i det angivna taggiga matrisindexet, sedan skrev vi ut resultatet till konsolen.
Poäng att komma ihåg:
- En ojämn grupp är en uppsättning matriser. dvs den lagrar matriser som sina värden.
- Den ojämna matrisen kommer att kasta undantag från intervallet om det angivna indexet inte finns.
Slutsats
I denna handledning lärde vi oss om Jagged och Multidimensional arrays i C #. Vi lärde oss att deklarera och initiera en tvådimensionell matris. Vi skapade också ett enkelt program för att hämta data från en tvådimensionell matris.
Sedan diskuterade vi i detalj om Jagged array, som är en array av arrays.
En Jagged array är unik i sig eftersom den lagrar arrays som värden. Jagged arrays är ganska lika andra arrays, med den enda skillnaden är vilken typ av värde den lagrar.
=> GRATIS C # -träningstutorialer för alla
Rekommenderad läsning
- Arrays i STL
- C # Array: Hur deklarerar, initialiserar och får tillgång till en array i C #?
- Flerdimensionella matriser i C ++
- C ++ Arrays med exempel
- Använda matriser med funktioner i C ++
- VBScript Arrays: Använda DIM-, REDIM-, Split- och Ubound Array-funktioner
- Infoga flera dokument i MongoDB med hjälp av matriser
- Java datatyper, slingor, matriser, switch och påståenden