Tableaux à une dimension : les listes.
Le type du tableau est imposé à tous ses éléments (un tableau ne pourra stocker que des entiers). Voici un tableau de taille six (d'indice 0 à 5) :
 Dim NomTableau(5) As Integer
Cette déclaration engendre la création de cet objet :
Que l'on peut parcourir ainsi : NomTableau(0), NomTableau(1)..., NomTableau(10).
Pour assigner des valeurs pendant la déclaration on crée une instance de la classe du type (ici ) :
 Module Module1
 Sub Main()
 ' Affichage du tableau déclaré
 For ligne = 0 To UBound(NomTableau)
 Console.WriteLine(NomTableau(ligne))
 Next
 Console.ReadLine()
 End Sub
 End Module 
Voici un autre exemple avec une instance de dont les valeurs sont attribuées ensuite :
 Dim NomTableau As System.Array
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "b"
 NomTableau(2) = "c"
 NomTableau(3) = "d"
 ' Affichage du tableau déclaré
 For ligne = 0 To NomTableau.Length
 Console.WriteLine(NomTableau(ligne))
 Next
 Console.ReadLine()
Pour afficher tous les éléments du tableau d'un coup on utilise un énumérateur :
 Dim En As System.Collections.IEnumerator
 Dim NomTableau As System.Array
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "d"
 NomTableau(2) = "b"
 NomTableau(3) = "c"
 ' Affichage du tableau déclaré
 En = NomTableau.GetEnumerator
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
Classer le tableau :
 Dim NomTableau As System.Array
 Dim En As System.Collections.IEnumerator
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "d"
 NomTableau(2) = "b"
 NomTableau(3) = "c"
 En = NomTableau.GetEnumerator
 Console.WriteLine("Avant classement")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Array.Sort(NomTableau)
 En = NomTableau.GetEnumerator
 Console.WriteLine("Après classement")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
Classer le tableau par ordre décroissant :
 Module Module1
 Sub Main()
 Dim NomTableau As System.Array
 Dim En As System.Collections.IEnumerator
 Dim DescSortCompare = New DescSortCompareClass
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "d"
 NomTableau(2) = "b"
 NomTableau(3) = "c"
 En = NomTableau.GetEnumerator
 Console.WriteLine("Avant classement décroissant")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Array.Sort(NomTableau, DescSortCompare)
 En = NomTableau.GetEnumerator
 Console.WriteLine("Après classement décroissant")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
 End Sub
 Public Class DescSortCompareClass
 Implements IComparer
 Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
 Return x > y
 End Function
 End Class
 End Module 
Renverser le tableau :
 Dim NomTableau As System.Array
 Dim En As System.Collections.IEnumerator
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "d"
 NomTableau(2) = "b"
 NomTableau(3) = "c"
 En = NomTableau.GetEnumerator
 Console.WriteLine("Avant renversement du tableau")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Array.Reverse(NomTableau)
 En = NomTableau.GetEnumerator
 Console.WriteLine("Après renversement du tableau")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
Une autre façon de classer de façon décroissante est de renverser le tableau croissant :
 Dim NomTableau As System.Array
 Dim En As System.Collections.IEnumerator
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau(0) = "a"
 NomTableau(1) = "d"
 NomTableau(2) = "b"
 NomTableau(3) = "c"
 En = NomTableau.GetEnumerator
 Console.WriteLine("Avant classement décroissant")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Array.Sort(NomTableau)
 Array.Reverse(NomTableau)
 En = NomTableau.GetEnumerator
 Console.WriteLine("Après classement décroissant")
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
La ligne codice_1 impose d'utiliser codice_2 pour affecter des valeurs aux tableaux :
 Option Strict On
 Module Module1
 Sub Main()
 Dim NomTableau As System.Array
 Dim En As System.Collections.IEnumerator
 NomTableau = System.Array.CreateInstance(GetType(String), 4)
 NomTableau.SetValue("a", 0)
 NomTableau.SetValue("d", 1)
 NomTableau.SetValue("b", 2)
 NomTableau.SetValue("c", 3)
 For ligne = 0 To NomTableau.Length - 1
 Console.WriteLine(NomTableau(ligne))
 Next
 Console.ReadLine()
 End Sub
 End Module
Tableaux à plusieurs dimensions.
On peut déclarer des tableaux 2D, 3D, 4D etc.
 ' Tableau 2D aux coordonnées (X, Y)
 Dim NomTableau2D(2, 2) As Integer
Cela génère cet objet :
Pour le parcourir on peut utiliser des boucles imbriquées, ou bien un énumérateur :
 Dim En As System.Collections.IEnumerator
 Dim NomTableau2D(2, 1) As String
 NomTableau2D(2, 0) = "3"
 NomTableau2D(2, 1) = "c"
 NomTableau2D(1, 0) = "2"
 NomTableau2D(1, 1) = "b"
 NomTableau2D(0, 0) = "1"
 NomTableau2D(0, 1) = "a"
 ' Affichage du tableau déclaré
 En = NomTableau2D.GetEnumerator
 Do While En.MoveNext
 Console.WriteLine(En.Current())
 Loop
 Console.WriteLine("Presser entrée pour continuer...")
 Console.ReadLine()
Le résultat sera :
 1
 a
 2
 b
 3
 c
 Presser entrée pour continuer...
Méthodes de manipulation de tableaux.
Exemple :
 Module Module1
 Sub Main()
 Dim NomTableau() As String = Split("lorem ipsum dolor sit", " ")
 Console.WriteLine(NomTableau(1)) ' affiche "ipsum"
 NomTableau(4) = "amet"
 Dim ContenuTableau As String = String.Join(" ", NomTableau)
 Console.WriteLine(ContenuTableau)
 Dim SousTableau = Filter(NomTableau, "o", True, CompareMethod.Text)
 Console.WriteLine(String.Join(" ", SousTableau)) ' affiche les mots contenant des "o"
 Console.ReadLine()
 End Sub
 End Module

Programmation Visual Basic .NET/Conditions