Tüm diziler referans türlü oldukları için, aşağıdaki kod, stack bölgesine bir int[] pointer’ı oluşturur.

 int[] sayilar;
 sayilar = new int[10];

sayilar2 bir pointer’dır ve bu pointer der ki:
“Ben heap bölgesindeki int[] tipinden nesnelerin adreslerini saklayabilirim”

 int[] sayilar2 = new int[20];

Aşağıdaki kod satırı hata almamıza sebep olur; çünkü sayilar2 yalnızca int[] nesnelerinin adreslerini saklayabilir.

sayilar2 = "test";

Aşağıdaki dizi örneklenirken tüm elemanlar 0 değerini alırlar.

sayilar2 = new int[5];

Aşağıdaki örnekte dizi nin birinci elemanı [0] denildiğinde, sayilar2’nin işaret ettiği adresten itibaren 0x4byte (her bir int 4 byte olduğu için) ötesi okunacağından ilk eleman okunmuş olur…

Console.WriteLine("sayilar2 dizisinin 0 Elemanı : {0}",sayilar2[0].ToString());<br>
            Console.WriteLine();
int[] sayilar3 = { 4, 5, 6, 7, 8, 9, 10 };

Eğer değişkeni tanımladıktan sonra bir dizi nesnesi üretip, değerlerini atamak istiyorsak yukarıdaki kullanım yerine aşağıdakini tercih etmek zorundayız.

 sayilar3 = new int[] { 1,4,5,10 };
  for (int i = 0; i < sayilar3.Length; i++)
            {
                Console.WriteLine("sayilar3 dizisinin {0} Elamanının Değer {1}",i,sayilar3[i].ToString());
            }

iki boyutlu bir dizi tanımlamasına örnek

 int[,] matris = { { 4, 5, 7, 10 }, { 3, 4, 5, 6 } };


            Console.WriteLine(matris[0, 0]);
            
            Console.WriteLine(matris[1, 0]);
            Console.WriteLine(matris[1, 1]);
            Console.WriteLine(matris[1, 2]);
            Console.WriteLine(matris[1,3]);