VB.NET

Guide : Manipulation des Tableaux de Chaînes en VB.Net

Un tableau de chaînes en VB.Net est une collection ordonnée d’éléments où chaque élément est une chaîne de caractères. Voici un guide pour comprendre, créer, manipuler et parcourir ces tableaux.


1. Déclaration et Initialisation d’un Tableau de Chaînes

Déclaration simple :

Dim tableau() As String

Initialisation avec des valeurs :

Dim tableau() As String = {"Jean", "Marie", "Paul"}

Déclaration avec une taille fixe :

Dim tableau(4) As String ' Un tableau avec 5 éléments (index 0 à 4)

2. Accès aux Éléments

Les éléments d’un tableau sont accessibles via leur index (commençant à 0).

Exemple :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
MsgBox(tableau(0)) ' Affiche "Jean"
tableau(1) = "Claire" ' Change "Marie" en "Claire"

3. Parcourir un Tableau

Vous pouvez utiliser différentes boucles pour parcourir un tableau.

Boucle For :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
For i As Integer = 0 To tableau.Length - 1
    Console.WriteLine(tableau(i))
Next

Boucle For Each :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
For Each nom As String In tableau
    Console.WriteLine(nom)
Next

4. Opérations Courantes

Ajouter un Élément à un Tableau

Les tableaux en VB.Net ont une taille fixe. Pour ajouter un élément, utilisez la méthode ReDim pour redimensionner le tableau :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
ReDim Preserve tableau(3) ' Redimensionne à 4 éléments tout en conservant les données
tableau(3) = "Claire"

Trouver un Élément dans un Tableau

Utilisez la méthode Array.IndexOf pour trouver l’index d’un élément :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
Dim index As Integer = Array.IndexOf(tableau, "Marie")
MsgBox("Index de Marie : " & index) ' Affiche 1

Vérifier si un Élément Existe

Utilisez la méthode Array.Contains :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
If tableau.Contains("Marie") Then
    MsgBox("Marie est dans le tableau")
End If

Trier un Tableau

Vous pouvez trier un tableau en utilisant Array.Sort :

Dim tableau() As String = {"Paul", "Marie", "Jean"}
Array.Sort(tableau)
For Each nom As String In tableau
    Console.WriteLine(nom) ' Affiche : "Jean", "Marie", "Paul"
Next

Inverser un Tableau

Utilisez Array.Reverse pour inverser l’ordre des éléments :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
Array.Reverse(tableau)
For Each nom As String In tableau
    Console.WriteLine(nom) ' Affiche : "Paul", "Marie", "Jean"
Next

5. Fonctions Utiles avec les Tableaux

Obtenir la Taille du Tableau

Dim tableau() As String = {"Jean", "Marie", "Paul"}
MsgBox("Le tableau contient " & tableau.Length & " éléments")

Convertir un Tableau en Chaîne

Utilisez String.Join pour joindre les éléments d’un tableau en une seule chaîne :

Dim tableau() As String = {"Jean", "Marie", "Paul"}
Dim resultat As String = String.Join(", ", tableau)
MsgBox("Résultat : " & resultat) ' Affiche : "Jean, Marie, Paul"

Séparer une Chaîne en Tableau

Utilisez String.Split pour convertir une chaîne en tableau :

Dim chaine As String = "Jean, Marie, Paul"
Dim tableau() As String = chaine.Split(", ")
For Each nom As String In tableau
    Console.WriteLine(nom)
Next

6. Tableaux Multidimensionnels

Les tableaux de chaînes peuvent également être multidimensionnels.

Déclaration et Initialisation :

Dim tableau(,) As String = {
    {"Jean", "123-456"},
    {"Marie", "789-012"},
    {"Paul", "345-678"}
}

Accès aux Éléments :

Console.WriteLine("Nom : " & tableau(0, 0)) ' Affiche "Jean"
Console.WriteLine("Téléphone : " & tableau(0, 1)) ' Affiche "123-456"

Parcourir un Tableau Multidimensionnel :

For i As Integer = 0 To tableau.GetLength(0) - 1
    Console.WriteLine("Nom : " & tableau(i, 0) & ", Téléphone : " & tableau(i, 1))
Next

7. Limites et Conseils

  1. Taille Fixe : Les tableaux ont une taille fixe une fois déclarés. Pour des collections dynamiques, utilisez List(Of String).
  2. Performance : Les tableaux sont plus rapides mais moins flexibles que les listes ou les autres collections.
  3. Gestion des Indices : Les indices commencent à 0. Faites attention aux erreurs hors limites (IndexOutOfRangeException).

8. Exemple Pratique : Carnet d’Adresses

Voici un programme combinant les concepts ci-dessus pour créer un simple carnet d’adresses :

Module Module1
    Sub Main()
        Dim contacts(,) As String = {
            {"Jean", "123-456"},
            {"Marie", "789-012"},
            {"Paul", "345-678"}
        }

        Dim recherche As String = InputBox("Entrez un nom pour rechercher :")
        Dim trouve As Boolean = False

        For i As Integer = 0 To contacts.GetLength(0) - 1
            If contacts(i, 0) = recherche Then
                MsgBox("Nom : " & contacts(i, 0) & ", Téléphone : " & contacts(i, 1))
                trouve = True
                Exit For
            End If
        Next

        If Not trouve Then
            MsgBox("Contact non trouvé")
        End If
    End Sub
End Module

Comprendre les tableaux de chaînes multidimensionnels dans VB.Net

