VB.Net Dizileri: Dize, ÖRNEKLERLE Dinamik

İçindekiler:

Anonim

Dizi nedir?

Dizi, aynı veri türündeki öğeleri depolamak için kullanılan bir veri yapısıdır. Öğeler sıralı olarak sıralanır ve ilk eleman 0 dizininde ve son eleman n-1 dizinindedir; burada n, dizideki toplam eleman sayısıdır.

Bu eğitimde şunları öğreneceksiniz:

  • Dizi nedir?
  • Bir Dizi Nasıl Bildirilir ve Başlatılır
  • Sabit Boyutlu Diziler
  • Dinamik Diziler
  • Bir Dizinin İçeriğini Geri Alma
  • Bir Diziye Yeni Öğeler Ekleme
  • Bir Diziyi Silme
  • Bölme İşlevi
  • Birleştirme İşlevi

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

VB.NET'te diziler Dim deyimi kullanılarak bildirilir. Örneğin:

Dim myData() As Integer

Yukarıdaki örnekte, myData adında bir dizi tanımladık ve tamsayı veri türünün öğelerini tutması gerekir. Aşağıdaki örnek, dize öğelerini tutmak için nasıl bir dizi bildirebileceğimizi gösterir:

Dim myData(10) As String

10 dizgeyi tutması için 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 ilan ettik ve ona 6 tamsayı eleman ekledik. Bu, dizeler için de yapılabilir:

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

Öğrenciler adında bir dizi oluşturduk ve buna 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 Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"

Öğrenciler adında bir dizge dizisi tanımlayarak başladık. 0 ila 2, dizinin 0 dizininden dizin 2'ye kadar öğeleri depolayacağını bildirir, bu da toplamda 3 öğemiz olacağı anlamına gelir.

Diziye eleman eklemek için dizi adını kullandık ve elemanın depolanacağı dizini belirledik. Örneğin, John adı dizinin 0. dizininde saklanacaktır, yani dizinin ilk elemanını oluşturacaktır. Antony, dizinin son öğesi olacak.

Dinamik Diziler

Bu, herhangi bir sayıda öğeyi tutabilen bir dizidir. Dizi boyutu herhangi bir zamanda büyüyebilir. Bu, istediğimiz zaman diziye 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. Şimdi diziyi yeniden boyutlandırmak için yer verirken diziye iki öğe eklemeniz gerekiyor. ReDim ifadesini aşağıdaki gibi kullanmanız gerekir:

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

Dizimizin artık 0 ve 1 dizinlerinde iki elemanı var. Halihazırda sahip olduğu iki elemanı korurken dizin 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 Geri Alma

