32
Diziler (Arrays) Diziler (Arrays) 1 Programlama Dilleri 3

Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Diziler (Arrays)Diziler (Arrays)

1Programlama Dilleri 3

Page 2: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Dizi KavramıDizi Kavramı

Bellekte ard arda yer alan aynı türden nesnelery ykümesine dizi (array) denilir. Bir dizi içerisindekibütün elemanlara aynı isimle ulaşılır. Yanidizideki bütün elemanların isimleri ortaktır.Elemanlar arasındaki ayırt edici özellik,bellekteki yeridirbellekteki yeridir.

2Programlama Dilleri 3

Page 3: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

5 elemanlı bir tamsayı dizisi bellekteaşağıdaki gibi yerleştirilir.

1020 dizi[0]

dizi[]dizi[] Dizinin İsmiİndeks

‐20

5

0

dizi[1]

dizi[2]

dizi[3]

dizi[3]0

16587

dizi[3]

dizi[4] Dizi indeks operatörü

3Programlama Dilleri 3

Page 4: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

C#’da diziler ayrı bir tür olarakC# da diziler ayrı bir tür olaraktasarlanmıştır. Bütün diziler System.Arraysınıfından türetilmiştir Bir dizisınıfından türetilmiştir. Bir dizitanımlandığında Array sınıfı türünden birnesne tanımlanmış olurnesne tanımlanmış olur.

Dizinin sınırlarını aşan bir indeksDizinin sınırlarını aşan bir indekskullandığımızda derleme hatası oluşmaz,ancak çalışma zamanında hata oluşur.ancak çalışma zamanında hata oluşur.

4Programlama Dilleri 3

Page 5: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Dizi TanımlamaDizi Tanımlama2 türlü tanımlama yapılabilir :

int [ ] dizi = new int[19]int [ ] dizi new int[19]

veya

int [ ] dizi;

dizi=new int [19];dizi new int [19];

5Programlama Dilleri 3

Page 6: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

new anahtar sözcüğü ile dizinin hernew anahtar sözcüğü ile, dizinin herelemanına temel veri türleri için varsayılandeğer, ilk değer olarak verilmektedir. Bu ilkğ , ğdeğer; referans türleri için null, nümeriktürler için 0, bool türü için ise false’tur.

6Programlama Dilleri 3

Page 7: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Dizileri aşağıdaki gibi de tanımlamakDizileri aşağıdaki gibi de tanımlamakmümkündür:

string[ ] dizi1={“Bilgisayar”“Mühendisliği”“Bölümü”};string[ ] dizi1={ Bilgisayar , Mühendisliği , Bölümü };

int [ ]={5,9,12,56,23};

fl [ ] d { f f f f f}float [ ] dizi3={8f,39f,324f,23f,2f};

7Programlama Dilleri 3

Page 8: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Dizilerin boyutu C ve C++ dillerinde derlemesırasında bilinmek zorundadır. Böyleceyderleyici, dizi için bellekte dizinin boyutunagöre yer ayırmaktadır. Ancak C#’da dizilerinboyutlarını çalışma zamanında belirtmekmümkündür.

8Programlama Dilleri 3

Page 9: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Aşağıdaki kod parçasını bilgisayarınızda deneyiniz:

