VB.Net Dizileri: Dize, ÖRNEKLERLE Dinamik

Dizi nedir?

Dizi, aynı veri türündeki öğeleri depolamak için kullanılan bir veri yapısıdır. Öğeler, ilk öğe 0 dizininde ve son öğe n-1 dizininde olacak şekilde sıralı olarak sıralanır; burada n, dizideki öğelerin toplam 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.

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.

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 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.

) 1 Adım Yeni bir konsol uygulaması oluşturarak başlayın.

) 2 Adım 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ğundan 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

Kodun Açıklaması:

  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. Konsol penceresinin duraklatılması veya kullanıcının onu kapatmak için işlem yapması bekleniyor.
  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:

) 1 Adım Yeni bir konsol uygulaması oluşturarak başlayın.

) 2 Adım 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ğundan 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

Kodun Açıklaması:

  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 kodun bir sonraki bölümüne atlıyoruz.
  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 kodun bir sonraki bölümüne atlıyoruz.
  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.

Bölme İşlevi

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

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

) 2 Adım 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ğundan 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

Kodun Açıklaması:

  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ırmak ve

Katıl İşlevi

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

) 1 Adım Yeni bir konsol uygulaması oluşturarak başlayın.

) 2 Adım 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

Kodun Açıklaması:

  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. Dizinin tüm elemanlarını birleştirmek ve onları , (virgül) kullanarak ayırmak. Bu işlemin sonucu değişken sınıf arkadaşlarına 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ı.

ÖZET

  • Diziler aynı diziye ait veri elemanlarını saklamak için kullanılır. veri tipi.
  • Dinamik bir dizi, kullanıcının daha fazla öğe ekleyerek onu yeniden boyutlandırmasına olanak tanır. komutunu kullanıyorsunuz Mevcut bir diziye öğe eklemek için ReDim
  • Sabit boyutlu bir dizinin boyutu değiştirilemez.
  • Dizi elemanları indeksler kullanılarak sıralanır; ilk eleman 0 indeksinde ve son eleman n-1 indeksindedir; burada n, dizi elemanlarının toplam sayısıdır.
  • Diziler Silme işlevi kullanılarak silinebilir
  • Bir dize dizisini bölmek veya birleştirmek için sırasıyla split ve join işlevlerini kullanabilirsiniz.