VB.Net Dizileri: Dize, ÖRNEKLERLE Dinamik

⚡ Akıllı Özet

VB.Net dizileri, sıfırdan başlayan bir indeks kullanarak aynı veri türündeki birden fazla değeri tek bir değişken adı altında saklar. Hem sabit boyutlu hem de dinamik diziler desteklenir ve Split ve Join fonksiyonları dizeler ve diziler arasında dönüştürme yapar.

  • 🔘 Dizilerin temelleri: Bir dizi, ilk elemanı 0. indekste ve son elemanı n eksi 1. indekste olmak üzere, tek bir veri türünün sıralı elemanlarını saklar.
  • ☑️ beyanı: `Dim` ifadesi, `Dim myData() As Integer` örneğinde olduğu gibi bir dizi tanımlar ve elemanlar küme parantezleri içinde başlatılabilir.
  • Sabit mi yoksa dinamik mi: Sabit boyutlu bir dizi belirli sayıda eleman içerirken, dinamik bir dizi ReDim ve ReDim Preserve ifadeleri kullanılarak büyür.
  • 🧪 Erişim ve silme: Öğeler indeksleri üzerinden okunur ve Erase ifadesi, belleği boşaltmak için diziyi siler.
  • Böl ve Birleştir: Split fonksiyonu bir dizeyi bir diziye ayırır ve Join fonksiyonu dizi elemanlarını tek bir dize halinde birleştirir.
  • 🤖 Yapay zeka yardımı: GitHub Copilot ve IntelliCode Visual Studio 2026'da, düz İngilizce komut istemlerinden dizi bildirimleri, döngüler ve Split veya Join çağrıları oluşturun.

VB.Net Dizileri

Dizi nedir?

Dizi, aynı türden elemanları depolamak için kullanılan bir veri yapısıdır. veri tipiElemanlar, ilk eleman 0 indeksinde ve son eleman n-1 indeksinde olacak şekilde ardışık olarak sıralanmıştır; burada n, dizideki toplam eleman sayısıdır.

Bir Dizi Nasıl Bildirilir ve Başlatılır

In VB.Netdiziler Dim ifadesi kullanılarak bildirilir. Örneğin:

Dim myData() As Integer

Yukarıdaki örnekte, myData adında bir dizi tanımladık ve bu dizi tamsayı veri türünden öğeler içermelidir. Aşağıdaki örnek, dize öğelerini tutacak bir diziyi nasıl bildirebileceğimizi göstermektedir:

Dim myData(10) As String

10 karakter dizisini tutacak şekilde myData adında bir dizi tanımladık.

Dizileri bildirimleri sırasında başlatabiliriz. Örneğin:

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

MyData dizisini deklare ettik ve ona 6 tamsayı eleman ekledik. Bu aynı zamanda dizeler için de yapılabilir:

Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}

Students adında bir dizi oluşturduk ve içine 5 isim ekledik.

VB.Net'teki diziler, tanımlandıktan sonra boyutlarının değişip değişmemesine bağlı olarak iki gruba ayrılır. Birinci grup, sabit boyutlu dizilerdir.

Sabit Boyutlu Diziler

Sabit boyutlu bir dizi, sabit sayıda öğe içerir. Bu, tanımı sırasında tutacağı öğe sayısını tanımlamanız gerektiği anlamına gelir. Yalnızca 3 öğrenci adını tutacak bir diziye ihtiyacınız olduğunu varsayalım. Diziyi aşağıdaki gibi tanımlayabilir ve başlatabilirsiniz:

Dim students(0 to 2) As String 
      
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"

Students adında bir dize dizisi bildirerek başladık. 0 ila 2, dizinin 0 dizininden 2 dizinine kadar olan elemanları depolayacağını bildirir, yani toplamda 3 elemanımız olacak.

Diziye eleman eklemek için dizi adını kullandık ve elemanın saklanacağı dizini belirledik. Örneğin, John adı dizinin 0 dizininde saklanacaktır, bu da dizinin ilk öğesini oluşturacağı anlamına gelir. Antony dizinin son elemanı olacak.

Eleman sayısı önceden bilinmediğinde, dinamik dizi daha iyi bir seçenek haline gelir.

Dinamik Diziler

Bu, herhangi bir sayıda öğeyi tutabilen bir dizidir. Dizi boyutu her an büyüyebilir. Bu, diziye istediğimiz zaman yeni öğeler ekleyebileceğiniz anlamına gelir. Bunu göstermek için önce bir tamsayı dizisi tanımlayalım:

Dim nums() As Integer