class Programclass Program{{{{

static void Main(string[] args)static void Main(string[] args){{

Console.Write("Dizinin boyutunu giriniz=");Console.Write("Dizinin boyutunu giriniz=");int boyut = Convert ToInt32(Console ReadLine());int boyut = Convert ToInt32(Console ReadLine());int boyut = Convert.ToInt32(Console.ReadLine());int boyut = Convert.ToInt32(Console.ReadLine());bool [] dizi = new bool [boyut];bool [] dizi = new bool [boyut];for (int i = 0; i < boyut; i++)for (int i = 0; i < boyut; i++)

Console.WriteLine(dizi[i]);Console.WriteLine(dizi[i]);Console.ReadLine();Console.ReadLine();

}}}}

Bir dizinin boyutu bir kez belirlendikten sonra artıkdeğiştirilemez Yani dizinin boyutunu dinamik olarakdeğiştirilemez. Yani dizinin boyutunu dinamik olarakdeğiştirmemiz mümkün değildir.

9Programlama Dilleri 3

Page 10: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

System.Random SınıfıSystem.Random SınıfıRastgele sayı üretmek için .NET Framework sınıfkütüphanesindeki System.Random sınıfı kullanılır.Rastgele sayı üretmek için öncelikle Random sınıfıtüründen bir nesne oluşturmak gerekir. Örn:ş g

R d d R d ()Random rnd = new Random();

10Programlama Dilleri 3

Page 11: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

rnd nesnesi oluşturulduktan sonra artık bu nesnenint tl i bili i Ömetotlarına erişebiliriz. Örn:

int rastgelesayi=rnd.Next (10,20);

int rastgelesayi=rnd Next(50);int rastgelesayi rnd.Next(50);

int rastgelesayi=rnd.Next;

double rastgelesayi=rnd.NextDouble();

11Programlama Dilleri 3

Page 12: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

using System;using System;

class dizi 3class dizi 3class dizi_3class dizi_3{{

static void Main()static void Main(){{

RandomRandom r = newr = new RandomRandom();();RandomRandom r = new r = new RandomRandom();();

int[] dizi = new int[20];int[] dizi = new int[20];char[] chr = new char[20];char[] chr = new char[20];

for (int i = 0; i < 20; i++)for (int i = 0; i < 20; i++){{

dizi[i] = r.dizi[i] = r.NextNext(1, 51);(1, 51);chr[i] = (char)rchr[i] = (char)r NextNext(20 126);(20 126);chr[i] = (char)r.chr[i] = (char)r.NextNext(20, 126);(20, 126);

}}for (int i = 0; i < 20; i++)for (int i = 0; i < 20; i++){{

Console Write("{0 2} değer {1 2}Console Write("{0 2} değer {1 2} --> " i dizi[i]);> " i dizi[i]);Console.Write( {0,2}. değer {1,2} Console.Write( {0,2}. değer {1,2} --> , i, dizi[i]);> , i, dizi[i]);for (int j = 0; j < dizi[i]; j++)for (int j = 0; j < dizi[i]; j++)

Console.Write(chr[i]);Console.Write(chr[i]);Console.WriteLine();Console.WriteLine();

}}} } }}

}}12Programlama Dilleri 3

Page 13: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Çok Boyutlu Diziler(M ltidi i l A )(Multidimensional Arrays)

İki türlü çok boyutlu dizi bulunur Herİki türlü çok boyutlu dizi bulunur. Herboyutta eşit miktarda elemanın olduğudüzenli diziler (matrisler) ve her boyutta( ) yfarklı sayıda eleman barındıran düzensizdiziler(jagged arrays). Aslında düzensizdiziler elemanları da dizi olan dizilerdir.

Çok boyutlu dizi tanımlaması yaparken “[ , , ]” şeklinde yazılır.

13Programlama Dilleri 3

Page 14: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Matris DizileriMatris Dizileri

int [,] dizi = {{1,2},{3,4},{5,6}};Şeklinde tanımlanan bir 3x2’lik dizinin elemanları:

di i[0 0] 1dizi[0,0]=1dizi[0,1]=2dizi[1,0]=3

dizi

[0,0] [0,1][ , ]

dizi[1,1]=4dizi[2,0]=5

[1,0] [1,1]

[2,0] [2,1]

dizi[2,1]=6

14Programlama Dilleri 3

Page 15: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Aşağıdaki programı bilgisayarınızda deneyiniz.

using System;using System;

class dizi_4class dizi_4{{

static void Main()static void Main(){{

int[,] dizi = { { 1, 2 }, { 3, 4 }, { 5, 6 } };int[,] dizi = { { 1, 2 }, { 3, 4 }, { 5, 6 } };

for (int i=0; i<3; i++)for (int i=0; i<3; i++)for (int j =0; j < 2; j++)for (int j =0; j < 2; j++){{

Console.WriteLine(dizi[i, j]);Console.WriteLine(dizi[i, j]);}}

}}}}

15Programlama Dilleri 3

Page 16: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Düzensiz Diziler(Jagged Arrays)Düzensiz Diziler(Jagged Arrays)

Dizilerin elemanları da farklı diziler olabilir. BuDizilerin elemanları da farklı diziler olabilir. Budurumda tanımlanan dizinin birbirinden farklıboyutlarda alt elemanları olabilir. Bu gibiyapılara düzensiz diziler ismi veriliryapılara düzensiz diziler ismi verilir.

Bu diziler şu şekilde tanımlanırlar:ş ş

int[][] dizi new int[3][];dizi[0] = new int[2];dizi[0] = new int[2];dizi[1] = new int[4];dizi[2] = new int[3];

16Programlama Dilleri 3

Page 17: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Düzensiz tanımlanan bir dizinin yapısı şuDüzensiz tanımlanan bir dizinin yapısı şu şekildedir:

di idizi[0][0] dizi[0][1]

dizidizi[0]di i[1] dizi[1][0] dizi[1][1]

dizi[2][0] dizi[2][1]

dizi[1][2] dizi[1][3]

dizi[2][2]

dizi[1]dizi[2]

Düzensiz dizilerde eleman sayısı sabit olmadığı için dizi elemanlarını taramak için Array sınıfınıniçin dizi elemanlarını taramak için Array sınıfının metotları ve ya özellikleri kullanılır. Length özelliğibir dizinin eleman sayısını verir.

17Programlama Dilleri 3

Page 18: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

using System;

class dizi_5{{

static void Main(){

int[][] dizi = new int[3][];

dizi[0] = new int[] { 1, 2 };dizi[1] = new int[] { 3, 4, 5, 6, 7 };dizi[2] = new int[] { 8, 9, 0 };dizi[2] new int[] { 8, 9, 0 };

for (int i = 0; i < dizi.GetLength(0); i++)for (int j = 0; j < dizi[i].GetLength(0); j++)

l i i ( di i[{0}][{1}] {2} i j di i[i][j])Console.WriteLine("dizi[{0}][{1}]={2}",i,j,dizi[i][j]);}

}

18Programlama Dilleri 3

Page 19: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

using System;

class dizi 6class dizi_6{

static void Main(){

int[][] dizi = new int [3][];

dizi[0] = new int[] {1,2};dizi[1] = new int[] {3 4 5 6 7};dizi[1] = new int[] {3,4,5,6,7};dizi[2] = new int[] {8,9,0};

foreach (int[] boyut in dizi){

foreach (int eleman in boyut){

Console.Write("{0,3}", eleman);Console.Write( {0,3} , eleman);}Console.WriteLine();

}}}

}19Programlama Dilleri 3

Page 20: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

System.Array SınıfıSystem.Array Sınıfı

Dizi nesneleri System Array sınıfındanDizi nesneleri System.Array sınıfındantüremişlerdir. Dolayısıyla bu sınıfınb ll k lbazı özellik ve metotlarınıbünyelerinde barındırırlar.

20Programlama Dilleri 3

Page 21: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Özellikler:

IsFixedSize Dizinin eleman sayısının sabit olup 

Özellikler:

olmadığını verir. (Boolean) 

IsReadOnly Dizideki elemanların sadece okunabilir yolup olmadığını verir. (Boolean)

Length Dizideki eleman sayısını verir.Length y

Rank Dizinin boyutunu verir.

Programlama Dilleri 3 21

Page 22: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Metotlar:BinarSearch Tek boyutlu dizide binary search algoritmasına göre 

arama yapar.

Clear Dizinin elemanlarını varsayılan değere çeker.Clear Dizinin elemanlarını varsayılan değere çeker.

Clone Dizinin bit bit kopyasını çıkarır.

Copy Dizinin bir bölümünü başka bir diziye kopyalar.

CopyTo Bir dizinin belirlenen bir kısmını başka bir diziye kopyalar.

GetLength Dizideki eleman sayısını verir.GetLength y

GetValue Dizideki ilgili eleman değerini verir.

IndexOf Dizi içindeki bir değerin ilk görüldüğü indeksi verir.

Reverse Diziyi tersine çevirir.

SetValue Bir dizinin bir elemanına değer atar.

Sort Bir boyutlu dizilerde sıralama yapar.

Programlama Dilleri 3 22

Sort Bir boyutlu dizilerde sıralama yapar.

CreateInstance Yeni bir dizi nesnesi oluşturur.

Page 23: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

CreateInstance( )CreateInstance( )CreateInstance metodu ile aşağıdaki gibi dizi nesnesioluşturulabilir:ş

Array dizi=Array.CreateInstance(typeof(int),5);

İlk parametre her zaman Type türünden olmalıdır.Yukarıdaki gibi bir kullanımda, typeof() operatörüg , yp () pyardımıyla int türünün type sınıfındaki karşılığı elde edilmişolmaktadır. Örn:

CreateInstance(Type,int,int,int);

3 boyutlu bir dizi oluşturulmakta.

Programlama Dilleri 3 23

Page 24: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

CreateInstance( )CreateInstance( )using System;

class dizi 6class dizi_6{

static void Main(){

A di i A C t I t (t f(i t) 5 4 3)Array dizi = Array.CreateInstance(typeof(int), 5, 4, 3);Random r = new Random();

for (int i=0; i< dizi.GetLength(0); i++)for (int j=0; j< dizi.GetLength(1); j++)

for (int k = 0; k < dizi.GetLength(2); k++){

dizi.SetValue(r.Next(10, 100), i, j, k);jConsole.WriteLine("dizi[{0},{1},{2}]={3,3}",

i,j,k,dizi.GetValue(i,j,k));}

}}}

24Programlama Dilleri 3

Page 25: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

CopyTo ( )CopyTo ( )CopyTo metodu ile bir dizinin tamamı, başka bir dizininistenilen yerine kopyalanabilir. Örn:y py

int[ ] dizi1= {1 2 3 4};int[ ] dizi1= {1,2,3,4};

int  dizi2=new int[10];

dizi1.CopyTo(dizi2,3);py ( , );

Programlama Dilleri 3 25

Page 26: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Aynı işlem Copy() metodu kullanılarak da gerçekleştirilebilirAynı işlem Copy() metodu kullanılarak da gerçekleştirilebilir.

Copy(Array dizi1,Array dizi2,int uzunluk);

Bu şekildeki bir kullanım, uzunluk kadar elemanı dizi1’dendizi2’ye kopyalar. Kopyalama işlemi 0. indekten başlar.

Copy(Array dizi1,int x,Array dizi2,int y,int uzunluk);

dizi1’in x. İndeksinden sonraki uzunluk kadar elemanıdizi2’nin y. İndeksinden sonrasına kopyalar.

Programlama Dilleri 3 26

Page 27: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

CopyTo ( )CopyTo ( )using System;

class dizi_7{{

static void Main(){

int[] dizi1 = { 1, 2, 3, 4, 5, 6, 7 };i t[] di i2 i t[10]int[] dizi2 = new int[10];int[] dizi3 = new int[10];

dizi1.CopyTo(dizi2, 2);f h (i t i i di i2)foreach (int i in dizi2)

Console.Write(i);

Console.WriteLine();

Array.Copy(dizi1, 2, dizi3, 5, 3);

foreach (int i in dizi3)Console Write(i);Console.Write(i);

}}

27Programlama Dilleri 3

Page 28: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Array.Sort ( )Array.Sort ( )Sort() metodunun birçok kullanım biçimi vardır. Temeldeaşağıdaki şekilde kullanımı yaygındır.Örn:ş ğ ş y yg

Array Sort(Array);Array.Sort(Array);

Programlama Dilleri 3 28

Page 29: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Array.Sort ( )Array.Sort ( )using System;

class dizi_8{{

static void Main(){

string[] dizi = { "Zeynep", "Fatma", "Ali", "Yılmaz", "Gökhan" "Osman" "Feride" };Gökhan , Osman , Feride };

Console.WriteLine("Dizinin Elemanları\n==================");foreach (string s in dizi)

Console WriteLine(s);Console.WriteLine(s);

Array.Sort(dizi);Console.WriteLine();

Console.WriteLine("Sıralanmış Dizi\n===============");foreach (string s in dizi)

Console.WriteLine(s);

}}

29Programlama Dilleri 3

Page 30: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Array.BinarySearchArray.BinarySearchBinarySearch metodunun iki önemli kullanım biçimi vardırÖrn:

BinarySearch(Array dizi, object nesne);

Bu yapı, dizi içerisinde nesneyi arar; eğer aranan nesnebulunursa bulunduğu index ile geri dönülür. Eğerbulunamazsa negatif bir sayıyla geri dönülürbulunamazsa negatif bir sayıyla geri dönülür.

BinarySearch(Array dizi, int baslangic, int uzunluk, object nesne);

Bu yapı ise, nesneyi başlangic indeksinden itibaren uzunlukkadar eleman içerisinde arar.

Programlama Dilleri 3 30

Page 31: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Array.BinarySearchArray.BinarySearchusing System;

class dizi_9{{

static void Main(){

string[] dizi = { "Zeynep", "Fatma", "Ali", "Yılmaz", "Gökhan" "Osman" "Feride" };Gökhan , Osman , Feride };

Console.Write("Aranacak İsmi Giriniz :");string isim = Console.ReadLine();

Array.Sort(dizi);int indeks = Array.BinarySearch(dizi, isim);

if (indeks < 0)if (indeks < 0)Console.WriteLine("Aranan isim dizide bulunamadı!");

elseConsole.WriteLine("Aranan isim dizinin {0}. elemanında

bulundu...",indeks);, );}

}31Programlama Dilleri 3

Page 32: Diziler (Arrays) - personel.klu.edu.trpersonel.klu.edu.tr/dosyalar/kullanicilar/mehtap.izmirli/dosyalar/... · C#C#da’da diziler ayr ı bir tür olarak tasarlanm ıştır. Bütün

Diğer İşlemlerDiğer İşlemlerClear() metodu, belirtilen indis aralığındaki elemanlarısıfırlarsıfırlar.

Array.Clear(dizi,2,5);

Reverse() metodu, dizinin tümünü yada belirtilen indisaralığındaki elemanları ters çevirir.

Array.Reverse(dizi); veya

Array.Reverse (dizi,1,3);y ( , , );

Alttaki gibi bir kullanımda ise,1. elemandan itibaren ilk 3

Programlama Dilleri 3 32

elemanı ters çevirir.