C# Diziler

Bir Dizi Oluşturma

Dizi (array), sıralanmamış elemanlar serisidir. Bir dizideki tüm elemanlar aynı türdedir. Bir dizi değişkeni; eleman türünün adını, ardından da bir çift köşeli parantez ve değişken adı yazılarak tanımlanabilir.

Örnek:

[csharp]int[] tckimlik; //Kişisel kimlik numarası[/csharp]

Bir dizi oluşturmak için, new (yeni) anahtar sözcüğünü ardından da eleman türünün adı ve köşeli parantez içinde oluşturduğunuz dizinin boyutu yazılmalıdır. Bir dizi oluşturmak aynı zamanda dizinin elemanlarına varsayılan değerleri de (eleman türünün sayısal ya da boolean (doğru/yanlış) olmasına bağlı olarak 0,false (yanlış) ) atar.

Örnek:

[csharp]int[] tckimlik;
tckimlik = new int[5];[/csharp]

Yukarıdaki örnekte tckimlik isimli bir dizi değişken tanımlanmıştır, tckimlik dizi değişkeni için yeni bir 5 tam sayıdan oluşan dizi oluşturulup tckimlik isimli dizi değişkenine atanmıştır.

Diziye İlk Değer Verme

Bir dizi oluşturulduğunda, oluşturulan dizinin tüm elemanları türlerine bağlı olarak varsayılan bir değerle başlatılır. Bir dizinin elemanlarını belirli değerlerle başlatmak için küme parantezi içerisinde virgülle ayırarak yazabiliriz, tckimlik dizi değişkenini, değerleri 7,2,5,3 ve 6 olan 5 int değişken dizisi olarak başlatmak için aşağıdaki örneği yazabiliriz.

Örnek:

[csharp]int[] tckimlik = new int[5]{7,2,5,3,6};[/csharp]

Not: Küme parantezi arasındaki değerlerin sayısı, tam olarak oluşturulan dizinin boyutuna eşit olmalıdır.

Örnek:

[csharp]int[] tckimlik = new int[3]{7,2,5,3,6}; //Yanlış kullanım
int[] tckimlik = new int[4]{7,2,5,3}; //Doğru kullanım[/csharp]

Not: tckimlik dizisi int türünde tanımlanırsa, bu dizide double, string, struct(yapı) ya da int dışında herhangi bir tür saklanamaz. Bir dizi tanımlanırken eleman türü, dizi içinde saklayacağınız eleman türü ile eşleşmek zorundadır.

Dizi Elemanlarını Erişme

Dizi elemanlarına erişmek için, istediğiniz elemanın hangisi olduğunu gösteren ifadenin yazılması gerekir.

Aşağıdaki örnek tckimlik dizisinin 2. elemanının içeriğini tcno isimli int türündeki bir değişkene nasıl atandığını ve daha sonra tcno isimli değişkenin değiştirilmiş son değerini (9 sayı değeri) atayarak dizinin içeriğinin nasıl değiştirildiğini göstermektedir.

[csharp]static void Main(string[] args)
{
int[] tckimlik = { 2, 3, 4 };
int tcno;
tcno = tckimlik[2];
Console.WriteLine(“tckimlik dizisinin 2. elemanı = “+tcno);
tcno = 9;
tckimlik[2] = tcno;
Console.WriteLine(“tckimlik dizisinin 2. elemanının değiştirilmiş son değeri = ” + tckimlik[2]);
Console.ReadKey();
}[/csharp]

Ekran çıktısı:
tckimlik dizisinin 2. elemanı = 4
tckimlik dizisinin 2. elemanının değiştirilmiş son değeri = 9

Not: Dizilerde indeks numarası olarak adlandırılan erişim numaralan sıfırdan başlar yani bir dizinin ilk elemanı 1. dizininde değil, 0. dizininde bulunur. 1. dizin kullanılarak dizinin 2. elemanına erişilebilir.

Foreach İfadesi

Döngüler program içerisinde tekrarlanması gereken ifadelere veya kod bloklarını tekrar tekrar yazmak yerine tek bir yapıda yazarak ifadelerin veya kod bloklarının tekrarlanmasını sağlar.

Foreach ifadesi (döngüsü), bir dizi belirten ifadenin veya bir koleksiyonun her elemanı için yapısındaki kodları çalıştıran ifadedir. Foreach ifadesinin kullanım şekli aşağıdaki gibidir.

[csharp]foreach (degisken_tipi degisken in dizi)
{
//kodlar;
}[/csharp]

Tanımlanan değişken, sırasıyla belirtilen bir dizi içerisindeki elemanları tutar. Foreach ifadesi (döngüsü) döngüye ait değişkeni kullanmamıza imkân sağlar. Değişkeni istediğimiz şekilde, istediğimiz işleme sokabiliriz. Ancak döngüye müdahale edemeyiz.

[csharp]static void Main(string[] args)
{
string[] takimlar = new string[] {“Galatasaray”,”Fenerbahçe”,”Beşiktaş”,”Trabzonspor”,”Bursaspor”}
foreach (string tkm in takimlar)
{
Console.WriteLine(tkm);
}
}[/csharp]

Yukarıdaki kod parçasında foreach ifadesi kullanılarak dizi içerisinde yer alan değerlerin, alt alta ekrana yazdırılmasını görüyoruz. Programın ekran çıktısı aşağıdaki gibidir.

Ekran çıktısı:
Galatasaray
Fenerbahçe
Beşiktaş
Trabzonspor
Bursaspor

Dizi Kopyalama

Bir dizin kopyası oluşturmak istendiğinde, iki şey yapmak gerekir. İlk olarak kopyalanacak dizi ile aynı türde ve aynı uzunlukta yeni bir dizi oluşturulmalıdır.

Örnek:

[csharp]int[] tckimlik = {7,5,3,2};
int[] kopya = new int[4];[/csharp]

Yapılması gereken ikinci şey ise yeni dizinin içindeki değerleri orijinal dizinin içindekilere eşitlemektir. Aşağıdaki örnekte gösterildiği gibi bu bir for ifadesi kullanılarak yapılabilir.

[csharp]static void Main(string[] args)
{
int[] num = { 1, 2, 3, 4 };
int[] kopyanum = new int[4];
for (int i = 0; i < 4; i++)
{
kopyanum[i] = num[i];
Console.WriteLine(kopyanum[i]);
}
Console.ReadLine();
}
[/csharp]

Yukarıdaki kod parçasında num isimli 4 elemanlı bir diziye ait elemanlar, yeni oluşturulmuş kopyanum isimli 4 elemanlı bir diziye for ifadesi kullanılarak kopyalandığı gösterilmektedir. Ekran çıktısı aşağıdaki gibidir.
Ekran çıktısı:
1
2
3
4

 

Kaynak: Megep Modülleri

Ahmet Şenlik

Kocaeli Üniversitesinde Bilgisayar Programcılığı okudum DGS ile 2016 yılında Sakarya Üniversitesi Bilgisayar mühendisliğini kazandım. Yazılımla uğraşmayı çok seviyorum bu alanda kendimi daha da geliştirmeyi düşünüyorum. Eğer siz de seviyorsanız bu işi devam edin başlamadıysanız başlayın başaracağınıza inanın. :)

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.