Bu yazımızda Visual Basic.Net ‘te dizi değişkenleri inceleyeceğiz. Öncelikle dizinin tanımını yaparak başlayalım. Diziler, aynı tipteki birden çok veriyi bir arada tutmaya yarar. Dizideki tüm elemanların veri tipi aynıdır. Yani 10 elemanlı bir dizinin tüm elemanları ya string ya integer yada diğer veri tiplerindendir.
Kullanım şekli :
Dim (Dizi ismi) (Dizinin eleman sayısı) as (Veri türü)
Örnek :
Dim ad(4) as String
Örnekte ad adında 5 elemanlı bir dizi tanımlanmıştır. Diziyi oluşturan elemanları ifade etmek için dizi isminin yanında parantez içerisinde bir sayı belirtilir. Bu sayıya indis denir ve sıfırdan başlar. Ad(0) ifadesi dizinin 1.elemanı ve ad(4) ifadesi dizinin
5.elemanıdır.
Dizi elemanlarına değer aktarmak için ;
ad(0) = “Mehmet” ad(1) = “Buse” ad(2) = “Başak” ad(3) = “Burak” ad(4) = “Eser”
İstenirse dizi tanımlanırken dizi elemanlarına değerleri aktarılabilir.Bu tanımlamada dizi değişkenine isim verirken parantez içinde dizinin eleman sayısı belirtilmez.
Dim ad ( ) as string = {“Mehmet”, “Buse”, “Başak”, “Burak”, “Eser”}
Aşağıdaki örnekte 5 elemanlı ad dizi değişkeni tanımlanmış, dizi değişkenin her elemanına bir değer verilmiş ve son olarak dizi değişkeninin her elemanı ekrana yazdırılmıştır.
<script language="VB" runat="server"> sub Page_Load(sender as object, e as eventargs) dim ad(4) as string ad(0) = “Mehmet” ad(1) = “Buse” ad(2) = “Başak” ad(3) = “Burak” ad(4) = “Eser” response.write(ad(0) & "<br>") response.write(ad(1) & "<br>") response.write(ad(2) & "<br>") response.write(ad(3) & "<br>") response.write(ad(4) & "<br>") end sub </script>
Ekran Çıktısı:
Mehmet
Buse
Başak
Burak
Eser
Yukarıdaki örnekte her dizi elemanı tek tek ekrana yazdırılmıştır. Dikkat ederseniz ekrana yazdrıma işleminde değişen sadece parantez içi değişmektedir. O zaman yazdırma işlemini for döngüsü içine alarak daha da kısaltabilirim. Yazacağım bu kodlarda yukardaki ile aynı işi görecektir. Şimdi bunu yapalım;
<script language="VB" runat="server"> sub Page_Load(sender as object, e as eventargs) dim ad(4) as string ad(0) = “Mehmet” ad(1) = “Buse” ad(2) = “Başak” ad(3) = “Burak” ad(4) = “Eser” for i=0 to 4 response.write(a(i) & "<br/>") next end sub </script>
Dizinin Uzunluğu : Dizinin length özelliği ile belirtilen dizinin eleman sayısı bulunabilir. Örnek ;
Sub Page_Load
dim isimler() as string = {“ahmet”,”mehmet”,”caner”,”ali”,”derya”,”zeynep”,”can”,”sinan”}
response.write(isimler.length)
End Sub
Bu kod ile ekrana dizinin eleman sayısı yani 8 yazdırılır.
Diziye Değer Girme :Tanımlanan bie diziye değer girmenin diğer bir yolu da SetValue komutudur.Hemen bir Örnek yapalım.
dim isimler(2) as string 'Üç elemanlı bir dizi tanımlanıyor.
isimler.setValue("Ahmet",0) 'Dizinin birinci elemanı girilliyor.
isimler.setvalue("Mehmet",1) 'Dizinin ikinci elemanı giriliyor.
isimler.setvalue("Can",2) 'Dizinin üçüncü elemanı giriliyor
Diziyi Yeniden Boyutlandırmak : Dizilerin eleman sayıları program içinde değiştirilebilir.
Dim isimler(3) as string
isimler(0)=”Ahmet”
isimler(1)=”Mehmet”
isimler(2)=”Can”
isimler(3)=”Ali”
Yukarıdaki isimler adındaki dizi 4 elemanlıdır. Bu dizinin eleman sayısını değiştirmek için redim komutu kullanılır.
redim isimler(4)
redim komutuyla isimler dizisi 5 elemanlı olur. Fakat elemanlarına veriler değerler silinir. Bunu engellemek için ;
redim preserve isimler(4)
komutu yazılır. Şimdi bu komutlar için bir örnek yazalım.
Protected Sub Page_Load(sender As Object, e As System.EventArgs)
Dim harfler() As String = {"a", "b", "c", "d", "e"}
ReDim Preserve harfler(5)
harfler.SetValue("f", 5)
Response.Write(harfler(5))
redim harfler(6) ' harfler dizisi 7 elemanlı yapılıyor. Değerler gider.
response.write(harfler(0)) ' harfler dizisinin 0. elemanı ekrana yazdırılıyor.
End Sub
Yukardaki örnekte ilk olarak 5 elemanlı harfler adında bir dizi tanımlandı ve bu diziye değerler girildi. Daha sonra harfler dizisi redim komutuyla 6 elemanlı yapılıyor ve 6. elemanına “f” değeri giriliyor ve 6. eleman yani “f” ekrana yazdırılıyor. Daha sonra harfler dizisi redim komutuyla 7 elemanlı yapılıyor ve harfler dizisinin 0. elemanı yani “a” ekrana yazdırılıyor. Fakat sadece redim yazıldığı için dizinin içindeki değerler silinmiş olur ve ekrana “a” harfi yazılamaz.
Sözlük :
Redim = Tekrar Tanımlama
Preserve = Korumak, devam ettirmek
Value = Değer
SetValue = Değer Ver







Haziran 14th, 2009 at 12:30
Tebrikler güzel çalışmalar…
Mart 29th, 2010 at 18:20
bwnim şöyle bir sorum var cwvap arıyorum bulnı repe boğucam :soru/BİR FORM ÜZERİNE 2 BUTON 1 TEXTBOX 1 LABEL YERLEŞTİRİNİZ.BİRİNCİ BUTONA BASILDIĞINDA TEXTBOX İÇİNE YAZILAN SAYININ DİZİ İÇERİSİNDE KAÇ TANE OLDUĞUNU BULAN VE LABELDE GÖRÜNTÜLEYEN PROGRAMI YAPINIZ PLS YARDIM (VİSİUAL STADİODA)