Nums adında bir tamsayı dizisi tanımladık. Artık diziye yeniden boyutlandırma için yer verirken iki öğe eklemeniz gerekiyor. ReDim ifadesini aşağıdaki gibi kullanmanız gerekir:

ReDim nums(1)
nums(0) = 12
nums(1) = 23

Dizimizin artık 0 ve 1 indekslerinde iki elemanı var. Zaten sahip olduğu iki elemanı koruyarak indeks 3'e üçüncü bir eleman eklememiz gerekiyor. Bunu şu şekilde yapabiliriz:

ReDim Preserve nums(2)
nums(2) = 35

Dizinin artık üç öğesi var.

Bir diziye veri yüklendikten sonraki adım, içerdiği değerleri geri okumaktır.

Bir Dizinin İçeriğini Alma

Alma, dizi öğelerine erişme anlamına gelir. Bir dizi öğesine erişmek için onun dizinini kullanırız. Bunu bir örnek kullanarak gösterelim.

Adım 1) Öncelikle yeni bir konsol uygulaması oluşturun.

Adım 2) Aşağıdaki kodu uygulamaya ekleyin:

Module Module1
    Sub Main()

       Dim students(0 to 2) As String 

        students(0) = "John"

        students(1) = "Alice"

        students(2) = "Antony"

        Console.WriteLine("First student is {0} ", students(0))

        Console.WriteLine("Second student is {0} ", students(1))

        Console.WriteLine("Third student is {0} ", students(2))


        Console.ReadKey()

    End Sub

End Module

3. Adım) Araç çubuğundaki Başlat düğmesine tıklayarak kodu çalıştırın. Aşağıdaki pencereyi göreceksiniz:

Bir Dizinin İçeriğini Alma

Aşağıdaki kodu kullandık:

Bir Dizinin İçeriğini Alma

Açıklaması Code:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedürün oluşturulması.
  3. Dize öğelerini depolamak için Students adında bir dizi oluşturma. Dizi, indeks 0'dan indeks 2'ye kadar olan elemanları saklayacak, yani toplam 3 elemana sahip olacak.
  4. Dizinin ilk öğesi olarak John adının eklenmesi, yani John'un 0 dizininde saklanması.
  5. Dizinin ikinci elemanı olarak Alice adının eklenmesi, yani Alice'in dizin 1'de saklanması.
  6. Dizinin üçüncü elemanı olarak Antony adının eklenmesi, yani Antony'nin dizin 2'de saklanması.
  7. Konsoldaki dizi öğrencilerinin 0 dizininde saklanan bazı metinlerin ve öğelerin yazdırılması. Students(0), Students isimli dizinin 0 indeksindeki elemana erişmemize yardımcı olur.
  8. Konsoldaki dizi öğrencilerinin 1 dizininde saklanan bazı metinlerin ve öğelerin yazdırılması. Students(1), Students isimli dizinin 1 indeksindeki elemana erişmemize yardımcı olur.
  9. Konsoldaki dizi öğrencilerinin 2 dizininde saklanan bazı metinlerin ve öğelerin yazdırılması. Students(2), Students isimli dizinin 2 indeksindeki elemana erişmemize yardımcı olur.
  10. Kullanıcının kapatmak için harekete geçmesini bekleyen konsol penceresini duraklatma.
  11. Alt prosedürün sonu.
  12. Modül sonu.

Bir Diziye Yeni Öğeler Ekleme

Bu yalnızca dinamik bir diziniz varsa gerçekleşir. Sabit boyutlu bir dizi bildirdiyseniz ve dizi öğeleriyle doluysa, ona yeni öğeler ekleyemezsiniz. Aşağıdaki örnek, dinamik bir diziye nasıl yeni öğeler ekleneceğini gösterir:

Adım 1) Öncelikle yeni bir konsol uygulaması oluşturun.

Adım 2) Aşağıdaki kodu uygulamaya ekleyin:

Module Module1
    Sub Main()

        Dim nums() As Integer

        ReDim nums(1)
        nums(0) = 12
        nums(1) = 23

        For x = 0 To nums.Length - 1
            Console.WriteLine("Initial array element: {0}", nums(x))
        Next

        ReDim Preserve nums(2)
        nums(2) = 35

        For x = 0 To nums.Length - 1
            Console.WriteLine("Final array element: {0}", nums(x))
        Next

        Console.ReadKey()
    End Sub

End Module

3. Adım) Kodu çalıştırmak için araç çubuğundaki Başlat düğmesine tıklayın. Aşağıdaki pencereyi görmelisiniz:

Bir Diziye Yeni Öğeler Ekleme

