Programmēšana

Kā strādāt ar robainiem masīviem C #

Masīvu var definēt kā secīgu viena veida datu elementu kolekciju. Masīva elementi tiek glabāti blakus esošās atmiņas vietās. Masīvi var būt vienkrāsaini vai daudzdimensionāli. Sagrozīts masīvs ir īpašs daudzdimensiju masīva veids, kurā katrs no masīviem (robains masīvs faktiski ir masīvu masīvs) var būt dažāda lieluma.

Jums var būt roboti bloki jebkurā datorvalodā, kas nodrošina masīvu atbalstu. Sagrozīts masīvs (pazīstams arī kā sašķelts masīvs) ir masīvu masīvs, kurā dalībnieku masīvi savukārt var būt dažāda izmēra un lieluma. Varat ieviest daudzdimensiju masīvus, kas ir robaini masīvi, lai uzlabotu veiktspēju.

Darba sākšana ar robainiem masīviem C #

Šajā sadaļā mēs izpētīsim, kā deklarēt, inicializēt un piekļūt robainiem masīviem. Kā mēs zinām, robains masīvs sastāv no līdzīgu vai dažādu izmēru masīvu masīva. Citiem vārdiem sakot, robainā masīvā rindu skaits ir fiksēts, bet kolonnu skaits var atšķirties. Deklarējot robotu masīvu, varat vienkārši deklarēt masīva rindu skaitu un priekšroku norādīt kolonnu skaitu izpildlaikā.

Informējiet mūs par visu, ko līdz šim esam iemācījušies robainos masīvos, ar dažiem kodu piemēriem. Apsveriet šādu masīvu.

virkne [] [] str = jauna virkne [5] [];

Jūs esat deklarējis masīva rindas. Šajā masīvā ir 5 rindas, kas savukārt var saturēt 5 dažāda garuma virkņu masīvus. Apskatīsim, kā mēs varam deklarēt 5 masīvus masīvā ar nosaukumu str, katram no tiem ir dažādi garumi. Šis koda fragments parāda, kā to var panākt.

str [0] = jauna virkne [5];

str [1] = jauna virkne [10];

str [2] = jauna virkne [20];

str [3] = jauna virkne [50];

str [4] = jauna virkne [10];

Tagad jūs varat uzglabāt atšķirīgu garumu virknes robainajā masīvā, kā parādīts zemāk esošajā koda fragmentā.

str [0] [0] = "Pune";

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

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

str [3] [0] = "Rozā pilsēta ar nosaukumu Džaipura";

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

Šeit ir pilns kodu saraksts, kas parāda, kā jūs varat deklarēt robotu masīvu, saglabāt datus un pēc tam tos izgūt un parādīt konsolē.

public static void Main (string [] args)

       {

// Vispirms deklarējiet robaino masīvu

virkne [] [] str = jauna virkne [5] [];

str [0] = jauna virkne [5];

str [1] = jauna virkne [10];

str [2] = jauna virkne [20];

str [3] = jauna virkne [50];

str [4] = jauna virkne [10];

// Tagad saglabājiet datus robainajā masīvā

str [0] [0] = "Pune";

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

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

str [3] [0] = "Rozā pilsēta ar nosaukumu Džaipura";

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

// Visbeidzot, parādiet katra virkņu masīva saturu robainajā masīvā

par (int i = 0; i <5; i ++)

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

Konsole. Lasīt ();

       }

Kā redzat iepriekš minētajā programmā, robaino masīva rindu skaits ir fiksēts, bet kolonnu skaits ir atšķirīgs. Šis piemērs attēlo divdimensiju robainu masīvu. Ja izmantotu parastu divdimensiju masīvu, jums vajadzētu patērēt 5 x 50, t.i., 250 baitus. Iemesls ir tāds, ka katrā no robotu masīva masīviem jums vajadzētu būt 50 baitu vietai, lai tajā ietilptu lielākā virkne. Šajā piemērā lielākā virkne ir 50 izmēra. Gluži pretēji, izmantojot robotu masīvu, jūs galu galā patērē tikai 95 baitus! Interesanti, vai ne?

Izpildot iepriekš minēto programmu, konsoles logā tiek parādītas virknes, kas saglabātas robainajā masīvā.

Vēl viens piemērs - robains veselu skaitļu masīvs

Līdzīgi tam, kā mēs esam izveidojuši robainu virkņu masīvu, varat izveidot arī robainu veselu skaitļu masīvu. Faktiski jums var būt jebkura veida datu robains masīvs. Lūk, kā jūs varat deklarēt robotu masīvu C #.

int [] [] skaitļiArmatūra;

Šis koda fragments parāda, kā jūs varat deklarēt veselu skaitli robotu masīvu, t.i., robotu masīvu, kas savukārt var uzglabāt dažādu elementu veselu skaitļu masīvus.

int [] [] numbersArray = jauns int [5] [];

par (int i = 0; i <skaitļi masīvs. garums; i ++)

   {

skaitļi masīvs [i] = jauns int [10 * (i + 1)];

   }

Iepriekš minētais koda fragments izveido veselu skaitli robainu masīvu ar nosaukumu Numuri, kas savukārt satur dažāda lieluma veselu skaitļu masīvus.

$config[zx-auto] not found$config[zx-overlay] not found