VB.Net Arrays: String, Dynamic με EXAMPLES

⚡ Έξυπνη Σύνοψη

Οι πίνακες VB.Net αποθηκεύουν πολλαπλές τιμές του ίδιου τύπου δεδομένων κάτω από ένα όνομα μεταβλητής, χρησιμοποιώντας έναν δείκτη που ξεκινά από το μηδέν. Υποστηρίζονται τόσο οι πίνακες σταθερού μεγέθους όσο και οι δυναμικοί πίνακες, και οι συναρτήσεις Split και Join μετατρέπουν μεταξύ συμβολοσειρών και πινάκων.

  • 🔘 Βασικά στοιχεία για πίνακες: Ένας πίνακας αποθηκεύει διατεταγμένα στοιχεία ενός τύπου δεδομένων, με το πρώτο να έχει δείκτη 0 και το τελευταίο να έχει δείκτη n μείον 1.
  • ☑️ Δήλωση: Η πρόταση Dim δηλώνει έναν πίνακα, όπως στην Dim myData() As Integer, και τα στοιχεία μπορούν να αρχικοποιηθούν μέσα σε αγκύλες.
  • Σταθερό έναντι δυναμικού: Ένας πίνακας σταθερού μεγέθους περιέχει έναν καθορισμένο αριθμό στοιχείων, ενώ ένας δυναμικός πίνακας αυξάνεται χρησιμοποιώντας τις εντολές ReDim και ReDim Preserve.
  • 🧪 Πρόσβαση και διαγραφή: Τα στοιχεία διαβάζονται μέσω του ευρετηρίου τους και η εντολή Erase αφαιρεί έναν πίνακα για να ελευθερώσει μνήμη.
  • Διαχωρισμός και ένωση: Η συνάρτηση Split διασπά μια συμβολοσειρά σε έναν πίνακα και η συνάρτηση Join συνδυάζει στοιχεία του πίνακα σε μία συμβολοσειρά.
  • 🤖 Βοήθεια AI: Συγπιλότος GitHub και IntelliCode Στο Visual Studio 2026, δημιουργήστε δηλώσεις πινάκων, βρόχους και κλήσεις Split ή Join από απλά αγγλικά μηνύματα.

Συστοιχίες VB.Net

Τι είναι ένας πίνακας;

Ένας πίνακας είναι μια δομή δεδομένων που χρησιμοποιείται για την αποθήκευση στοιχείων του ίδιου Τύπος δεδομένωνΤα στοιχεία ταξινομούνται διαδοχικά, με το πρώτο στοιχείο να βρίσκεται στον δείκτη 0 και το τελευταίο στοιχείο στον δείκτη n-1, όπου n είναι ο συνολικός αριθμός στοιχείων στον πίνακα.

Πώς να δηλώσετε και να αρχικοποιήσετε έναν πίνακα

In VB.Net, οι πίνακες δηλώνονται χρησιμοποιώντας την πρόταση Dim. Για παράδειγμα:

Dim myData() As Integer

Στο παραπάνω παράδειγμα, έχουμε ορίσει έναν πίνακα με το όνομα myData και θα πρέπει να περιέχει στοιχεία του ακέραιου τύπου δεδομένων. Το ακόλουθο παράδειγμα δείχνει πώς μπορούμε να δηλώσουμε έναν πίνακα για να κρατά στοιχεία συμβολοσειράς:

Dim myData(10) As String

Έχουμε ορίσει έναν πίνακα με το όνομα myData για να περιέχει 10 συμβολοσειρές.

Μπορούμε να αρχικοποιήσουμε τους πίνακες τη στιγμή της δήλωσης τους. Για παράδειγμα:

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

Δηλώσαμε τον πίνακα myData και προσθέσαμε 6 ακέραια στοιχεία σε αυτόν. Αυτό μπορεί επίσης να γίνει για την περίπτωση των χορδών:

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

