"Enter"a basıp içeriğe geçin

C# Arrayler

Merhaba arkadaşlar, bugün sizlere C# arrayler konusunu anlatacağım.. Arrayler, birden fazla veriyi tek bir değişkende saklamamızı sağlayan veri yapılarıdır. Örneğin, bir sınıftaki öğrencilerin isimlerini saklamak istiyorsak, her bir isim için ayrı bir değişken tanımlamak yerine, bir array kullanabiliriz.

Arraylerin tanımlanması ve kullanılması oldukça basittir. Öncelikle, arrayin hangi veri tipinde olacağını belirtmemiz gerekir. Sonra, köşeli parantezler içinde arrayin boyutunu yani kaç eleman alacağını yazmamız gerekir. Son olarak, eşittir işaretinden sonra arrayin elemanlarını virgülle ayırarak yazmamız gerekir. İşte bir örnek:

// Bir string array tanımlama
string[] isimler = new string[5]; // 5 elemanlı bir array
// Arrayin elemanlarını atama
isimler[0] = "Ali";
isimler[1] = "Ayşe";
isimler[2] = "Mehmet";
isimler[3] = "Fatma";
isimler[4] = "Ahmet";

Burada dikkat etmemiz gereken nokta, arrayin elemanlarına erişirken köşeli parantez içindeki sayının sıfırdan başladığıdır. Yani arrayin ilk elemanı isimler[0], son elemanı ise isimler[4]’tür.

Arrayin elemanlarını ekrana yazdırmak için ise bir for döngüsü kullanabiliriz. For döngüsü, belirli bir sayıda tekrar eden işlemleri yapmamızı sağlayan bir yapıdır. For döngüsünün başlangıç değeri, bitiş değeri ve artış miktarını belirtmemiz gerekir. Örneğin:

// Arrayin elemanlarını ekrana yazdırma
for (int i = 0; i < 5; i++) { // i değişkeni 0'dan başlayarak 5'ten küçük olduğu sürece 1'er 1'er artar
   Console.WriteLine(isimler[i]); // i'nci elemanı ekrana yazdır
}

Bu kodu çalıştırdığımızda, ekranda şöyle bir çıktı alırız:

Ali
Ayşe
Mehmet
Fatma
Ahmet

Gördüğünüz gibi, arrayin tüm elemanlarını tek tek ekrana yazdırmış olduk.

Arraylerin faydalarından biri de, birden fazla boyutlu olabilmesidir. Yani, tek boyutlu arraylerin yanında, iki boyutlu veya daha fazla boyutlu arrayler de tanımlayabiliriz. İki boyutlu arrayler, matrislere benzer şekilde satır ve sütunlardan oluşur. Örneğin, bir sınıftaki öğrencilerin notlarını saklamak için iki boyutlu bir array kullanabiliriz.

İki boyutlu array tanımlamak için ise, köşeli parantezleri iki kere kullanmamız gerekir. İlk parantez içinde satır sayısını, ikinci parantez içinde sütun sayısını belirtiriz. Sonra, eşittir işaretinden sonra arrayin elemanlarını satır satır virgülle ayırarak yazmamız gerekir. İşte bir örnek:

// Bir int array tanımlama
int[,] notlar = new int[3, 2]; // 3 satır ve 2 sütunlu bir array
// Arrayin elemanlarını atama
notlar[0, 0] = 85; // 1. satır 1. sütun
notlar[0, 1] = 90; // 1. satır 2. sütun
notlar[1, 0] = 75; // 2. satır 1. sütun
notlar[1, 1] = 80; // 2. satır 2. sütun
notlar[2, 0] = 95; // 3. satır 1. sütun
notlar[2, 1] = 100; // 3. satır 2. sütun

Burada da dikkat etmemiz gereken nokta, arrayin elemanlarına erişirken köşeli parantez içindeki sayıların sıfırdan başladığıdır. Yani arrayin ilk elemanı notlar[0,0], son elemanı ise notlar[2,1]’dir.

İki boyutlu arrayin elemanlarını ekrana yazdırmak için ise, iki tane for döngüsü kullanabiliriz. İlk for döngüsü satırları, ikinci for döngüsü ise sütunları gezmemizi sağlar. Örneğin:

// Arrayin elemanlarını ekrana yazdırma
for (int i = 0; i < 3; i++) { // i değişkeni 0'dan başlayarak 3'ten küçük olduğu sürece 1'er 1'er artar
   for (int j = 0; j < 2; j++) { // j değişkeni 0'dan başlayarak 2'den küçük olduğu sürece 1'er 1'er artar
      Console.Write(notlar[i,j] + " "); // i'nci satır j'nci sütundaki elemanı ekrana yazdır ve bir boşluk bırak
   }
   Console.WriteLine(); // Bir alt satıra geç
}

Bu kodu çalıştırdığımızda, ekranda şöyle bir çıktı alırız:

85 90
75 80
95 100

Gördüğünüz gibi, arrayin tüm elemanlarını matris şeklinde ekrana yazdırmış olduk.

Arrayler konusunu anlattığım bu yazının sonuna geldik. Umarım faydalı olmuştur. Arrayler ile ilgili daha fazla bilgi ve örnek için Microsoft’un resmi belgelerine bakabilirsiniz. Soru ve görüşlerinizi yorum kısmında paylaşabilirsiniz. Bir sonraki konuda görüşmek üzere.

C# ile ilgili diğer yazılarım için: C# – Bizneyapiyoruzki

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.