Tablouri C#

Tradus din această pagină oficială de documentație Microsoft.

Un tablou este o structură de date care conține un număr de variabile care sunt accesate prin indici calculați. Variabilele conținute într-un tablou, de asemenea numite elemente ale tabloului, sunt toate de același tip, și acest tip se cheamă tipul de elemente al tabloului.

Tipurile tablou sunt tipuri referință, și declarația unei variabile tablou pur și simplu pune de o parte spațiu pentru o referință către o instanță de tablou. Instanțele propriu zise de tablou sunt create dinamic la momentul execuției folosind operatorul new. Operația new specifică lungimea unei noi instanțe de tablou, care este apoi fixă pentru toată durata de viață a instanței. Indicii elementelor unui tablou sunt cuprinse între 0 și Length - 1. Operatorul new inițializează automat elementele unui tablou la valoarea lor implicită, care, de exemplu, este zero pentru toate tipurile numerice și null pentru toate tipurile referință.

Următorul exemplu creează un tablou de elemente int, inițializează tabloul, și afișează conținutul tabloului.

using System;
class ArrayExample
{
    static void Main()
    {
        int[] a = new int[10];
        for (int i = 0; i < a.Length; i++)
        {
            a[i] = i * i;
        }
        for (int i = 0; i < a.Length; i++)
        {
            Console.WriteLine($"a[{i}] = {a[i]}");
        }
    }

}

Acest exemplu creează și operează pe un tablou uni-dimensional. C# suportă de asemenea tablouri multi-dimensionale. Numărul de dimensiuni ale unui tip tablou, cunoscut și ca rang-ul tipului tablou, este unu plus numărul de virgule scrise între parantezele drepte ale tipului tablou. Următorul exemplu alocă un tablou uni-dimensional, unul bi-dimensional, și, respectiv, unul tri-dimensional.

int[] a1 = new int[10];
int[,] a2 = new int[10, 5];
int[,,] a3 = new int[10, 5, 2];

Tabloul a1 conține 10 elemente, tabloul a2 conține 50 (10 × 5) elemente, și tabloul a3 conține 100 (10 × 5 × 2) elemente. Tipul de element al unui tablou poate fi oricare tip, inclusiv un tip tablou. Un tablou cu elemente de un tip tablou este uneori numit un tablou crestat (en. jagged array) deoarece lungimile tablourilor elemente nu trebuie să fie toate la fel. Următorul exemplu alocă un tablou de tablouri de int:

int[][] a = new int[3][];
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[20];

Prima linie creează un tablou cu trei elemente, fiecare de tip int[] și fiecare cu o valoare inițială null. Liniile ulterioare apoi inițializează cele trei elemente cu referințe la instanțe de tablouri individuale de lungimi variabile.

Operatorul new permite valorilor inițiale ale elementelor tabloului să fie specificate folosind un inițializator de tablou, care este o listă de expresii scrise între delimitatorii { și }. Următorul exemplu alocă și inițializează un int[] cu trei elemente.

int[] a = new int[] {1, 2, 3};

Notați că lungimea tabloului este dedusă din numărul de expresii dintre { și }. Variabilele locale și declarațiile de câmpuri pot fi scurtate mai departe astfel încât tipul tablou nu trebuie să fie reafirmat.

int[] a = {1, 2, 3};

Ambele exemple anterioare sunt echivalente cu următorul:

int[] t = new int[3];
t[0] = 1;
t[1] = 2;
t[2] = 3;
int[] a = t;


Tradus din această pagină oficială de documentație Microsoft.

Niciun comentariu:

Trimiteți un comentariu