Cuprins >> Array-uri > Initializarea array-urilor
Articol de importanță mare

Ca oricare alte variabile, array-urile trebuie să fie inițializate înainte de a putea accesa și folosi un element din array. În C#, inițializarea array-urilor se face automat cu valori inițiale implicite. Pentru tipurile numerice, valoarea implicită de inițializare este 0, false pentru tipul bool, null pentru tipurile de referință, etc.

În plus față de inițializarea implicită care se întâmplă atunci când declarăm array-ul, putem de asemenea inițializa în mod explicit. Există mai multe modalități prin care putem efectua inițializarea array-urilor. Cea mai simplă modalitate este combinarea declarației și inițializării într-o singură declarație, folosind sintaxa inițializatorilor de obiecte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] unArray = { 1, 2, 3, 4, 5, 6 };
            
            Console.ReadLine();
        }
    }
}

Dar, în lecția precedentă am spus că inițializarea array-urilor se poate face astfel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] unArray = new int[6];
            
            Console.ReadLine();
        }
    }
}

Deci, de ce această diferentă? Adevărat, ambele afirmații produc array-uri de 6 elemente de tip număr întreg. Cu toate acestea, în primul exemplu, vom și atribui valori specifice elementelor noastre de array, în timp ce în al doilea exemplu, array-ul este populat cu 6 numere întregi, toate având valoarea implicită 0. Desigur, putem combina cele două exemple, deși acest lucru ar fi o complicație inutilă (din moment ce putem folosi pur și simplu primul nostru exemplu):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] unArray = new int[6] { 1, 2, 3, 4, 5, 6 };
            
            Console.ReadLine();
        }
    }
}

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip: