Programavimas

Kaip dirbti su dantytais masyvais C #

Masyvas gali būti apibrėžtas kaip nuoseklus to paties duomenų tipo elementų rinkimas. Masyvo elementai yra saugomi gretimose atminties vietose. Masyvai gali būti viengubi arba daugialypiai. Dantytasis masyvas yra specialus daugiamatės masyvo tipas, kuriame kiekvienas masyvas (dantytasis masyvas iš tikrųjų yra masyvų masyvas) gali būti skirtingo dydžio.

Jūs galite turėti dantytas masyvas bet kuria kompiuterio kalba, kuri teikia masyvų palaikymą. Dantytasis masyvas (taip pat žinomas kaip nuskuręs masyvas) yra masyvų masyvas, kuriame nario masyvai savo ruožtu gali būti skirtingo dydžio ir dydžio. Norėdami pagerinti našumą, galite pritaikyti daugialypius matricas - dantytas.

Darbo su dantytomis masyvais C # pradžia

Šiame skyriuje mes ištirsime, kaip deklaruoti, inicializuoti ir pasiekti dantytas masyvus. Kaip žinome, dantytas masyvas susideda iš panašių ar skirtingų dydžių masyvų masyvo. Kitaip tariant, dantytame masyve eilučių skaičius yra fiksuotas, tačiau stulpelių skaičius gali skirtis. Deklaruodami dantytą masyvą, galite tiesiog deklaruoti masyvo eilučių skaičių ir pageidautina nurodyti stulpelių skaičių vykdymo metu.

Praneškite mums suprasti viską, ko iki šiol išmokome dantytuose masyvuose, pateikdami kelis kodų pavyzdžius. Apsvarstykite šį masyvą.

eilutė [] [] str = nauja eilutė [5] [];

Jūs deklaravote masyvo eilutes. Šiame masyve yra 5 eilutės, kuriose savo ruožtu gali būti 5 skirtingo ilgio eilutės masyvai. Pažiūrėkime, kaip mes galime deklaruoti 5 masyvus, pavadintus str, kurių kiekvienas yra skirtingo ilgio. Šis kodo fragmentas parodo, kaip tai galima pasiekti.

str [0] = nauja eilutė [5];

str [1] = nauja eilutė [10];

str [2] = nauja eilutė [20];

str [3] = nauja eilutė [50];

str [4] = nauja eilutė [10];

Dabar galite laikyti skirtingo ilgio eilutes dantytoje masyve, kaip parodyta žemiau esančiame kodo fragmente.

str [0] [0] = "Puna";

str [1] [0] = "Kolkata";

str [2] [0] = "Bangaloras";

str [3] [0] = "Rožinis miestas, pavadintas Džaipuras";

str [4] [0] = "Haidarabadas";

Čia yra visas kodų sąrašas, parodantis, kaip galite deklaruoti dantytą masyvą, saugoti duomenis, tada juos gauti ir rodyti konsolėje.

public static void Main (string [] args)

       {

// Pirmiausia deklaruokite dantytą masyvą

eilutė [] [] str = nauja eilutė [5] [];

str [0] = nauja eilutė [5];

str [1] = nauja eilutė [10];

str [2] = nauja eilutė [20];

str [3] = nauja eilutė [50];

str [4] = nauja eilutė [10];

// Dabar saugokite duomenis dantytame masyve

str [0] [0] = "Puna";

str [1] [0] = "Kolkata";

str [2] [0] = "Bangaloras";

str [3] [0] = "Rožinis miestas, pavadintas Džaipuras";

str [4] [0] = "Haidarabadas";

// Galiausiai pateikite kiekvienos eilutės masyvo turinį dantytame masyve

už (int i = 0; i <5; i ++)

Console.WriteLine (str [i] [0]);

Pultas.Skaitykite ();

       }

Kaip matote aukščiau pateiktoje programoje, dantytos masyvo eilučių skaičius yra fiksuotas, tačiau stulpelių skaičius skiriasi. Šis pavyzdys rodo dvimatį dantytą masyvą. Jei naudotumėte įprastą dviejų matmenų masyvą, turėtumėte suvartoti 5 x 50, t. Y., 250 baitų. Priežastis yra ta, kad kiekvienoje iš dantytų masyvų masyvų turėtumėte turėti po 50 baitų vietos, kad tilptų didžiausia eilutė. Šiame pavyzdyje didžiausia eilutė yra 50 dydžio. Priešingai, naudojant dantytą masyvą, jūs suvartosite tik 95 baitus! Įdomu, ar ne?

Kai vykdote aukščiau nurodytą programą, konsolės lange rodomos eilutės, saugomos dantytame masyve.

Kitas pavyzdys - dantytas sveikųjų skaičių masyvas

Panašiai kaip mes sukūrėme dantytą eilių masyvą, taip pat galite sukurti dantytą sveikųjų skaičių masyvą. Tiesą sakant, galite turėti bet kokio tipo duomenų disko masyvą. Štai kaip galite deklaruoti dantytą masyvą C #.

int [] [] numeriaiArray;

Šis kodo fragmentas iliustruoja, kaip galite deklaruoti sveiką skaičių dantytą masyvą, t. Y. Dantytą masyvą, kuris savo ruožtu gali laikyti įvairių elementų sveikųjų skaičių masyvus.

int [] [] numeriaiArray = naujas int [5] [];

for (int i = 0; i <numeriaiArray.Length; i ++)

   {

skaičiai Array [i] = naujas int [10 * (i + 1)];

   }

Pirmiau pateiktas kodo fragmentas sukuria sveiko skaičiaus dantytą masyvą, pavadintą „numeriai„ Array “, kuriame savo ruožtu yra įvairaus dydžio sveikųjų skaičių masyvai.