C# diziler, yazılım dünyasına adım atanların ilk karşılaştığı veri yapılarından biridir. Hem basitliği hem de çok yönlülüğü sayesinde, dizi yapıları çoğu algoritmanın temelini oluşturur.
C# diziler, yazılım dünyasına adım atanların ilk karşılaştığı veri yapılarından biridir. Hem basitliği hem de çok yönlülüğü sayesinde, dizi yapıları çoğu algoritmanın temelini oluşturur. Özellikle yazılım kurslarına yeni başlayanlar için diziler, döngülerle birlikte programlama mantığının anlaşılmasında kritik rol oynar. Bu yazımızda, diziler hakkında en çok merak edilen soruları cevaplayarak aklınızdaki tüm soru işaretlerini gidermeye çalıştık.
C# Diziler Nedir?
Dizi (Array), aynı türdeki verileri ardışık olarak saklayan bir veri yapısıdır. Örneğin, 10 adet sayıyı tek tek değişken olarak tanımlamak yerine, bir dizi ile tek satırda tanımlayıp yönetebilirsiniz.
int[] sayilar = new int[5]; // 5 elemanlı bir tamsayı dizisi tanımlandı.
C# Diziler Kaç Türlü Tanımlanabilir?
C# dilinde diziler temel olarak 3 şekilde tanımlanabilir:
- Tek boyutlu diziler
- Çok boyutlu (matris) diziler
- Jagged (köşeli) diziler
Örnek:
// Tek boyutlu string[] sehirler = { "Ankara", "İstanbul", "İzmir" }; // Çok boyutlu int[,] matris = new int[3, 3]; // Jagged int[][] jaggedArray = new int[3][];
Dizi Elemanlarına Nasıl Erişilir?
Dizi elemanlarına indeks kullanarak erişilir. İndeksler 0’dan başlar.
Console.WriteLine(sehirler[0]); // Ankara
Anahtar kelime: C# dizilerde indeks kullanımı, dizi elemanlarına erişim
Dizi Elemanları Kullanıcıdan Nasıl Alınır?
Döngü ile kullanıcıdan değer alarak bir dizi doldurabilirsiniz:
int[] notlar = new int[3]; for (int i = 0; i < notlar.Length; i++) { Console.Write("Not girin: "); notlar[i] = Convert.ToInt32(Console.ReadLine()); }
C#’ta Dizi Boyutu Sonradan Değiştirilebilir mi?
Hayır. Bir dizi oluşturulduğunda boyutu sabittir. Ancak, yeniden boyutlandırmak için yeni bir dizi oluşturup eskisinden verileri taşıyabilirsiniz. Alternatif olarak List<T> kullanılabilir.
// Alternatif çözüm List<int> sayilar = new List<int>(); sayilar.Add(10); sayilar.Add(20);
Anahtar kelime: C# diziler dinamik mi, dizi boyutu değiştirme, List kullanımı
Dizilerle En Sık Yapılan Hatalar Nelerdir?
- IndexOutOfRangeException: Tanımlı boyut dışında bir index’e erişmek.
- Diziye değer atamadan okumaya çalışmak.
- Sabit boyutlu diziyi, esnek yapılarda kullanmak.
Bir Dizideki En Büyük ve En Küçük Elemanı Nasıl Bulabilirim?
int[] dizi = { 3, 8, 2, 15, 7 }; int enBuyuk = dizi[0]; int enKucuk = dizi[0]; foreach (int sayi in dizi) { if (sayi > enBuyuk) enBuyuk = sayi; if (sayi < enKucuk) enKucuk = sayi; }
Dizi Elemanlarını Sıralamak İçin Hangi Yöntem Kullanılır?
C#’ta dizileri sıralamak için Array.Sort() metodu kullanılır:
Array.Sort(dizi); // Artan sıraya göre sıralar Array.Reverse(dizi); // Azalan sıraya çevirir
Anahtar kelime: C# dizileri sıralama, Array.Sort nasıl kullanılır
Dizi ile Döngüler Arasındaki İlişki Nedir?
Diziler genellikle döngülerle birlikte kullanılır çünkü sabit boyutlu ve indeksli yapıları vardır. for, foreach, while döngüleri ile rahatça gezilebilir.
foreach (int sayi in dizi) { Console.WriteLine(sayi); }
Çok Boyutlu Dizi ile Matris İşlemleri Nasıl Yapılır?
int[,] matris = new int[2, 2] { {1,2}, {3,4} }; Console.WriteLine(matris[1, 0]); // 3
Çok boyutlu diziler, tablo benzeri yapılarla çalışırken sıklıkla kullanılır.
Jagged Dizi ile Çok Boyutlu Dizi Arasındaki Fark Nedir?
- Çok boyutlu dizi: Satır ve sütun sayıları sabittir.
- Jagged dizi: Her satır farklı uzunlukta olabilir. Dizi içinde dizi şeklindedir.
int[][] jagged = new int[2][]; jagged[0] = new int[3]; // 3 elemanlı dizi jagged[1] = new int[5]; // 5 elemanlı dizi
Dizilerle İlgili Gerçek Hayattan Bir Örnek Verebilir misiniz?
Örneğin bir sınıftaki öğrencilerin notlarını tutmak istiyoruz. Her öğrencinin notunu ayrı değişkende tutmak yerine bir dizi kullanmak, hem daha az kod yazar hem de daha esnek bir yapı sağlar.
C# diziler, temel ama güçlü veri yapılarındandır. Sınav puanları, stok listeleri, öğrenci isimleri gibi verilerin saklanmasında diziler büyük kolaylık sağlar. C# ile yazılım öğrenmek isteyen herkesin bu yapıyı iyi kavraması gerekir.
Nereden Başlamalıyım?
Eğer siz de “C# dilini sıfırdan öğrenmek istiyorum” diyorsanız, profesyonel eğitmenler eşliğinde uygulamalı eğitim almak istiyorsanız, Vektörel Bilişim'in sunduğu Yazılım Kursları tam size göre. Özellikle .NET platformu, C# dili, algoritma temelleri ve veri yapıları gibi konularda sağlam bir temel atmak isteyenler için birebir sınıf ortamında ya da online seçeneklerle sunulan kursları tavsiye ediyoruz.