Aşağıdaki kodu kullandık:

Bir Diziye Yeni Öğeler Ekleme

Açıklaması Code:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedürün oluşturulması.
  3. Tamsayı değerlerini tutmak için nums adlı bir dizi oluşturma.
  4. Yukarıdaki dizinin iki elemanı depolayacağını, yani 0 ve 1 indekslerinde yeniden boyutlandırmaya izin vereceğini belirtelim.
  5. 12. öğeyi dizi numaralarının 0 dizinine ekleme.
  6. 23. öğeyi dizi numaralarının 1 dizinine ekleme.
  7. nums dizisinin ilk elemanından son elemanına kadar yinelememize yardımcı olacak bir x değişkeni oluşturmak için for döngüsünü kullanmak. Dizinin artık 12 ve 23 olmak üzere iki öğesi olduğuna dikkat edin.
  8. Konsolda bazı metinlerin ve dizinin öğelerinin yazdırılması.
  9. For döngüsünü sonlandırıp atlama işlemi yapılıyor.ping Kodun bir sonraki bölümüne geçelim.
  10. Dizi numaralarını, 0'dan 2'ye kadar olan dizinlerdeki öğelere izin verecek şekilde yeniden boyutlandırın. Artık 3 yerine 2 öğe depolayabilecektir. Preserve anahtar sözcüğü, dizinin mevcut öğelerini, yani 12 ve 23'ü korumamıza yardımcı olur.
  11. 35. elemanı dizinin 2. indeksine ekliyoruz. Dizinin artık 12, 23 ve 35 olmak üzere üç öğesi vardır.
  12. nums dizisinin ilk elemanından son elemanına kadar yinelememize yardımcı olacak bir x değişkeni oluşturmak için for döngüsünü kullanmak. Dizinin artık 12, 23 ve 35 olmak üzere üç öğesi olduğuna dikkat edin.
  13. Konsolda bazı metinlerin ve dizinin öğelerinin yazdırılması.
  14. For döngüsünü sonlandırıp atlama işlemi yapılıyor.ping Kodun bir sonraki bölümüne geçelim.
  15. Kullanıcının kapatmak için işlem yapmasını bekleyen konsol penceresini duraklatın.
  16. Alt prosedürün sonu.
  17. Modül sonu.

Bir Diziyi Silme

Çoğunlukla dinamik bir diziyle uğraşırken, dizinizi işiniz bittikten sonra silmeniz önerilir. Bu, hafızada biraz yer açmanıza yardımcı olacaktır.

Bir diziyi silmek için, Erase deyimini ve ardından dizinin adını çağırmanız yeterlidir. Örneğin:

Dim nums(1) As Integer
        nums(0) = 12
        nums(1) = 23
Erase nums

Nums adında bir tamsayı dizisi tanımladık ve ona iki öğe ekledik. Erase nums ifadesi diziyi siler.

VB.Net, değerleri saklamanın ötesinde, dizeler ve diziler arasında dönüştürme yapan yerleşik işlevler sunar. Bunlardan ilki Split işlevidir.

Bölme İşlevi

Visual Basic .NET tarafından sağlanan `split` fonksiyonu, bir dizeyi parçalara ayırmamıza ve bunları bir dizide saklamamıza yardımcı olur. Aşağıdaki örnek, bu fonksiyonun nasıl kullanılacağını göstermektedir:

Adım 1) Yeni bir konsol uygulaması oluşturun.

Adım 2) Aşağıdaki kodu uygulamaya ekleyin:

Module Module1
    Sub Main()

        Dim myarray() As String
        Dim guru99 As String
        Dim x As Integer

        guru99 = "Welcome, to, Guru99"
        myarray = Split(guru99, ", ")

        For x = LBound(myarray) To UBound(myarray)

            Console.WriteLine(myarray(x))

        Next

        Console.ReadKey()
    End Sub

End Module

3. Adım) Araç çubuğundaki Başlat düğmesine tıklayarak kodu çalıştırın. Aşağıdaki pencereyi görmelisiniz:

Bölme İşlevi

Aşağıdaki kodu kullandık:

Bölme İşlevi

Açıklaması Code:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedür başlatılıyor.
  3. Dize değerlerini tutacak myarray adlı bir dizi oluşturma.
  4. guru99 adında bir dize değişkeni oluşturma.
  5. X adında bir tamsayı değişkeni oluşturma.
  6. guru99 değişkenine bir dize atama.
  7. Yukarıdaki String'i parçalara ayırıp myarray adlı diziye yerleştiriyoruz. “,” (virgül) sınırlayıcıdır, dolayısıyla split işlevi onu String'in çeşitli bölümlerinin sonunu işaretlemek için kullanacaktır.
  8. Myarray adlı dizide yineleme yapmak için x değişkenini kullanma. LBound ve UBound sırasıyla dizinin alt sınırlarını ve üst sınırlarını belirtir.
  9. Myarray adlı dizinin değerlerinin konsolda yazdırılması.
  10. For döngüsünü sonlandırıyoruz.