Un tableau de chaînes multidimensionnel dans VB.Net est une structure de données qui peut stocker des chaînes dans un format de type grille, autorisant des lignes et des colonnes de données. Ces tableaux sont utiles pour traiter des données structurées, telles qu’un tableau d’informations ou une matrice.


Déclaration et initialisation de tableaux multidimensionnels

Déclaration :

Dim array(,) As String

Initialisation avec valeurs :

Dim array(,) As String = {
{"John", "Doe", "123-456"},
{"Jane", "Smith", "789-012"},
{"Sam", "Taylor", "345-678"}
}

Ici:

  • array(0, 0)contient"John"
  • array(1, 2)contient"789-012"

Spécifier explicitement les dimensions :

verbeCopier le codeDim array(2, 1) As String ' 3 rows (0 to 2) and 2 columns (0 to 1)

Accéder aux éléments d’un tableau multidimensionnel

Vous pouvez accéder aux éléments en spécifiant leurs indices de ligne et de colonne.

Exemple :

Dim array(,) As String = {
{"John", "123-456"},
{"Jane", "789-012"}
}

Console.WriteLine(array(0, 0)) ' Output: John
Console.WriteLine(array(1, 1)) ' Output: 789-012

Itération sur des tableaux multidimensionnels

Utilisation de boucles imbriquées :

Pour traiter tous les éléments d’un tableau multidimensionnel :

Dim array(,) As String = {
{"John", "123-456"},
{"Jane", "789-012"}
}

For i As Integer = 0 To array.GetLength(0) - 1 ' Rows
For j As Integer = 0 To array.GetLength(1) - 1 ' Columns
Console.WriteLine(array(i, j))
Next
Next

Utilisation de LINQ :

Pour des requêtes ou des opérations plus complexes, LINQ peut être appliqué aux tableaux.


Opérations courantes

Déterminer la taille du tableau :

verbeCopier le codeDim array(,) As String = {
    {"John", "Doe"},
    {"Jane", "Smith"}
}

Console.WriteLine("Rows: " & array.GetLength(0)) ' Output: 2
Console.WriteLine("Columns: " & array.GetLength(1)) ' Output: 2

Rechercher une valeur :

Rechercher une valeur et trouver sa position :

Dim array(,) As String = {
{"John", "Doe"},
{"Jane", "Smith"}
}

Dim search As String = "Jane"
Dim found As Boolean = False

For i As Integer = 0 To array.GetLength(0) - 1
For j As Integer = 0 To array.GetLength(1) - 1
If array(i, j) = search Then
Console.WriteLine($"Found '{search}' at ({i}, {j})")
found = True
Exit For
End If
Next
If found Then Exit For
Next

If Not found Then
Console.WriteLine($"'{search}' not found")
End If

Redimensionner un tableau multidimensionnel :

Les tableaux multidimensionnels ne peuvent pas être redimensionnés directement. Pour ajouter des données, créez un nouveau tableau plus grand et copiez le contenu de l’ancien tableau.


Cas d’utilisation pratique : gestion des contacts

Voici un exemple pratique où un tableau multidimensionnel est utilisé comme un simple carnet de contacts.

Module Module1
Sub Main()
Dim contacts(,) As String = {
{"John", "Doe", "123-456"},
{"Jane", "Smith", "789-012"},
{"Sam", "Taylor", "345-678"}
}

' Display contacts
Console.WriteLine("Contacts:")
For i As Integer = 0 To contacts.GetLength(0) - 1
Console.WriteLine($"Name: {contacts(i, 0)} {contacts(i, 1)}, Phone: {contacts(i, 2)}")
Next

' Search for a contact by first name
Dim search As String = "Jane"
Dim found As Boolean = False

For i As Integer = 0 To contacts.GetLength(0) - 1
If contacts(i, 0) = search Then
Console.WriteLine($"Found: {contacts(i, 0)} {contacts(i, 1)}, Phone: {contacts(i, 2)}")
found = True
Exit For
End If
Next

If Not found Then
Console.WriteLine($"{search} not found in contacts.")
End If
End Sub
End Module

Avantages des tableaux multidimensionnels

  1. Stockage de données structurées : utile pour les données de type tableau, telles que les lignes et les colonnes.
  2. Facilité d’accès : Accédez aux éléments à l’aide d’indices.
  3. Syntaxe compacte : facile à initialiser et à utiliser pour les petits ensembles de données.

Limites

  1. Taille fixe : impossible d’ajouter dynamiquement des lignes ou des colonnes.
  2. Performances : Des opérations comme le redimensionnement nécessitent la création de nouveaux tableaux, ce qui est moins efficace.
  3. Complexité : pour les données à grande échelle, les tableaux multidimensionnels peuvent devenir encombrants. Envisagez des alternatives telles que List(Of String())des classes personnalisées.

Les tableaux multidimensionnels de VB.Net sont des outils puissants pour la gestion de données structurées. Utilisez-les pour des scénarios tels que des matrices, des tableaux et des grilles pour organiser et traiter les données de manière efficace.

Autres articles

Guide : Trier un Tableau en VB.Net
Trier un tableau en VB.Net consiste à organiser ses éléments...
Read more
Guide : Désérialiser un Tableau JSON avec...
Newtonsoft.Json (ou Json.NET) est une bibliothèque populaire pour la manipulation...
Read more
Guide : Tableaux d’Objets en VB.Net
Un tableau d’objets en VB.Net est une structure de données...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *