{"id":33,"date":"2010-03-03T21:30:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=33"},"modified":"2010-03-03T21:30:00","modified_gmt":"1970-01-01T00:00:00","slug":"visual-basic-net-te-diziler","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2010\/03\/03\/visual-basic-net-te-diziler\/","title":{"rendered":"Visual Basic .NET Te DIZILER"},"content":{"rendered":"<p>Merhaba arkadaslar. Bu makalede Dizileri anlatmaya &ccedil;alisacagim. Ilk &ouml;nce Dizi nedir diyeceksiniz. Dizi ayni tipteki degiskenleri<br \/>\nbir arada tutar. Bir &ouml;rnek vermek istiyorum. &Ouml;rnegin, 100 kisilik adres bilgisi var. Bunun i&ccedil;in 100 tane birbirinden farkli <br \/>\ndegisken tanimlamamiz lazim. Bunu bu kadar uzun yapmak hem insani yorar, hemde programciligin mantigina aykiridir. Bunun i&ccedil;in; <br \/>\n&quot;Dim adres(99) As String&quot; dersek &ccedil;ok daha rahatlamis oluruz. Burada neden 100 degilde 99 yazdin diye bir soru sorabilirsiniz. <br \/>\nArkadaslar Diziler 0(sifir) dan baslar. Bunun i&ccedil;in 99 yazdim. Simdi gelelim dizilerin genel yazim sekillerine. Asagida g&ouml;rd&uuml;g&uuml;n&uuml;z gibi<br \/>\ndiziler tanimlanabilir&#8230;<br \/>\nDim dizi(boyut) As tipi<br \/>\nDim dizi(0 To 3) As tipi<br \/>\nDim dizi() As String = New String(4) {}<\/p>\n<p>DIZILERE DEGER YAZMA:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nSimdi gelelim dizilere deger yazmaya. Dizilere 2 farkli bi&ccedil;imde deger yazilabilir. Bunlari sirayla yazalim&#8230;<\/p>\n<p>1) Dim iller() As String = New String (3) {}&nbsp; &#8212;-&gt; 1 Boyutlu 4 elemanli bir dizi tanimladik.<\/p>\n<p>&nbsp;&nbsp; iller(0) = &quot;Istanbul&quot;<br \/>\n&nbsp;&nbsp; iller(1) = &quot;Ankara&quot;<br \/>\n&nbsp;&nbsp; iller(2) = &quot;Amasya&quot;<br \/>\n&nbsp;&nbsp; iller(3) = &quot;Mersin&quot;<\/p>\n<p>&nbsp;&nbsp; Arkadaslar tekrar belirteyim. Diziler Sifirdan baslar. Bu y&uuml;zden Sifirdan basladim.<\/p>\n<p>2) SetValue() Fonksiyonu. Bir &ouml;rnekle a&ccedil;iklayayim.<br \/>\n&nbsp;&nbsp; Dim dizi(0 To 2) As String<br \/>\n&nbsp;&nbsp; dizi.SetValue(&quot;Istanbul&quot;,1)<\/p>\n<p>&nbsp;&nbsp; Arkadaslar SetValue fonksiyonunda parantez i&ccedil;indeki tirnak i&ccedil;inde olan DEGER dir. Virg&uuml;lden sonraki ise hangi sirada olacagidir.<br \/>\n&nbsp;&nbsp; <br \/>\n&nbsp;&nbsp; <br \/>\nDIZILERI YENIDEN BOYUTLANDIRMA:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>Dizileri 3 farkli sekilde boyutlandirabiliriz.<\/p>\n<p>1) ReDim<br \/>\nReDim ile sadece boyuttaki eleman sayisini degistirebiliriz. Boyut Degistirilemez! &Ouml;rnegin:<\/p>\n<p>Dim dizi(2,2) As String<br \/>\nReDim dizi(4,4)<br \/>\ndizi(4,4)=&quot;Ankara&quot;<br \/>\nMsgBox(dizi(4,4))<\/p>\n<p>2) Array.ReSize<br \/>\nArray.ReSize ile TEK BOYUTLU dizileri boyutlandirabiliriz.<br \/>\nArray.Resize(dizi,4)<br \/>\n(Array.Resize dedikten sonra parantez i&ccedil;ine dizinin adini daha sonra da ka&ccedil; boyutlu olacagini yazariz.)<\/p>\n<p>3) CreateInstance<br \/>\nDiziler System Array sinifindadir. Diziler boyutlandirilirken Array sinifinin CreateInstance metodunu kullanabiliriz. Bunun i&ccedil;in <br \/>\nGetType fonksiyonunu kullanmaliyiz. &Ouml;rnek verecek olursak:<\/p>\n<p>Dim dizi As Array<br \/>\ndizi= Array.CreateInstance(GetType(String),2)<br \/>\n&nbsp;<br \/>\ndizi.SetValue(&quot;Istanbul&quot;,0)<br \/>\ndizi.SetValue(&quot;Izmir&quot;,1)<\/p>\n<p>&nbsp;<a href='www.yazilimmutfagi.com'>.<\/a><\/p>\n<p>(Array.CreateInstance() dedikten sonra parantez i&ccedil;ine GetType() yazariz. Buradaki parantez i&ccedil;ine dizinin tipini, daha sonra<br \/>\nparantezin disina da ka&ccedil; boyutlu olacagini yazariz.)<\/p>\n<p>&Ouml;NEMLI BIR NOT :<br \/>\nDaha &ouml;nceden diziler Sifirdan baslar demistik. Burada o kural ge&ccedil;erli degildir. Eleman sayisi 3 degil, 2 dir. Yani 0 ve 1 dir.<\/p>\n<p>Dizileri tanimlarkende boyutlandirabiliriz. Hemen g&ouml;sterelim:<\/p>\n<p>Dim dizi As Array = Array.CreateInstance(GetType(String),2)<\/p>\n<p><br \/>\nDIZIYI TANIMLARKEN DEGER YAZMA :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nBir &ouml;rnek ile a&ccedil;iklayalim&#8230; Yazacagim kodlar farkli olacak kodlarin aralarinda a&ccedil;iklamalar sizleri aydinlatacaktir.<\/p>\n<p>Dim web_dili() As String = {&quot;ASP&quot;,&quot;PHP&quot;,&quot;HTML&quot;,&quot;JSP&quot;}<\/p>\n<p>Dim sayac As Integer<\/p>\n<p>&#8216;dizinin eleman numaralari&nbsp;&nbsp; 0&nbsp;&nbsp; | 1&nbsp;&nbsp; | 2&nbsp;&nbsp; |&nbsp; 3 <br \/>\n&nbsp;<\/p>\n<p>&nbsp;&nbsp;&nbsp; <br \/>\nFor sayac = 0 To web_dili.Lenght -1<\/p>\n<p>ListBox1.Items.Add(web_dili(sayac))<\/p>\n<p>Next<\/p>\n<p><br \/>\n&#8216;Dizinin elemanlarina FOR D&Ouml;NG&Uuml;S&Uuml; ile ulasilir.<br \/>\n&#8216; Simdi diyeceksiniz ki bu nedir..<br \/>\n&#8216; Arkadaslar. Lenght fonksiyonu dizinin eleman sayisini verir.<br \/>\n&#8216; &Uuml;retilen deger 0 ile 4 olacaktir. Sifir ile birlikte bize 5 deger &uuml;retecek. Ama bizim deger verdigimiz 4 tane deger var. <br \/>\n&#8216; Iste arkadaslar yukaridaki sebepten dolayi Lenght fonksiyonundan sonra -1 ifadesini kullandik.<\/p>\n<p><br \/>\nDIZI DEGERLERINI SILME :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nBir &ouml;rnekle a&ccedil;iklayalim.<\/p>\n<p>Dim dizi() As String = New String(1) {}<br \/>\ndizi(0)=&quot;ASP&quot;<br \/>\ndizi(1)=&quot;JSP&quot;<br \/>\nErase dizi<\/p>\n<p>Array.ReSize(dizi,4)<br \/>\ndizi.SetValue(&quot;XML&quot;,0)<br \/>\ndizi.SetValue(&quot;ASP&quot;,1)<br \/>\ndizi.SetValue(&quot;PHP&quot;,2)<br \/>\ndizi.SetValue(&quot;CSS&quot;,3)<br \/>\nMessageBox.Show(dizi(2))<\/p>\n<p>Simdi kodlarin a&ccedil;iklamalarini yazalim.<br \/>\nErase, atanan degerleri siler. Yeniden deger yazmamiz gerekir. <br \/>\nArray.Resize ve altindaki kodlari yazdiktan sonra Erase yi rahatlikla oradan silebiliriz. Zaten Array.ReSize ile yeniden Boyutlandiriyoruz&#8230;<\/p>\n<p>ISTENILEN DEGERI SILME :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nErase dizi degerlerinin hepsini siliyordu. Istedigimiz bir degeri silmek i&ccedil;in Array sinifinin Clear() metodunu kullanabiliriz.<br \/>\nBir &ouml;rnek verelim.<br \/>\n&nbsp;<br \/>\nDim dizi() As String = New String(3) {}<br \/>\ndizi.SetValue(&quot;Asp&quot;, 0)<br \/>\ndizi.SetValue(&quot;Php&quot;, 1)<br \/>\ndizi.SetValue(&quot;CSS&quot;, 2)<br \/>\ndizi.SetValue(&quot;HTML&quot;, 3)<br \/>\nArray.Clear(dizi, 2, 1)<br \/>\nMsgBox(dizi(2))<\/p>\n<p>DIZI DEGISKENIN SON ELEMAN NO&#8217;SUNU &Ouml;GRENME :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Dizi degiskeninin son eleman numarasini &ouml;grenmek i&ccedil;in UBound fonksiyonu kullanilir.<br \/>\nDizi tek boyutlu ise;<br \/>\nUBound(&quot;dizi adi&quot;)<br \/>\nDizi &ccedil;ok boyutlu ise;<br \/>\nUBound(&quot;dizi adi&quot;,&quot;boyut&quot;) olarak yapilir.<br \/>\nTek boyutlu diziye &ouml;rnek verelim:<\/p>\n<p>Dim dizi(0 To 6) As Integer&nbsp;<br \/>\nMsgBox(&quot;Dizinin Son Eleman NoSu &#8212;&gt; &quot; &amp; UBound(dizi))<\/p>\n<p>&Ccedil;ok boyutlu diziye &ouml;rnek verelim:<\/p>\n<p>Dim dizi(0 To 3,0 To 6,0 To 19) As Integer<br \/>\nMsgBox(UBound(dizi,3))<\/p>\n<p>Arkadaslar, UBound fonksiyonu EN SON eleman Noyu verir. Isterse dizi 10 Boyutlu olsun her zaman son boyutun eleman no sunu verir!<\/p>\n<p>Arkadaslar dizi degiskenin son eleman nosunu GetUpperBound fonksiyonu ile de &ouml;grenebiliriz. <br \/>\nDizi degiskenimiz tek boyutlu ise son elemanina GetUpperBound(0) ile ulasilir.<br \/>\nDizi degiskenimiz cok boyutlu ise son elamanina GetUpperBound() diyip dizi boyutunun 1 eksigini yaziyoruz.<br \/>\nBir &ouml;rnek verelim.<\/p>\n<p>Dim dizi(0 To 4, 0 To 7, 0 To 115) As Integer<br \/>\nMsgBox(dizi.GetUpperBound(2))<\/p>\n<p>&nbsp;<\/p>\n<p>DIZI DEGISKENIN ILK ELEMAN NO&#8217;SUNU &Ouml;GRENME :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Dizi degiskenin son eleman numarasini &ouml;grenmek icin LBound fonksiyonu kullanilir. Visual Basic .NET te diziler sifirdan basladigi icin her zaman sifir degerini verir.<br \/>\nBir &ouml;rnek verelim.<\/p>\n<p>Dim dizi(0 To 8) As Integer&nbsp;<br \/>\nMsgBox(LBound(dizi))<\/p>\n<p>Arkadaslar dizi degiskenin ilk eleman nosunu GetLowerBound fonksiyonu ile de &ouml;grenebiliriz<\/p>\n<p>Dim dizi(0 To 4, 0 To 3) As Integer<br \/>\nMsgBox(dizi.GetLowerBound(1))<\/p>\n<p>DIZI DEGISKENIN ELEMAN SAYISINI BULMA :<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nDizi degiskenin eleman sayisini Lenght fonksiyonu ile &ouml;grenebiliriz. Hemen bir &ouml;rnek ile g&ouml;sterelim.<\/p>\n<p>Dim dizi() As String = New String(3) {}<br \/>\ndizi.SetValue(&quot;ASP&quot;, 0)<br \/>\ndizi.SetValue(&quot;PHP&quot;, 1)<br \/>\ndizi.SetValue(&quot;CSS&quot;, 2)<br \/>\ndizi.SetValue(&quot;C#&quot;, 3)<br \/>\nMsgBox(&quot;Dizi Degiskenin Elaman Sayisi &quot; &amp; dizi.Length)<\/p>\n<p>Birde iki boyutlu dizinin eleman sayisini &ouml;grenelim&#8230;<\/p>\n<p>Dim dizi(0 To 3, 0 To 3) As Integer<br \/>\n&#8216; 1. Boyut :<br \/>\n&#8216; Satir&#8211;&gt; 0 To 3 &#8212;&gt;0,1,2,3 &#8212;&gt; 4 Elemanli<br \/>\n&#8216; 2. Boyut :<br \/>\n&#8216; S&uuml;tun&#8211;&gt; 0 To 3 &#8212;&gt;0,1,2,3 &#8212;&gt; 4 Elemanli<br \/>\n&#8216; Satir =4<br \/>\n&#8216; S&uuml;tun =4<br \/>\nMsgBox(dizi.Length)<\/p>\n<p>&nbsp;<\/p>\n<p>Evet arkadaslar. Bir makaleninde sonuna gelmis bulunuyoruz. S&uuml;r&ccedil;-i Lisan ettiysem affola :). Umarim begenirsiniz. Tesekk&uuml;rler.<\/p>\n<p>&nbsp;<a href='www.yazilimmutfagi.com'>.<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Visual Basic .NET in en temel bilgilerinden biri olarak g&#246;sterebilecegimiz Diziler i anlatmaya &#231;alisacagim.<\/p>\n","protected":false},"author":537,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[418],"tags":[3852],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/33"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/537"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}