Site:  Cours VB.net  
1.19.7 Contrôle des connaissances.

Collections

 

 

Questions:

 

Si Vb n'accepte pas de créer une collection (exercice 7.1) c'est que l'espace de nom correspondant n'est pas importé.

Il faut écrire tout en haut du module (au dessus de Public Class)  Imports System.Collections

 

7- Collections

 

7.1 Créer une collection de type ListArray nommée 'L', ajouter "Dupont", "Durand", "Dubout" à la collection. Afficher dans une MessageBox le premier élément de la collection puis le dernier. Enlever le second. Si la collection contient "Dubout", ajouter "Toto" à la position où est "Dubout". Créer une boucle qui affiche tous les éléments de la liste.

 

 

 

7.2 Créer une collection nommée 'lst' de génériques List(Of) et contenant des entiers Long. , ajouter 12, 24, 32. Afficher dans une MessageBox le troisième élément.

Créer une boucle pour afficher dans une MessageBox successivement tous les éléments de la liste.

 

 

 

Réponses:

 

7- Collections

 

 

7.1 Créer une collection de type ListArray nommée 'L', ajouter "Dupont", "Durand", "Dubout" à la collection. Afficher dans une MessageBox le premier élément de la collection puis le dernier. Enlever le second. Si la collection contient "Dubout", ajouter "Toto" à la position où est "Dubout". Créer une boucle qui affiche tous les éléments de la liste.

 

Dim L As New ArrayList()           'On crée une collection ArrayList

L.Add("Dupont")                    'On ajoute un élément à la collection

L.Add("Dubout")                    'On ajoute un élément à la collection

L.Add("Durand")                    'On ajoute un élément à la collection

MsgBox(L(0))                       'On affiche le premier élément

MsgBox(L(L.Count-1))               'On affiche le dernier élément 

S'il y a 3 éléments dans la ArrayList ce sont les éléments d'index 0,1,2.

      L.RemoveAt(1)                      'On enlève l’élément d'index 0 de la liste

      If L.Contains ("Dubout") Then    

                  L.Insert( L.IndexOf("Dubout"), "Toto")

     End If

      

 

    Dim Element As Object

    For Each Element in L

      MsgBox( Element )

    Next

 

Bien se souvenir qu'une listeArray contient des Objets. 

Attention Element étant un objet, si je veux l'afficher par exemple, il faut le 'caster' en String:  

Comme on est en option Strict, il ne faut pas écrire L(0).Item mais L(0)

 

7.2 Créer une collection nommée 'lst' de génériques List(Of) et contenant des entiers Long. , ajouter 12, 24, 32. Afficher dans une MessageBox le troisième élément.

Créer une boucle pour afficher dans une MessageBox successivement tous les éléments de la liste.

Dim lst As New List(Of Long)

lst.Add 12

lst.Add 24

lst.Add 32

MsgBox (lst(2))  'affiche 32

For Each l As Long In lst

MsgBox(l)

Next