Δημιουργήσαμε έναν πίνακα με όνομα μαθητές και προσθέσαμε 5 ονόματα σε αυτόν.

Οι πίνακες στο VB.Net εμπίπτουν σε δύο ομάδες ανάλογα με το αν το μέγεθός τους μπορεί να αλλάξει μετά τη δήλωσή τους. Η πρώτη ομάδα είναι ο πίνακας σταθερού μεγέθους.

Πίνακες σταθερού μεγέθους

Ένας πίνακας σταθερού μεγέθους περιέχει έναν σταθερό αριθμό στοιχείων. Αυτό σημαίνει ότι πρέπει να ορίσετε τον αριθμό των στοιχείων που θα περιέχει κατά τον ορισμό του. Ας υποθέσουμε ότι χρειάζεστε έναν πίνακα για να περιέχει μόνο 3 ονόματα μαθητών. Μπορείτε να ορίσετε και να αρχικοποιήσετε τον πίνακα ως εξής:

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

Ξεκινήσαμε δηλώνοντας έναν πίνακα συμβολοσειρών με το όνομα Students. Το 0 έως το 2 δηλώνει ότι ο πίνακας θα αποθηκεύσει στοιχεία από τον δείκτη του 0 έως τον δείκτη 2, δηλαδή θα έχουμε 3 στοιχεία συνολικά.

Για να προσθέσουμε στοιχεία στον πίνακα, χρησιμοποιήσαμε το όνομα του πίνακα και καθορίσαμε το ευρετήριο στον οποίο θα αποθηκευτεί το στοιχείο. Για παράδειγμα, το όνομα John θα αποθηκευτεί στο δείκτη 0 του πίνακα, που σημαίνει ότι θα αποτελέσει το πρώτο στοιχείο του πίνακα. Το Antony θα είναι το τελευταίο στοιχείο του πίνακα.

Όταν ο αριθμός των στοιχείων δεν είναι γνωστός εκ των προτέρων, ένας δυναμικός πίνακας γίνεται η καλύτερη επιλογή.

Δυναμικοί Πίνακες

Αυτός είναι ένας πίνακας που μπορεί να χωρέσει οποιοδήποτε αριθμό στοιχείων. Το μέγεθος του πίνακα μπορεί να αυξηθεί ανά πάσα στιγμή. Αυτό σημαίνει ότι μπορείτε να προσθέσετε νέα στοιχεία στον πίνακα όποτε θέλουμε. Για να το δείξουμε αυτό, ας ορίσουμε πρώτα έναν πίνακα ακεραίων:

Dim nums() As Integer

Έχουμε ορίσει έναν ακέραιο πίνακα με το όνομα nums. Τώρα πρέπει να προσθέσετε δύο στοιχεία στον πίνακα, δίνοντας ταυτόχρονα χώρο για αλλαγή μεγέθους. Πρέπει να χρησιμοποιήσετε τη δήλωση ReDim ως εξής:

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

Ο πίνακας μας έχει τώρα δύο στοιχεία στους δείκτες 0 και 1. Πρέπει να προσθέσουμε ένα τρίτο στοιχείο σε αυτόν στον δείκτη 3 διατηρώντας τα δύο στοιχεία που έχει ήδη. Μπορούμε να το κάνουμε ως εξής:

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

Ο πίνακας έχει πλέον τρία στοιχεία.

Αφού συμπληρωθεί ένας πίνακας, η επόμενη εργασία είναι η ανάγνωση των τιμών που περιέχει.

Ανάκτηση των περιεχομένων ενός πίνακα

Ανάκτηση σημαίνει πρόσβαση στα στοιχεία του πίνακα. Για να αποκτήσουμε πρόσβαση σε ένα στοιχείο πίνακα, χρησιμοποιούμε το ευρετήριό του. Ας το δείξουμε αυτό χρησιμοποιώντας ένα παράδειγμα.