Geri alma, dizi elemanlarına erişim anlamına gelir. Bir dizi elemanına erişmek için onun indeksini kullanırız. Bunu bir örnekle gösterelim.

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

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

Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(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 SubEnd Module

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

Aşağıdaki kodu kullandık:

Kod Açıklaması:

  1. Module1 adlı bir modül oluşturma.
  2. Ana alt prosedürün oluşturulması.
  3. Dize elemanlarını saklamak için öğrenciler adında bir dizi oluşturmak. Dizi, dizin 0'dan dizin 2'ye kadar olan öğeleri depolayacaktır, bu da toplam 3 öğeye sahip olacağı anlamına gelir.
  4. Dizinin ilk öğesi olarak John adının eklenmesi, yani John dizin 0'da saklanır.
  5. Alice isminin dizinin ikinci elemanı olarak eklenmesi, yani Alice indeks 1'de saklanır.
  6. Antony ismini dizinin üçüncü öğesi olarak eklemek, yani Antonius dizin 2'de saklanır.
  7. Konsolda dizinin 0 dizininde depolanan bazı metin ve öğelerin yazdırılması. Öğrenciler (0), Students adlı dizinin 0. dizinindeki öğeye erişmemize yardımcı olur.
  8. Konsoldaki dizinin 1. dizininde depolanan bazı metin ve öğelerin yazdırılması. Öğrenciler (1), Students adlı dizinin 1. dizinindeki öğeye erişmemize yardımcı olur.
  9. Konsoldaki dizinin 2. dizininde depolanan bazı metin ve öğelerin yazdırılması. Öğrenciler (2), Students adlı dizinin 2. dizinindeki öğeye erişmemize yardımcı olur.
  10. Konsol penceresini duraklatmak veya kullanıcının kapatmak için harekete geçmesini beklemek.
  11. Alt prosedürün sonu.
  12. Modülün sonu.

Bir Diziye Yeni Öğeler Ekleme

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

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

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

Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module

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

Aşağıdaki kodu kullandık:

Kod Açıklaması:

  1. Module1 adlı bir modül oluşturma.
  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 yeniden boyutlandırma için yer sağlarken dizin 0 ve 1'de iki öğeyi depolayacağını belirtmek.
  5. 12 numaralı dizinin 0 dizinine eklenmesi.
  6. 23 numaralı elemanın dizi nums dizin 1'e eklenmesi.
  7. Nums dizisinin ilk elemanından son elemanına yineleme yapmamıza yardımcı olacak bir x değişkeni oluşturmak için for döngüsü kullanmak. Dizinin artık 12 ve 23 olmak üzere iki öğesi olduğunu unutmayın.
  8. Konsolda dizinin bazı metinlerini ve öğelerini yazdırma.
  9. For döngüsünü sona erdirmek ve kodun sonraki bölümüne atlamak.
  10. 0 ile 2 arasındaki dizinlerdeki öğelere izin vermek için dizi numaralarını yeniden boyutlandırın. Artık 2 yerine 3 öğe depolayabilecektir. Preserve anahtar sözcüğü, dizinin mevcut öğelerini, yani 12 ve 23'ü korumamıza yardımcı olur.
  11. 35 elemanını dizinin 2. dizinine ekleme. Dizinin artık üç öğesi vardır, 12, 23 ve 35.
  12. Nums dizisinin ilk elemanından son elemanına yineleme yapmamıza yardımcı olacak bir x değişkeni oluşturmak için for döngüsü kullanmak. Dizinin artık 12, 23 ve 35 olmak üzere üç öğeye sahip olduğuna dikkat edin.
  13. Konsolda dizinin bazı metinlerini ve öğelerini yazdırma.
  14. For döngüsünü sona erdirmek ve kodun sonraki bölümüne atlamak.
  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ün sonu.

Bir Diziyi Silme

Çoğunlukla dinamik bir dizi ile uğraşırken, dizinizi bitirdikten sonra silmeniz önerilir. Bu, biraz bellek alanı boşaltmanı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 Integernums(0) = 12nums(1) = 23Erase nums

Nums adında bir tamsayı dizisi tanımladık ve ona iki eleman ekledik. Erase nums deyimi diziyi silecektir.

Bölme İşlevi

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

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

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

Module Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module

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

Aşağıdaki kodu kullandık:

Kod Açıklaması:

  1. Module1 adlı bir modül oluşturma.
  2. Ana alt prosedürü başlatmak.
  3. Dize değerlerini tutmak için myarray adında bir dizi oluşturmak.
  4. Guru99 adında bir dizge değişkeni oluşturma.
  5. X adında bir tamsayı değişkeni oluşturma.
  6. Guru99 değişkenine bir dizge atama.
  7. Yukarıdaki String'i parçalara ayırmak ve onları myarray adlı diziye yerleştirmek. "," (Virgül) sınırlayıcıdır, bu nedenle bölme işlevi onu String'in çeşitli bölümlerinin sonunu işaretlemek için kullanı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. Konsolda myarray adlı dizinin değerlerini yazdırma.
  10. For döngüsünün sonlandırılması ve

Birleştirme İşlevi

Join işlevi, birden çok diziyi tek bir dizede birleştirmemize yardımcı olur. Aşağıdaki örnek bunu göstermektedir:

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

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

Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module

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

Aşağıdaki kodu kullandık:

Kod Açıklaması:

  1. Module1 adlı bir modül oluşturma.
  2. Ana alt prosedürün oluşturulması.
  3. 3 dize değerini tutacak öğrenciler adında bir dizi oluşturmak.
  4. Dizinin 0 dizinine John adı ekleniyor.
  5. Alice ismini dizinin 1. dizinine eklemek.
  6. Antony ismini dizinin 2. indeksine eklemek.
  7. Dize veri türünün sınıf arkadaşları adlı bir değişken tanımlama.
  8. Dizi öğrencilerinin tüm öğelerini birleştirmek ve onları a, (virgül) ile ayırmak Bu işlemin sonucu değişken sınıf arkadaşlarına atanacaktır.
  9. Konsolda sınıf arkadaşları değişkeninin içeriğini yazdırma.
  10. Kullanıcının kapatmak için işlem yapmasını bekleyen konsol penceresini duraklatmak.
  11. Ana alt prosedürü sonlandırmak.
  12. Modülü sonlandırmak.

Özet

  • Diziler, aynı veri türüne ait veri öğelerini depolamak için kullanılır.
  • Dinamik bir dizi, kullanıcının kendisine daha fazla öğe ekleyerek onu yeniden boyutlandırmasına olanak tanır. Mevcut bir diziye eleman eklemek için ReDim komutunu kullanırsınız.
  • Sabit boyutlu bir dizinin boyutu değiştirilemez.
  • Dizi elemanları, ilk eleman 0 dizininde ve son eleman n-1 dizininde olacak şekilde dizinler kullanılarak sıralanır; burada n, dizi elemanlarının toplam sayısıdır.
  • Diziler, Silme işlevi kullanılarak silinebilir
  • Sırasıyla bir dizeyi bölmek veya birleştirmek için bölme ve birleştirme işlevlerini kullanabilirsiniz.