En VB.Net, une liste est une collection dynamique qui permet de stocker des objets, de les manipuler facilement, et d’ajouter ou supprimer des éléments sans avoir besoin de redimensionner la structure. Les listes sont définies dans l’espace de noms System.Collections.Generic avec la classe List(Of T).
La classe List(Of T) nécessite un type générique (T) qui définit le type des éléments dans la liste.
Exemple de déclaration :
Dim maListe As New List(Of String) Ici, maListe est une liste de chaînes (String).
Utilisez la méthode Add pour insérer un élément dans la liste.
Exemple :
Dim fruits As New List(Of String)
fruits.Add("Pomme")
fruits.Add("Banane")
fruits.Add("Orange") Pour ajouter plusieurs éléments :
fruits.AddRange(New String() {"Cerise", "Fraise"}) Les éléments d’une liste sont accessibles via leur index (commençant à 0).
Exemple :
Dim fruits As New List(Of String) From {"Pomme", "Banane", "Orange"}
Console.WriteLine(fruits(0)) ' Affiche : Pomme
Console.WriteLine(fruits(2)) ' Affiche : Orange For :Dim fruits As New List(Of String) From {"Pomme", "Banane", "Orange"}
For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next For Each :Dim fruits As New List(Of String) From {"Pomme", "Banane", "Orange"}
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next Dim fruits As New List(Of String) From {"Pomme", "Banane", "Orange"}
fruits(1) = "Mangue" ' Remplace "Banane" par "Mangue"
Console.WriteLine(fruits(1)) ' Affiche : Mangue fruits.Remove("Orange") fruits.RemoveAt(0) ' Supprime "Pomme" fruits.Clear() If fruits.Contains("Pomme") Then
Console.WriteLine("Pomme est dans la liste.")
End If Dim index As Integer = fruits.IndexOf("Orange")
If index <> -1 Then
Console.WriteLine("Orange trouvé à l'index " & index)
Else
Console.WriteLine("Orange n'est pas dans la liste.")
End If Dim fruits As New List(Of String) From {"Orange", "Pomme", "Banane"}
fruits.Sort()
For Each fruit As String In fruits
Console.WriteLine(fruit) ' Affiche : Banane, Orange, Pomme
Next fruits.Reverse()
For Each fruit As String In fruits
Console.WriteLine(fruit) ' Affiche : Pomme, Orange, Banane
Next Les listes peuvent contenir des objets complexes en définissant leur type.
Class Personne
Public Property Nom As String
Public Property Age As Integer
End Class Dim personnes As New List(Of Personne) From {
New Personne With {.Nom = "Jean", .Age = 30},
New Personne With {.Nom = "Marie", .Age = 25}
}
For Each personne As Personne In personnes
Console.WriteLine($"{personne.Nom} a {personne.Age} ans.")
Next Le langage intégré aux requêtes (LINQ) permet d’interroger et de manipuler facilement des listes.
Dim fruits As New List(Of String) From {"Pomme", "Banane", "Orange", "Fraise"}
Dim resultats = From fruit In fruits Where fruit.StartsWith("P") Select fruit
For Each fruit As String In resultats
Console.WriteLine(fruit) ' Affiche : Pomme
Next Dim fruit = fruits.FirstOrDefault(Function(f) f = "Banane")
Console.WriteLine(fruit) ' Affiche : Banane | Aspect | Liste | Tableau |
|---|---|---|
| Taille | Dynamique | Fixe |
| Ajout/Suppression | Facile (Add, Remove) | Impossible |
| Performances | Légèrement plus lentes | Plus rapides |
| Flexibilité | Très flexible | Limité |
Module Module1
Sub Main()
Dim taches As New List(Of String)
While True
Dim choix As String = InputBox("1. Ajouter une tâche" & vbCrLf &
"2. Afficher les tâches" & vbCrLf &
"3. Supprimer une tâche" & vbCrLf &
"4. Quitter")
Select Case choix
Case "1"
Dim tache As String = InputBox("Entrez une nouvelle tâche :")
taches.Add(tache)
Case "2"
Dim listeTaches As String = String.Join(vbCrLf, taches)
MsgBox("Liste des tâches :" & vbCrLf & listeTaches)
Case "3"
Dim tache As String = InputBox("Entrez la tâche à supprimer :")
If taches.Remove(tache) Then
MsgBox("Tâche supprimée.")
Else
MsgBox("Tâche introuvable.")
End If
Case "4"
Exit While
Case Else
MsgBox("Choix invalide.")
End Select
End While
End Sub
End Module Dans VB.Net, un dictionnaire est une collection de paires clé-valeur, où chaque clé est unique et correspond à une valeur spécifique. Les dictionnaires sont très polyvalents et font partie de l’ System.Collections.Genericespace de noms, en utilisant la Dictionary(Of TKey, TValue)classe.
Déclaration de base :
Dim myDictionary As New Dictionary(Of String, String)
Ici:
Stringest le type de la clé.Stringest le type de la valeur.Déclaration avec valeurs initiales :
Dim myDictionary As New Dictionary(Of String, String) From {
{"Key1", "Value1"},
{"Key2", "Value2"},
{"Key3", "Value3"}
}
Utilisez la Addméthode pour ajouter de nouvelles paires clé-valeur.
Exemple :
Dim capitals As New Dictionary(Of String, String)
capitals.Add("France", "Paris")
capitals.Add("Spain", "Madrid")
capitals.Add("Italy", "Rome")
Vous pouvez également utiliser la syntaxe de l’indexeur pour ajouter ou mettre à jour des éléments :
capitals("Germany") = "Berlin" ' Adds a new key-value pair.
capitals("France") = "Marseille" ' Updates the value for the key "France".
Accédez aux valeurs à l’aide de leurs clés.
Exemple :
Dim capitals As New Dictionary(Of String, String) From {
{"France", "Paris"},
{"Spain", "Madrid"}
}
Console.WriteLine(capitals("France")) ' Output: Paris
Pour accéder en toute sécurité à une valeur sans risquer un KeyNotFoundException, utilisez TryGetValue:
Dim value As String
If capitals.TryGetValue("Italy", value) Then
Console.WriteLine(value) ' If found, output the value.
Else
Console.WriteLine("Key not found.")
End If
Utilisez la Removeméthode pour supprimer un élément par sa clé.
capitals.Remove("Spain") ' Removes the key "Spain" and its value.
If capitals.ContainsKey("France") Then
Console.WriteLine("France is in the dictionary.")
End If
If capitals.ContainsValue("Paris") Then
Console.WriteLine("Paris is a capital.")
End If
Vous pouvez parcourir un dictionnaire en utilisant For Each.
Exemple :
Dim capitals As New Dictionary(Of String, String) From {
{"France", "Paris"},
{"Spain", "Madrid"},
{"Italy", "Rome"}
}
For Each kvp As KeyValuePair(Of String, String) In capitals
Console.WriteLine($"Country: {kvp.Key}, Capital: {kvp.Value}")
Next
Console.WriteLine("Total items: " & capitals.Count)
capitals.Clear() ' Removes all key-value pairs.
Vous pouvez obtenir une liste de toutes les clés ou valeurs :
Dim keys As Dictionary(Of String, String).KeyCollection = capitals.Keys
Dim values As Dictionary(Of String, String).ValueCollection = capitals.Values
For Each key As String In keys
Console.WriteLine("Key: " & key)
Next
For Each value As String In values
Console.WriteLine("Value: " & value)
Next
Voici un exemple complet utilisant un dictionnaire pour gérer les notes des étudiants.
Module Module1
Sub Main()
Dim studentGrades As New Dictionary(Of String, Integer)
' Adding students
studentGrades.Add("Alice", 85)
studentGrades.Add("Bob", 90)
studentGrades.Add("Charlie", 78)
' Displaying all students and their grades
Console.WriteLine("Student Grades:")
For Each kvp As KeyValuePair(Of String, Integer) In studentGrades
Console.WriteLine($"{kvp.Key}: {kvp.Value}")
Next
' Updating a grade
studentGrades("Alice") = 88
Console.WriteLine($"Updated grade for Alice: {studentGrades("Alice")}")
' Removing a student
studentGrades.Remove("Charlie")
' Checking if a student exists
If studentGrades.ContainsKey("Bob") Then
Console.WriteLine("Bob is in the dictionary.")
End If
' Final list of students
Console.WriteLine("Final Student Grades:")
For Each kvp As KeyValuePair(Of String, Integer) In studentGrades
Console.WriteLine($"{kvp.Key}: {kvp.Value}")
Next
End Sub
End Module
| Fonctionnalité | Dictionnaire | Liste |
|---|---|---|
| Paire clé-valeur | Oui | Non |
| Efficacité de la recherche | Rapide pour les clés | Recherche linéaire requise |
| Doublons | Les clés doivent être uniques ; les valeurs peuvent être des doublons. | Doublons autorisés |
| Commande | Pas d’ordre spécifique (mais l’ordre d’insertion est conservé). | Conserve les ins |
For Each, TryGetValue, et ContainsKeypour saDeux outils concrets pour piloter la qualité sans alourdir vos équipes Cette page met à…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.