Βήμα 1) Ξεκινήστε δημιουργώντας μια νέα εφαρμογή κονσόλας.

Βήμα 2) Προσθέστε τον ακόλουθο κώδικα στην εφαρμογή:

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) Εκτελέστε τον κώδικα κάνοντας κλικ στο κουμπί Έναρξη από τη γραμμή εργαλείων. Θα εμφανιστεί το ακόλουθο παράθυρο:

Ανάκτηση των περιεχομένων ενός πίνακα

Έχουμε χρησιμοποιήσει τον ακόλουθο κώδικα:

Ανάκτηση των περιεχομένων ενός πίνακα

Επεξήγηση του Code:

  1. Δημιουργία μιας ενότητας με το όνομα Module1.
  2. Δημιουργία της κύριας υποδιαδικασίας.
  3. Δημιουργία πίνακα με όνομα μαθητές για την αποθήκευση στοιχείων συμβολοσειράς. Ο πίνακας θα αποθηκεύει στοιχεία από το ευρετήριο 0 έως το δείκτη 2, που σημαίνει ότι θα έχει συνολικά 3 στοιχεία.
  4. Προσθέτοντας το όνομα John ως το πρώτο στοιχείο του πίνακα, δηλαδή, ο John αποθηκεύτηκε στο δείκτη 0.
  5. Προσθέτοντας το όνομα Alice ως το δεύτερο στοιχείο του πίνακα, δηλαδή το Alice αποθηκευμένο στο ευρετήριο 1.
  6. Προσθέτοντας το όνομα Antony ως το τρίτο στοιχείο του πίνακα, δηλαδή το Antony αποθηκευμένο στο ευρετήριο 2.
  7. Εκτύπωση κειμένου και του στοιχείου που είναι αποθηκευμένο στο ευρετήριο 0 του πίνακα σπουδαστών στην κονσόλα. Το student(0) μας βοηθά να έχουμε πρόσβαση στο στοιχείο στο ευρετήριο 0 του πίνακα με το όνομα Students.
  8. Εκτύπωση κειμένου και του στοιχείου που είναι αποθηκευμένο στο ευρετήριο 1 του πίνακα σπουδαστών στην κονσόλα. Το student(1) μας βοηθά να έχουμε πρόσβαση στο στοιχείο στο ευρετήριο 1 του πίνακα με το όνομα Students.
  9. Εκτύπωση κειμένου και του στοιχείου που είναι αποθηκευμένο στο ευρετήριο 2 του πίνακα σπουδαστών στην κονσόλα. Το student(2) μας βοηθά να έχουμε πρόσβαση στο στοιχείο στο ευρετήριο 2 του πίνακα με το όνομα Students.
  10. Παύση του παραθύρου της κονσόλας σε αναμονή για τον χρήστη να προβεί σε ενέργειες για να το κλείσει.
  11. Λήξη της υποδιαδικασίας.
  12. Τέλος της ενότητας.

Προσθήκη νέων στοιχείων σε έναν πίνακα

Αυτό θα συμβεί μόνο εάν έχετε έναν δυναμικό πίνακα. Εάν είχατε δηλώσει έναν πίνακα διαστάσεων σταθερού μεγέθους και είναι γεμάτος στοιχεία πίνακα, δεν μπορείτε να προσθέσετε νέα στοιχεία σε αυτόν. Το ακόλουθο παράδειγμα δείχνει πώς να προσθέσετε νέα στοιχεία σε έναν δυναμικό πίνακα:

Βήμα 1) Ξεκινήστε δημιουργώντας μια νέα εφαρμογή κονσόλας.

Βήμα 2) Προσθέστε τον ακόλουθο κώδικα στην εφαρμογή:

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) Κάντε κλικ στο κουμπί Έναρξη από τη γραμμή εργαλείων για να εκτελέσετε τον κώδικα. Θα πρέπει να εμφανιστεί το ακόλουθο παράθυρο:

Προσθήκη νέων στοιχείων σε έναν πίνακα

Έχουμε χρησιμοποιήσει τον ακόλουθο κώδικα:

Προσθήκη νέων στοιχείων σε έναν πίνακα

Επεξήγηση του Code:

  1. Δημιουργία μιας ενότητας με το όνομα Module1.
  2. Δημιουργία της κύριας υποδιαδικασίας.
  3. Δημιουργία πίνακα με το όνομα nums για τη διατήρηση ακέραιων τιμών.
  4. Καθορίζοντας ότι ο παραπάνω πίνακας θα αποθηκεύει δύο στοιχεία, δηλαδή στους δείκτες 0 και 1 ενώ θα αφήνει χώρο για αλλαγή μεγέθους.
  5. Προσθήκη του στοιχείου 12 στον δείκτη 0 του πίνακα αριθμών.
  6. Προσθήκη του στοιχείου 23 στον δείκτη 1 του πίνακα αριθμών.
  7. Χρησιμοποιώντας έναν βρόχο for για να δημιουργήσουμε μια μεταβλητή x για να μας βοηθήσει να επαναλάβουμε από το πρώτο έως το τελευταίο στοιχείο του πίνακα nums. Σημειώστε ότι ο πίνακας έχει πλέον δύο στοιχεία, το 12 και το 23.
  8. Εκτύπωση κειμένου και των στοιχείων του πίνακα στην κονσόλα.
  9. Τερματισμός του βρόχου for και jumpping στο επόμενο μέρος του κώδικα.
  10. Αλλάξτε το μέγεθος των αριθμών του πίνακα ώστε να επιτρέπονται στοιχεία στους δείκτες 0 έως 2. Τώρα θα μπορεί να αποθηκεύει 3 στοιχεία αντί 2. Η λέξη-κλειδί Διατήρηση μας βοηθά να διατηρήσουμε τα τρέχοντα στοιχεία του πίνακα, δηλαδή 12 και 23.
  11. Προσθήκη του στοιχείου 35 στο ευρετήριο 2 του πίνακα. Ο πίνακας έχει πλέον τρία στοιχεία, 12, 23 και 35.
  12. Χρησιμοποιώντας έναν βρόχο for για να δημιουργήσουμε μια μεταβλητή x για να μας βοηθήσει να επαναλάβουμε από το πρώτο έως το τελευταίο στοιχείο του πίνακα nums. Σημειώστε ότι ο πίνακας έχει πλέον τρία στοιχεία, 12, 23 και 35.
  13. Εκτύπωση κειμένου και των στοιχείων του πίνακα στην κονσόλα.
  14. Τερματισμός του βρόχου for και jumpping στο επόμενο μέρος του κώδικα.
  15. Παύση του παραθύρου της κονσόλας περιμένοντας ο χρήστης να προβεί σε ενέργειες για να το κλείσει.
  16. Λήξη της υποδιαδικασίας.
  17. Τέλος της ενότητας.

Διαγραφή πίνακα

Συνιστάται να διαγράψετε τον πίνακα σας αφού τελειώσετε με αυτόν, κυρίως όταν έχετε να κάνετε με έναν δυναμικό πίνακα. Αυτό θα σας βοηθήσει να ελευθερώσετε χώρο στη μνήμη.

Για να διαγράψετε έναν πίνακα, πρέπει απλώς να καλέσετε τη δήλωση Erase ακολουθούμενη από το όνομα του πίνακα. Για παράδειγμα:

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

Δηλώσαμε έναν πίνακα ακεραίων με το όνομα nums και προσθέσαμε δύο στοιχεία σε αυτόν. Η δήλωση Erase nums θα διαγράψει τον πίνακα.

Πέρα από την αποθήκευση τιμών, το VB.Net παρέχει ενσωματωμένες συναρτήσεις που μετατρέπουν μεταξύ συμβολοσειρών και πινάκων. Η πρώτη από αυτές είναι η συνάρτηση Split.

Η λειτουργία διαχωρισμού

Η συνάρτηση split που παρέχεται από το Visual Basic .NET μας βοηθά να διαιρέσουμε μια συμβολοσειρά σε μέρη και να τα διατηρήσουμε σε έναν πίνακα. Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε αυτήν τη συνάρτηση:

Βήμα 1) Δημιουργήστε μια νέα εφαρμογή κονσόλας.

Βήμα 2) Προσθέστε τον ακόλουθο κώδικα στην εφαρμογή:

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) Εκτελέστε τον κώδικα κάνοντας κλικ στο κουμπί Έναρξη από τη γραμμή εργαλείων. Θα πρέπει να εμφανιστεί το ακόλουθο παράθυρο:

Η λειτουργία διαχωρισμού

Έχουμε χρησιμοποιήσει τον ακόλουθο κώδικα:

Η λειτουργία διαχωρισμού

Επεξήγηση του Code:

  1. Δημιουργία μιας ενότητας με το όνομα Module1.
  2. Έναρξη της κύριας υποδιαδικασίας.
  3. Δημιουργία πίνακα με το όνομα myarray για τη διατήρηση των τιμών συμβολοσειράς.
  4. Δημιουργία μιας μεταβλητής συμβολοσειράς με το όνομα guru99.
  5. Δημιουργία ακέραιας μεταβλητής με όνομα x.
  6. Εκχώρηση συμβολοσειράς στη μεταβλητή guru99.
  7. Διαχωρισμός της παραπάνω συμβολοσειράς σε μέρη και τοποθέτησή τους στον πίνακα που ονομάζεται myarray. Το “,” (κόμμα) είναι ο οριοθέτης, επομένως η συνάρτηση διαχωρισμού θα το χρησιμοποιήσει για να επισημάνει το τέλος των διαφόρων τμημάτων της συμβολοσειράς.
  8. Χρησιμοποιώντας τη μεταβλητή x για επανάληψη μέσω του πίνακα που ονομάζεται myarray. Το LBound και το UBound καθορίζουν τα κάτω και τα άνω όρια του πίνακα, αντίστοιχα.
  9. Εκτύπωση των τιμών του πίνακα με το όνομα myarray στην κονσόλα.
  10. Τερματισμός του βρόχου for.

Η συνάρτηση Join

Η συνάρτηση join μας βοηθά να ενώσουμε πολλούς πίνακες σε μία μόνο συμβολοσειρά. Το παρακάτω παράδειγμα αποδεικνύει αυτό:

Βήμα 1) Ξεκινήστε δημιουργώντας μια νέα εφαρμογή κονσόλας.

Βήμα 2) Προσθέστε τον ακόλουθο κώδικα στην εφαρμογή:

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) Εκτελέστε τον κώδικα κάνοντας κλικ στο κουμπί Έναρξη στη γραμμή εργαλείων:

Η συνάρτηση Join

Έχουμε χρησιμοποιήσει τον ακόλουθο κώδικα:

Η συνάρτηση Join

Επεξήγηση του Code:

  1. Δημιουργία μιας ενότητας με το όνομα Module1.
  2. Δημιουργία της κύριας υποδιαδικασίας.
  3. Δημιουργία πίνακα με το όνομα Students για να περιέχει 3 τιμές συμβολοσειρών.
  4. Προσθήκη του ονόματος John στο ευρετήριο 0 του πίνακα.
  5. Προσθήκη του ονόματος Alice στο ευρετήριο 1 του πίνακα.
  6. Προσθήκη του ονόματος Antony στο ευρετήριο 2 του πίνακα.
  7. Καθορισμός μεταβλητής με όνομα συμμαθητές τύπου δεδομένων συμβολοσειράς.
  8. Συνένωση όλων των στοιχείων του πίνακα μαθητών και διαχωρισμός τους χρησιμοποιώντας ένα , (κόμμα). Το αποτέλεσμα αυτής της λειτουργίας θα αντιστοιχιστεί στη μεταβλητή συμμαθητές.
  9. Εκτύπωση των περιεχομένων της μεταβλητής συμμαθητών στην κονσόλα.
  10. Παύση του παραθύρου της κονσόλας σε αναμονή για τον χρήστη να προβεί σε ενέργειες για να το κλείσει.
  11. Τερματισμός της κύριας υποδιαδικασίας.
  12. Τερματισμός της ενότητας.