Katıl İşlevi

Join fonksiyonu, birden fazla diziyi tek bir dizeye birleştirmemize yardımcı olur. Aşağıdaki örnek bunu göstermektedir:

Adım 1) Öncelikle yeni bir konsol uygulaması oluşturun.

Adım 2) Aşağıdaki kodu uygulamaya ekleyin:

Module Module1
    Sub Main()

        Dim students(0 To 2) As String

        students(0) = "John"

        students(1) = "Alice"

        students(2) = "Antony"

        Dim classmates As String


        classmates = Join(students, ", ")

        Console.WriteLine(classmates)

        Console.ReadKey()
    End Sub

End Module

3. Adım) Araç çubuğundaki Başlat düğmesine tıklayarak kodu çalıştırın:

Katıl İşlevi

Aşağıdaki kodu kullandık:

Katıl İşlevi

Açıklaması Code:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedürün oluşturulması.
  3. 3 dize değerini tutacak Students adında bir dizi oluşturma.
  4. John adının dizinin 0 dizinine eklenmesi.
  5. Alice ismini dizinin 1. indeksine eklemek.
  6. Antony isminin dizinin 2. indeksine eklenmesi.
  7. Dize veri türünde sınıf arkadaşları adlı bir değişken tanımlama.
  8. "Students" dizisindeki tüm elemanları birleştirip virgülle ayırıyoruz. Bu işlemin sonucu "classmates" değişkenine atanacaktır.
  9. Sınıf arkadaşları değişkeninin içeriğini konsolda yazdırma.
  10. Kullanıcının kapatmak için harekete geçmesini bekleyen konsol penceresini duraklatma.
  11. Ana alt prosedürü sonlandırıyoruz.
  12. Modülün sonlandırılması.

SSS

Evet. Her VB.Net dizisi 0 indeksinden başlar, bu nedenle ilk eleman 0 indeksinde, son eleman ise n eksi 1 indeksinde bulunur. Alt sınır her zaman 0'dır ve değiştirilemez.

Toplam eleman sayısını döndüren Length özelliğini kullanın, örneğin nums.Length. UBound fonksiyonu en yüksek indeksi döndürür ve diziler 0 indeksinden başladığı için UBound, Length eksi bire eşittir.

Paylaşılan Array.Sort yöntemini çağırın ve diziyi ona iletin, örneğin Array.Sort(nums). Bu, elemanları yerinde artan sırada yeniden sıralar. Array kullanın.Reverse Daha sonra aynı öğeleri azalan sırada düzenleyin.

Çok boyutlu veya dikdörtgen bir dizi, parantez içinde virgül kullanarak verileri satır ve sütunlar halinde depolar; örneğin, Dim grid(2, 3) As Integer. Her satır aynı sayıda eleman içerir.

Düzensiz dizi, elemanları kendileri de dizi olan bir dizidir; bu nedenle her satır farklı sayıda eleman içerebilir. İki parantez kümesiyle tanımlanır, örneğin: Dim data()() As Integer.

Bir dizi oluşturulduktan sonra sabit bir boyuta sahiptir ve yeniden boyutlandırmak için ReDim yöntemine ihtiyaç duyar. Bir List(Of T) ise otomatik olarak büyür ve küçülür ve Add, Remove ve Sort yöntemleri sunarak eleman sayısı sık sık değiştiğinde işleri kolaylaştırır.

Evet. GitHub Copilot, düz İngilizce bir yorumu, Dim bildirimleri, ReDim yeniden boyutlandırma ve Split veya Join çağrıları da dahil olmak üzere eksiksiz dizi koduna dönüştürür. Her öneriyi kabul etmeden önce doğru indeksler ve veri türleri açısından mutlaka gözden geçirin.

Evet. Visual Studio 2026, GitHub Copilot'ı IntelliCraft ile eşleştiriyor.Code Dizi döngülerini otomatik tamamlama, yazarken aralık dışı indeksleri işaretleme ve doğru dizi yöntemini önerme gibi özellikler sayesinde, programı çalıştırmadan önce çalışma zamanı hatalarını azaltır.

Bu yazıyı şu şekilde özetleyin: