multidimensional arrays
Ta vadnica z primeri pojasnjuje vse o večdimenzionalnih nizih in nazobčanih nizih v jeziku C #. Večdimenzionalni nizi so znani tudi kot pravokotni nizi:
Vse o nizih in enodimenzionalnih nizih smo raziskali v prejšnji vadnici.
V tej vadnici bomo podrobno spoznali večdimenzionalne nize in nazobčane nize v C # skupaj s primeri.
=> Tukaj raziščite naše poglobljene vadnice za C #
Kaj se boste naučili:
C # Večdimenzionalni nizi
Večdimenzionalni nizi so znani tudi kot pravokotni nizi. Večdimenzionalne nize lahko nadalje razvrstimo v dvodimenzionalne nize.
Za razliko od enodimenzionalnih nizov, kjer se podatki shranjujejo v zaporedni linijski liniji, večdimenzionalno polje shranjuje podatke v tabelarni obliki, to je v obliki vrstic in stolpcev. Ta razporeditev podatkov v obliki tabele je znana tudi kot matrika.
Dvodimenzionalni nizi
Najpreprostejša oblika večdimenzionalnega polja je dvodimenzionalno polje. Dvodimenzionalno polje lahko oblikujemo tako, da zložimo več enodimenzionalnih nizov skupaj. Naslednja slika bo pomagala pri boljšem razumevanju koncepta.
Zgornja slika je grafični prikaz izgleda dvodimenzionalnega polja. Označuje se z vrstico in stolpcem. Zato bo vsak gradnik dvodimenzionalnega polja sestavljen iz indeksa, ki predstavlja številko vrstice in številko stolpca.
Večdimenzionalni nizi so deklarirani kot enodimenzionalna matrika, edina razlika je vključitev vejice znotraj oglatega oklepaja za predstavitev vrstic, stolpcev itd.
string( , ) strArray = new string(2,2);
Zdaj pa si oglejmo primer za inicializacijo dvodimenzionalne matrike.
2-D matriko prijavi
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Na primer, recimo, če ima moj element matrike vrstico 'i' in stolpec 'j', potem lahko do njega dostopamo z uporabo naslednjega indeksnega polja (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();
Rezultat naslednjega programa bo:
fruitArray (0,0) = jabolko
fruitArray (0,1) = mango
fruitArray (1.0) = oranžna
fruitArray (1,1) = banana
Pojasnilo:
Prvi del programa je izjava Array. Proglasili smo niz vrst nizov velikosti vrstic 2 in stolpcev 2. V naslednjem delu smo poskusili dostopati do polja z zanko for.
Za dostop do vrednosti smo uporabili zanko ugnezdenega for. Zunanja zanka for vsebuje številko vrstice, tj. Začela se bo z 'ničlo' vrstico in se nato premaknila naprej. Notranja for zanka določa številko stolpca. Z vsako številko vrstice, ki jo je posredovala prva zanka for, bo druga zanka dodelila številko stolpca in dostopala do podatkov iz celice.
Nazobčana polja v C #
Druga vrsta matrike, ki je na voljo s C #, je nazobčana matrika. Nazobčano polje lahko definiramo kot polje, sestavljeno iz nizov. Nazobčana polja se uporabljajo za shranjevanje nizov namesto drugih podatkovnih vrst.
Nazobčano matriko je mogoče inicializirati z uporabo dveh kvadratnih oklepajev, pri čemer prvi kvadratni oklepaj označuje velikost matrike, ki je definirana, drugi oklepaj pa dimenzijo matrike, ki bo shranjena znotraj nazobčane matrike.
Izjava o nazobčanem nizu
Kot smo že omenili, je mogoče nazobčano matriko inicializirati z naslednjo sintakso:
string( )( ) stringArr = new string(2)( );
Nazobčani niz lahko shrani več nizov z različno dolžino. Deklariramo lahko matriko dolžine 2 in drugo matriko dolžine 5, obe pa lahko shranimo v isto nazobčano matriko.
Polnilni element znotraj nazobčanega polja
Najprej lahko inicializiramo nazobčano matriko.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
V zgornjem primeru smo inicializirali nazobčano matriko z nizom z indeksoma '0' in '1', ki vsebuje matriko velikosti, definirano znotraj oglatega oklepaja. Indeks 0 vsebuje niz nizov vrste dolžine 2, indeks '1' pa niz nizov tipa dolžine 3.
Tako smo inicializirali matriko. Inicializirajmo in vstavimo vrednosti v nazobčano matriko.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Kot je prikazano v zgornjem primeru, je mogoče tudi zobato matriko prijaviti z vrednostmi. Za dodajanje vrednosti postavimo kodrasti oklepaj za deklarirano nazobčano matriko s seznamom vrednosti.
Med razglasitvijo je mogoče tudi inicializirati nazobčano matriko.
To lahko storimo z naslednjim pristopom.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
V zgornjem primeru smo definirali nazobčano matriko z imenom 'jaggedArray' z velikostjo 2, nato pa znotraj zavitih oklepajev definirali in razglasili njene sestavne nize.
Pridobi podatke iz neravnega polja
Do zdaj smo se učili o vstavljanju podatkov v nazobčano matriko. Zdaj bomo razpravljali o metodi za pridobivanje podatkov iz nazobčane matrike. Uporabili bomo isti primer, o katerem smo že govorili, in poskušali pridobiti vse podatke iz tega polja.
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 Rezultat naslednjega programa bo:
jabolčni mango
oranžna banana guava
Pojasnilo:
kaj je beta testiranje in kako se uporablja
Uporabili smo dve zanki za prečni prehod skozi elemente. Prva zanka for je definirala indeks za nazobčano matriko. Druga ugnezdena zanka for je bila uporabljena za prečenje skozi matriko, ki je prisotna v danem indeksu nazobčane matrike, nato pa smo rezultat natisnili v konzolo.
Pomembne točke:
- Nazobčano polje je polje nizov. torej shranjuje polja kot svoje vrednosti.
- Nazobčana matrika bo vrgla izven obsega, če navedeni indeks ne obstaja.
Zaključek
V tej vadnici smo v C # spoznali nazobčane in večdimenzionalne nize. Naučili smo se, kako prijaviti in inicializirati dvodimenzionalno matriko. Ustvarili smo tudi preprost program za pridobivanje podatkov iz dvodimenzionalnega polja.
Nato smo podrobno razpravljali o Jagged matriki, ki je niz nizov.
Nazobčana matrika je sama po sebi edinstvena, saj hrani nize kot vrednosti. Nazobčani nizi so precej podobni drugim nizom, edina razlika je vrsta vrednosti, ki jo shrani.
=> BREZPLAČNI Vadnice za C # za vse
Priporočeno branje
- Polja v STL
- Matrika C #: Kako prijaviti, inicializirati in dostopati do matrike v jeziku C #?
- Večdimenzionalni nizi v jeziku C ++
- Polja C ++ s primeri
- Uporaba nizov s funkcijami v C ++
- Polja VBScript: Uporaba funkcij DIM, REDIM, Split in Ubound Array
- Vstavite več dokumentov v MongoDB z uporabo nizov
- Java vrste podatkov, zanke, nizi, stikala in trditve