Συχνές Ερωτήσεις

Ναι. Κάθε πίνακας VB.Net ξεκινά από το ευρετήριο 0, επομένως το πρώτο στοιχείο βρίσκεται στο ευρετήριο 0 και το τελευταίο στο ευρετήριο n μείον 1. Το κάτω όριο είναι πάντα 0 και δεν μπορεί να αλλάξει.

Χρησιμοποιήστε την ιδιότητα Length, η οποία επιστρέφει τον συνολικό αριθμό στοιχείων, για παράδειγμα nums.Length. Η συνάρτηση UBound επιστρέφει τον υψηλότερο δείκτη και επειδή οι πίνακες ξεκινούν από τον δείκτη 0, το UBound ισούται με Length μείον ένα.

Καλέστε την κοινόχρηστη μέθοδο Array.Sort και περάστε τον πίνακα, για παράδειγμα Array.Sort(nums). Αναδιατάσσει τα στοιχεία σε αύξουσα σειρά στη θέση τους. Χρησιμοποιήστε τον πίνακα.Reverse στη συνέχεια, να ταξινομήσετε τα ίδια στοιχεία κατά φθίνουσα σειρά.

Ένας πολυδιάστατος ή ορθογώνιος πίνακας αποθηκεύει δεδομένα σε γραμμές και στήλες χρησιμοποιώντας ένα κόμμα μέσα στις παρενθέσεις, όπως Dim grid(2, 3) As Integer. Κάθε γραμμή περιέχει τον ίδιο αριθμό στοιχείων.

Ένας οδοντωτός πίνακας είναι ένας πίνακας του οποίου τα στοιχεία είναι τα ίδια πίνακες, επομένως κάθε γραμμή μπορεί να περιέχει διαφορετικό αριθμό στοιχείων. Δηλώνεται με δύο σύνολα παρενθέσεων, όπως Dim data()() As Integer.

Ένας πίνακας έχει ένα σταθερό μέγεθος μόλις δημιουργηθεί και χρειάζεται το ReDim για να αλλάξει το μέγεθός του. Μια Λίστα(Of T) μεγαλώνει και συρρικνώνεται αυτόματα και προσφέρει μεθόδους Προσθήκης, Αφαίρεσης και Ταξινόμησης, διευκολύνοντας την εργασία όταν ο αριθμός των στοιχείων αλλάζει συχνά.

Ναι. Το GitHub Copilot μετατρέπει ένα σχόλιο σε απλά αγγλικά σε πλήρη κώδικα πίνακα, συμπεριλαμβανομένων δηλώσεων Dim, αλλαγής μεγέθους ReDim και κλήσεων Split ή Join. Να ελέγχετε πάντα κάθε πρόταση για σωστά ευρετήρια και τύπους δεδομένων πριν την αποδεχτείτε.

Ναί. Visual Studio 2026 ζεύγη GitHub Copilot με IntelliCode για αυτόματη συμπλήρωση βρόχων πινάκων, επισήμανση ευρετηρίων εκτός εύρους καθώς πληκτρολογείτε και πρόταση της σωστής μεθόδου πίνακα, μειώνοντας τα σφάλματα χρόνου εκτέλεσης πριν εκτελέσετε το πρόγραμμα.

Συνοψίστε αυτήν την ανάρτηση με: