Tutorial C# Array: Creați, declarați, inițializați
⚡ Rezumat inteligent
Matricele C# stochează o colecție de elemente de dimensiune fixă care au același tip de date sub un singur nume de variabilă. Fiecare element se află la un index cu bază zero, astfel încât declararea, inițializarea și accesarea valorilor rămân rapide și previzibile.
Ce este o matrice în C#?
O matrice este folosită pentru a stoca o colecție sau o serie de elemente. Aceste elemente vor fi de același tip.
Deci, de exemplu, dacă ați avut o matrice de valori întregi, matricea ar putea fi o colecție de valori precum [1, 2, 3, 4]. Aici numărul de elemente din matrice este 4.
Matricele sunt utile atunci când doriți să stocați o colecție de valori de același tip. Deci, în loc să declari a variabil pentru fiecare element, puteți declara doar o variabilă.
Această variabilă va indica o matrice sau o listă de elemente, care va fi responsabilă pentru stocarea elementelor matricei.
Să ne uităm la cum putem lucra cu matrice în C#. În exemplul nostru, vom declara o matrice de numere întregi și vom lucra cu ele în consecință.
Rețineți că tot codul de mai jos este făcut în fișierul Program.cs.
Pas 1) Declararea unei matrice – Primul pas este declararea unei matrice. Să vedem cum putem realiza acest lucru prin exemplul de cod de mai jos.
Code Explicaţie:-
- Prima parte este datatype. Specifică tipul de elemente utilizate în matrice. Deci, în cazul nostru, creăm o matrice de numere întregi.
- A doua parte [ ], care specifică rangul matricei. (Rangul este un substituent care specifică numărul de elemente pe care le va conține matricea)
- Urmează numele matricei care în cazul nostru este „valori”. Rețineți că vedeți o subliniere ondulată verde, nu vă faceți griji pentru asta. Adică doar .Net spune că ați declarat o matrice, dar nu o utilizați nicăieri.
Pas 2) Următorul pas este inițializarea matricei. Aici vom specifica numărul de valori pe care matrice le va deține. De asemenea, vom atribui valori fiecărui element al matricei.
Code Explicaţie:-
- Mai întâi, setăm numărul de elemente pe care matrice le va păstra la 3. Deci, între paranteze drepte, spunem că matricea va conține 3 elemente.
- Apoi atribuim valori fiecărui element al tabloului. Putem face acest lucru specificând numele variabilei + poziția indexului în tablou. Deci, values[0] înseamnă că stocăm o valoare în prima poziție a tabloului. În mod similar, pentru a accesa a doua poziție, folosim notația values[1] și așa mai departe.
notițe: – În Arrays, poziția indexului începe de la 0.
Pas 3) Să afișăm acum elementele individuale ale matricei în Consolă. Să adăugăm codul de mai jos pentru a realiza acest lucru.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Explicaţie:-
Aceasta este partea simplă în care folosim metoda Console.WriteLine pentru a trimite fiecare valoare a elementului către consolă.
Rețineți că, din nou, accesăm fiecare element cu ajutorul numelui variabilei matricei împreună cu poziția indexului.
Dacă codul de mai sus este introdus corect și programul este executat, va fi afișată următoarea ieșire.
ieșire:
Din rezultat, puteți vedea toate valorile matricei care sunt afișate în Consolă.
Cum se parcurge o buclă printr-un array C# folosind foreach
Citirea fiecărui element după indexul său funcționează, dar devine plictisitoare atunci când un tablou conține mai multe valori. Bucla foreach oferă o modalitate mai curată de a vizita fiecare element al unui tablou în ordine, fără a... tracregândirea unei variabile index.
Instrucțiunea foreach preia fiecare element din matrice pe rând și îl copiază într-o variabilă de buclă. Apoi, utilizați acea variabilă în interiorul corpului buclei. Deoarece bucla se oprește automat la ultimul element, foreach elimină riscul de citire după sfârșitul matricei.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
Exemplul de mai sus declară și inițializează un tablou de trei numere întregi, apoi îl parcurge cu foreach. La fiecare trecere, variabila articol primește următoarea valoare, iar Console.WriteLine o afișează. Rezultatul este numerele 1, 2 și 3 pe linii separate.
Puncte cheie de reținut despre foreach cu matrice:
- Variabila buclă este doar pentru citire, deci foreach este cea mai bună metodă pentru citirea valorilor, decât pentru modificarea lor pe loc.
- Pentru a modifica elementele în timp ce se toaleazăping, utilizați în schimb o buclă for cu un index.
- foreach funcționează cu tablouri unidimensionale, tablouri multidimensionale și orice colecție care acceptă iterație.
Matrice multidimensionale C#
Tablourile prezentate până acum sunt unidimensionale, adică stochează o listă simplă de valori. C# acceptă, de asemenea, tablouri multidimensionale, care aranjează elementele într-o grilă de rânduri și coloane. Un tablou bidimensional este cea mai comună formă și se potrivește datelor precum matrici, table de joc și tabele.
Declari un tablou bidimensional plasând o virgulă între parantezele pătrate. Fiecare virgulă suplimentară adaugă o altă dimensiune, deci int[,] este bidimensional și int[,,] este tridimensional. Elementele sunt apoi accesate cu un index per dimensiune.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Aici, matricea de tip tablou conține două rânduri și două coloane. Elementul matrix[0, 0] returnează 1, iar matrix[1, 1] returnează 4. Numărul de dimensiuni este fix la declararea tabloului, în timp ce dimensiunea fiecărei dimensiuni este setată la crearea tabloului.
Matrice zimțate C#
O matrice zimțată este o matrice ale cărei elemente sunt ele însele matrice. Spre deosebire de o matrice multidimensională dreptunghiulară, fiecare matrice interioară poate avea o lungime diferită, motiv pentru care o matrice zimțată este adesea numită o matrice de matrice. Această flexibilitate este utilă atunci când rândurile conțin în mod natural numere diferite de valori.
Declari o matrice zimțată cu două seturi de paranteze pătrate, apoi creezi fiecare matrice internă separat. Următorul exemplu construiește o matrice zimțată în care primul rând conține trei valori, iar al doilea rând conține două.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
Expresia jagged[0][2] citește al treilea element al primului rând, care este 3, iar jagged[1][1] citește al doilea element al celui de-al doilea rând, care este 5. Deoarece fiecare rând este o matrice separată, matricele jagged utilizează memoria eficient atunci când lungimile rândurilor variază, deși necesită un pas suplimentar pentru a inițializa fiecare matrice internă.





