C# Diziler – Web Tasarım & Programlama
C#

C# Diziler

C# programlama dilinde bir değişken oluşturup, içinde bir veri kaydetmeyi öğrendiniz. Ancak benzer tipte verileri gruplayıp tek bir değişken içinde saklamak mümkün. Bu yazıda C# ile dizi tanımlayıp, diziler üzerinde örneklerle işlemler yapacağız.

C# diziler; ortak bir ad ile belirtilen benzer verileri, bir bir arada tutmak için oluşturulmuş bir gruptur. Ve her veri ögesine dizinin bir elemanı denir. Elemanların veri tipleri char, int, float vb. geçerli bir veri tipi olabilir ve elemanlar bitişik bir yerde saklanır. Dizinin uzunluğu, dizide bulunan elemanların sayısını belirtir. C# ‘da diziler için bellek tahsisi dinamik olarak yapılır. Ve diziler nesnedir, bu nedenle önceden tanımlanmış methodları kullanarak boyutlarını bulmak kolaydır. Dizideki değişkenler belirli bir numara sırasına göre sıralanır ve her biri 0’dan başlayan bir dizin içerir. C# içindeki diziler C/C++ ‘da olduğundan epey farklı farklı çalışır.

Dizi kavramını bir örnekle açıklayalım. Bir değişkenin sadece bir değer tutabileceğini öğrendik, örneğin int yas = 1; yas değişkenine sadece bir değer atanabilir. Farz edelim ki, 100 farklı yaş değeri saklamak istiyorsunuz, o zaman 100 farklı değişken oluşturmak zahmetli olacaktır. Bu sorunun üstesinden gelmek için C# bir dizi tanımlayarak bu sorunu çözmek daha akılcı olacaktır. Bu C# diziler konu anlatımı ile bir diziyi tanımla, değer atama ve okuma işlemleri konusunda fikir sahibi olacaksınız.

Diziler ile ilgili aklınızdan çıkarmamanız gereken bir kaç önemli nokta

  • C#’da, tüm diziler dinamik olarak ayrılır.
  • Diziler C# içinde nesneler olduğundan, uzunluklarını Length kullanarak bulabiliriz. Bu, sizeof kullanarak uzunluk bulduğumuz C / C ++ ‘dan farklıdır.
  • Bir C# dizisi değişkeni, veri türünden sonra [] ile diğer değişkenler gibi bildirilebilir.
  • Dizideki değişkenler sıralanır ve her biri 0’dan başlayan bir dizin içerir.
  • C# dizisi, System.Array temel türünün bir nesnesidir.
  • Sayısal dizinin ve referans tipi öğelerinin varsayılan değerleri sırasıyla sıfır ve boş olarak ayarlanır.
  • Tırtıklı dizi elemanlarının referans türleri null olarak başlatılır.
  • Dizi öğeleri, dizi tipi de dahil olmak üzere herhangi bir türde olabilir.

Dizi, bir dizinin tanımına bağlı olarak bir sınıfın nesneleri  yada daha ilkel veri türlerini de içerebilir. İlkel veri türlerini her kullanıldığında, gerçek değerler bitişik hafıza konumlarında saklanmalıdır. Bir sınıfın nesneleri durumunda, gerçek nesneler yığın segmentinde depolanır.

Aşağıdaki şekil, dizinin değerlerinin sırayla nasıl kaydedildiğini gösterir:

Açıklama:
Yukarıdaki örnekte index değeri 0’dan başlıyor. Ayrıca bir dizi içinde sabit bir sayı değeri saklandığı da görünmektedir. Dizi indeksi, dizi boyutunun bir azı kadar olduğunu da unutmamak gerekir.

 

C# Dizi Tanımlama

<VeriTipi>: Dizide saklanacak veri tipini belirtir.

[] :Dizi olarak verilerin saklanacağını ifade eder.

<DiziAdi>: Dizi değişkeninin adını gösterir. Bir değişken adı ile aynı tanımlama kuralları geçerlidir.

C# Dizi Tanımlama Örnekleri:

 

C# Başlatma

C# diziler Array sınıfın birer örneği olduğunu söylemiştim.new anahtar kelimesi ile tanımlanmış bir diziye hemen uzunluk belirtmek mümkündür. Aşağıdaki örneklerde dizi tanımlanıp hemen değer atamaları yapılmıştır.

Örnek: dizi oluşturup uzunluk vermek

C# Dizi Tanımlama ve Değer Atama

Yada dizi oluşturulduğu gibi dizinin elemanlarını başta girebiliriz.   new anahtar kelimesi ile Array sınıfından örnek bir dizi oluşturup hemen üzerine değer ataması yapabilirsiniz.

 

C# Dizi Okuma – C# Dizi Değerlerini Yazdırma

C# dizideki bir adresi tek tek okumak yada bir döngü ile de okumak mümkündür. Yukarıdaki tabloda belirtildiği gibi okunacak değerin adres bilgisi köşeli parantez ile belirtilip okuma işlemi yapılır. Aşağıdaki örnekte tanımlanmış dizinin 0 ve 4 numaralı index içindeki değerler okunmuştur.

Ayrıca dizideki değerleri döngü ile de okumak mümkündür. Sadece listelerde kullanılan foreach yada for ve while ile okuma işlemleri yapılabilir. Aşağıdaki örnekte for döngüsü ile dizinin değerleri alt alta yazdırılmıştır. Burada Length özelliğinin dizinin uzunluğunu verdiğini belirtmek isterim.

Ayrıca C# Diziler Konusu ile İlgili Diğer Başlıklar

 

C# Dizi Örnekleri

Örnek: C# dizi tanımlama, değer atama ve değerleri for, foreach, while, do while döngülerini kullanarak ekrana yazdırma

 

Örnek:Kullanıcı tarafından girilen gün adının haftanın kaçıncı günü olduğunu bulan c# console uygulaması

dizi_ornekleri_2

 

Örnek: Dizi elemanları üzerinde sorgu çalıştırma

 

Örnek: Eleman sayısını kullanıcının belirlediği bir dizi oluşturarak içine kullanıcının eleman girmesini sağlayan örnek:

dizi_kullanici

 

Örnek: 20 elemanlı diziye rasgele -100 ile +100 arası sayılar atan ve daha sonra dizinin elemanlarını, pozitif sayı adetini,negatif sayı adetini ve işaretsiz sayı adetini ekranda gösteren örnek:

dizi_ornekleri_5

 

Örnek: 10 elemanlı string dizi içindeki tek sayıları foreach döngüsüyle ekrana yazdıran ve teksayıların adetini ekranda gösteren örnek:

dizi_ornekleri_4

Yorum yap

Sayfamızı YouTube'da da takip etmek ister misiniz?
Holler Box