Site icon Akbuz

C# Diziler (Array): Dizi Kullanımı ve Dizi Metotları Rehberi

C# Diziler (Array): Dizi Kullanımı ve Dizi Metotları Rehberi

Yazılım geliştirmede, birbiriyle ilişkili birden fazla verinin tek bir yapı altında toplanması ve yönetilmesi, bellek optimizasyonu ve kod okunabilirliği açısından kritik bir öneme sahiptir. Aynı veri tipine ait çoklu değerleri tek bir değişken altında, bellekte ardışık hücrelerde saklayan bu yapılara Dizi (Array) denir.

Bu makalede; C# dilinde dizi kavramını, dizilerin bellekteki yerleşim mantığını, tanımlama yöntemlerini ve projelerinizde işinizi kolaylaştıracak temel dizi metotlarını inceleyeceğiz.

C# Dizi (Array) Nedir?

C# programlama dilinde dizi; aynı veri türünden sabit sayıda öğeyi barındıran bir veri yapısıdır. Diziler, nesne tabanlı programlamada birer referans tipi (Reference Type) olarak değerlendirilir ve belleğin Heap bölgesinde tutulurlar.

Gerçek Hayat Analojisi ve Bellek Yapısı

Dizileri, üzerinde ardışık numaralar bulunan çekmeceli bir dolaba benzetebiliriz. Dolabın tek bir ismi vardır (örneğin: Ogrenciler), ancak her bir çekmece bağımsız bir veriyi saklar.

C# mimarisinde dizilerle ilgili bilinmesi gereken en temel kural, indeks numarasının 0’dan başlamasıdır. Dolayısıyla $N$ elemanlı bir dizinin son elemanına $N-1$ indeksi ile erişilir.

C# Projelerinde Dizi Kullanımı

C# üzerinde dizi tanımlarken veri tipini, köşeli parantez [] işaretini ve dizinin boyutunu belirtmek zorunludur.

1. Dizi Tanımlama ve Değer Atama Yöntemleri

Projelerinizde ihtiyacınıza göre iki farklı yöntemle dizi oluşturabilirsiniz:

C#

// 1. Yöntem: Boyutu önceden belirlenmiş boş bir dizi oluşturma
string[] arabalar = new string[3]; 
arabalar[0] = "Tesla";
arabalar[1] = "Porsche";
arabalar[2] = "Aston Martin";

// 2. Yöntem: Tanımlama esnasında doğrudan elemanları atama
int[] notlar = { 85, 90, 75, 100 };

2. Dizi Elemanlarına Erişim ve Döngüler

Dizi içerisindeki elemanları konsola yazdırmak veya üzerlerinde işlem yapmak için döngülerden (özellikle foreach) yararlanılır.

C#

// Belirli bir indeksteki elemana erişim
Console.WriteLine($"Seçilen Araç: {arabalar[0]}"); // Çıktı: Tesla

// Tüm dizi elemanlarını döngü ile dönme
foreach (int not in notlar)
{
    Console.WriteLine($"Öğrenci Notu: {not}");
}

En Sık Kullanılan C# Dizi Metotları

C# içerisindeki yerleşik System.Array sınıfı, diziler üzerinde arama, sıralama ve temizleme gibi işlemleri gerçekleştirebilmemiz için performanslı metotlar sunar.

1. Array.Sort()

Dizi elemanlarını metinsel ise alfabetik (A-Z), sayısal ise küçükten büyüğe doğru sıralar.

C#

int[] sayilar = { 45, 12, 89, 3 };
Array.Sort(sayilar); 
// Sonuç: { 3, 12, 45, 89 }

2. Array.Reverse()

Dizinin mevcut eleman sıralamasını tamamen tersine çevirir. Listenin ilk elemanı son, son elemanı ise ilk sıraya yerleşir.

C#

string[] isimler = { "Can", "Aslı", "Efe" };
Array.Reverse(isimler); 
// Sonuç: { "Efe", "Aslı", "Can" }

3. Array.IndexOf()

Dizi içinde belirli bir değerin kaçıncı indekste olduğunu arar. Değer bulunursa ilgili indeksi, bulunamazsa geriye -1 değerini döndürür.

C#

string[] sehirler = { "Samsun", "İstanbul", "İzmir" };
int indeks = Array.IndexOf(sehirler, "İstanbul"); 
// Sonuç: 1

4. Array.Clear()

Dizinin belirtilen indeks aralığındaki tüm elemanlarını temizler. Temizlenen elemanlar veri tipinin varsayılan değerine (int için 0, referans tipleri için null) çekilir.

C#

// sehirler dizisinin 0. indeksinden itibaren 2 elemanı temizler
Array.Clear(sehirler, 0, 2); 

Özet ve Sonuç

C# projelerinde eleman sayısı başlangıçta belirli ve sabit olan veri grupları için diziler (Array) en performanslı çözümdür. Bellekte ardışık yer kapladıkları için erişim hızları oldukça yüksektir. Dinamik olarak büyüyüp küçülmesi gereken veri kümeleri için ise diziler yerine List<T> gibi koleksiyon yapılarının tercih edilmesi mimari açıdan daha doğrudur.

Exit mobile version