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]);
Related posts
Kategoriler
- ASP.NET (1)
- C# (13)
- SQL İpuçları ve Püf Noktaları (1)
- SQL Server (4)
- Uncategorized (1)