Chapter 6: Using Arrays
Bir Diziyi Bildirme ve Dizi Elemanlarına Değerleri Atama Aynı veri türüne ve aynı ada sahip veri öğelerinin bir listesidir. Her öğe bir indeks tarafından diğerlerinden ayırt edilir. Bir dizi oluşturma ve bildirme double[] sales; sales = new double[20]; Yeni(new) operatör Nesneleri oluşturmak için kullanılır Microsoft Visual C# 2012, Fifth Edition
Bir Diziyi Bildirme ve Dizi Elemanlarına Değerleri Atama Bir dizideki her nesnedir. Alt simge (indis) (veya indeks) Bir dizinin öğelerinden birinin konumunu köşeli parantez içinde bulunan bir tam sayı gösterir. Bir dizinin elemanları 0 ile başlayarak numaralandırılır “Bir tarafından kapalı” hatası Bir dizideki ilk elemanın “0” olduğunu unutmamız sonucu oluşur. Microsoft Visual C# 2012, Fifth Edition
Bir Diziyi Bildirme ve Dizi Elemanlarına Değerleri Atama Şekil 6-1 : Bellekteki 20 satış ürünü dizisi Microsoft Visual C# 2012, Fifth Edition
Bir Diziyi Bildirme ve Dizi Elemanlarına Değerleri Atama Bir dizi elemanına bir değer atama sales[0] = 2100.00; Elemanın değerini yazdırma Console.WriteLine(sales[19]); Microsoft Visual C# 2012, Fifth Edition
Dizinin Tanıtılması C#’ta , diziler nesnelerdir Nesnelerin tanıtılması Diziler System.Array adında bir sınıfın örnekleridir. Nesnelerin tanıtılması Sayısal alanlar: 0 Karakter alanları : ‘\u0000’ or null bool alanları: false Tanıtıcı liste Bir dizi için sağlanan değerler listesi Microsoft Visual C# 2012, Fifth Edition
Dizinin Tanıtılması Tanıtıcı liste örnekleri int[] myScores = new int[5] {100, 76, 88, 100, 90}; int[] myScores = new int[] {100, 76, 88, 100, 90}; int[] myScores = {100, 76, 88, 100, 90}; Microsoft Visual C# 2012, Fifth Edition
Dizi Elemanlarına Erişme Alt simgeler kullandığınızda diziler gücünü ortaya çıkarır. Her öğe üzerinde aritmetik işlemler yapmak için döngü kullanma for(int sub = 0; sub < 5; ++sub) myScores[sub] += 3; Microsoft Visual C# 2012, Fifth Edition
(Length)Uzunluk Özelliğini Kullanma System.Array sınıfının bir üyesi Otomatik olarak bir dizinin uzunluğu tutar Örnekler int[] myScores = {100, 76, 88, 100, 90}; Console.WriteLine("Array size is {0}", myScores.Length); for(int x = 0; x < myScores.Length; ++x) Console.WriteLine(myScores[x]); Microsoft Visual C# 2012, Fifth Edition
foreach Kullanma foreach ifadesi Örneğin Her bir dizi öğesi arasında bir alt simge kullanmadan geçiş yapar Geçici bir yineleme değişkeni kullanır. Otomatik olarak sırayla her bir dizi değerini tutar Örneğin double[] payRate = {6.00, 7.35, 8.12, 12.45, 22.22}; foreach(double money in payRate) Console.WriteLine("{0}", money.ToString("C")); Microsoft Visual C# 2012, Fifth Edition
foreach Kullanma Her dizi öğesine erişmek istediğinizde kullanılır Yineleme değişkeni salt okunur olduğu için, ona bir değer atanamıyor. Microsoft Visual C# 2012, Fifth Edition
Bir Döngü Kullanarak Bir Dizi Arama Arama seçenekleri for (için) döngüsünü kullanma While(iken) döngüsünü kullanma Microsoft Visual C# 2012, Fifth Edition
Dizi Aramak için for Döngüsünü Kullanma Dizi aracılığıyla döngü için for ifadesini kullanın Bir Boolean değişkenini bir eşleşme bulunduğunda true olarak ayarlayın Paralel dizilerle geçerli bir çözümdür. Microsoft Visual C# 2012, Fifth Edition
Şekil 6-5 : FindPriceWithForLoop programı Microsoft Visual C# 2012, Fifth Edition
Dizi Aramak için for Döngüsünü Kullanma Şekil 6-6 : FindPriceWithForLoop programının iki kere yürütülmesi Microsoft Visual C# 2012, Fifth Edition
Dizi Aramak için while Döngüsünü Kullanma while döngüsünü eşleşmeleri ararken kullanırız. Microsoft Visual C# 2012, Fifth Edition
Şekil 6-8 : FindPriceWithWhileLoop programında while döngüsü kullanarak arama yapma Microsoft Visual C# 2012, Fifth Edition
Dizi Aramak için while Döngüsünü Kullanma Şekil 6-9 : FindPriceWithWhileLoop uygulamasının iki kere yürütülmesi Microsoft Visual C# 2012, Fifth Edition
BinarySearch(), Sort(), ve Reverse() Metotlarını Kullanma System.Array sınıfının aramak, sıralamak ve dizi öğelerini işlemek için , yerleşik yararlı yöntemler içerir. Microsoft Visual C# 2012, Fifth Edition
BinarySearch() Metodunu Kullanma Sıralanmış bir dizide istenen değeri bulur. System.Array sınıfının bir üyesi BinarySearch()metodunu bu şartlar altında kullanmayın : Eğer dizi öğeleri artan sırada düzenlenir değilse Eğer dizi yinelenen değerleri tutuyorsa ve hepsini bulmak istiyorsanız Tam bir eşleşme yerine eşleşme aralığını bulmak istiyorsanız. Microsoft Visual C# 2012, Fifth Edition
BinarySearch() Metodunu Kullanma Şekil 6-12 : BinarySearchDemo programı Microsoft Visual C# 2012, Fifth Edition
BinarySearch() Metodunu Kullanma Şekil 6-13 : BinarySearchDemo uygulamasının iki kere yürütülmesi Microsoft Visual C# 2012, Fifth Edition
Sort() Metodunu Kullanma Dizi öğeleri artan sırada düzenler Array.Sort()için dizi adını geçirerek kullanın Microsoft Visual C# 2012, Fifth Edition
Sort() Metodunu Kullanma Şekil 6-14 : SortArray programı Microsoft Visual C# 2012, Fifth Edition
Sort() Metodunu Kullanma Şekil 6-15 : SortArray programının yürütülmesi Microsoft Visual C# 2012, Fifth Edition
Reverse() Metodu Kullanma Dizideki öğelerin sırasını tersine çevirir “0” konumundan başlayan bir öğenin konumu Length – 1 olarak taşınır. Dizi adını metoduna ileterek kullanın Microsoft Visual C# 2012, Fifth Edition
Reverse() Metodu Kullanma Şekil 6-16 : ReverseArray programı Microsoft Visual C# 2012, Fifth Edition
Reverse() Metodu Kullanma Şekil 6-17 : ReverseArray programının yürütülmesi Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Tek Boyutlu Dizi Değerleri bir sütun olarak hayal et Öğeleri tek bir alt simge kullanılarak erişilebilir Çok boyutlu Dizi Dizi öğelerini erişmek için birden çok alt simgeler gerektirir İki Boyutlu Dizi Her satır için iki veya daha fazla sütun değerleri vardır. Diğer adlarıyla dikdörtgen dizi , matris, veya tablo Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Şekil 6-19 : Bellekteki iki boyutlu dizinin dikdörtgen görünümü Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Şekil 6-20 : Kira ücreti (dolar kurunda) Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Şekil 6-21 : RentFinder programı Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Şekil 6-22 : RentFinder programının yürütülmesi Microsoft Visual C# 2012, Fifth Edition
Çok Boyutlu Dizileri Kullanma Şekil 6-23 : Üç boyutlu dizinin tanımı Microsoft Visual C# 2012, Fifth Edition
Pürüzlü Dizileri Kullanma Her öğenin başka bir tek boyutlu dizi olduğu tek boyutlu bir dizidir. Her satır farklı uzunlukta olabilir. Microsoft Visual C# 2012, Fifth Edition
Pürüzlü Dizileri Kullanma Şekil 6-24 : Pürüzlü iki boyutlu dizi Microsoft Visual C# 2012, Fifth Edition
GUI Programlarındaki Dizi Sorunları Dizi değerleri kullanıcı girişine dayalı ise, dizi kullanıcının olaya tepki veren herhangi bir yöntem dışında saklanmalıdır. Microsoft Visual C# 2012, Fifth Edition
GUI Programlarındaki Dizi Sorunları Şekil 6-25 : CountContributions programının formunda kullanıcının değerleri girmesi ve daha sonra Done ‘ ye tıklaması Microsoft Visual C# 2012, Fifth Edition
GUI Programlarındaki Dizi Sorunları Şekil 6-26 : CountContributions uygulaması için gerekli olan iki metodları ve dizinin kodu Microsoft Visual C# 2012, Fifth Edition