none
Problème avec la méthode GetLength de la classe Array RRS feed

  • Question

  • Bonjour,

     

    Je suis novice en VB et j'essaie de comprendre comment fonctionnent les tableaux. Voici le code que je teste :

     

    Private Sub btnInitialiser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInitialiser.Click

    Dim Semaine() As String = {"Lundi", "Mardi", "Mercredi", _

    "Jeudi", "Vendredi", "Samedi", "Dimanche"}

    'Affiche "Mercredi"

    MessageBox.Show(Semaine(2))

    Dim Semestres(,) As String = {{"Janvier", "Février", "Mars", _

    "Avril", "Mai", "Juin"}, {"Juillet", "Août", _

    "Septembre", "Octobre", "Novembre", "Décembre"}}

    MessageBox.Show("Le nombre d'éléments total est : " & Semestres.Length.ToString)

    MessageBox.Show("Le nombre d'éléments de la première dimension est : " & Semestres.GetLength(0).ToString)

    MessageBox.Show("Le nombre d'éléments de la deuxième dimension est : " & Semestres.GetLength(1).ToString)

    'Affiche "Février"

    MessageBox.Show(Semestres(0, 1))

    'Affiche "Août"

    MessageBox.Show(Semestres(1, 1))

    End Sub

     

    Quand je teste le programme, le résultat de la première dimension est 2 alors qu'il devrait être égal à 6 !!

     

    Quelqu'un peut-il me dire où est le problème.

     

    Merci d'avance

    samedi 6 décembre 2008 19:05

Réponses

  • Bonjour,

     

    en fait il n'y a pas de problème dans votre code.

    Lorsque vous effectuez un GetLength(0) vous demandez le nombre d'éléments de votre dimension 0, et il correspond au nombre de groupes de 6 chaines de caractères que vous avez dans votre tableau, en l'occurence 2 ici, essayez de rajouter un nouveau groupe et vous verrez que votre GetLenght(0) passera à 3.

    Et pour le GetLength(1), il vous donne le nombre d'éléments de votre dimension 1 c'est à dire le nombre d'éléments contenu dans chaque groupe de votre dimension 0, ici 6.

     

    En espérant avoir pu vous aider.

     

    samedi 6 décembre 2008 19:31

Toutes les réponses

  • Bonjour,

     

    en fait il n'y a pas de problème dans votre code.

    Lorsque vous effectuez un GetLength(0) vous demandez le nombre d'éléments de votre dimension 0, et il correspond au nombre de groupes de 6 chaines de caractères que vous avez dans votre tableau, en l'occurence 2 ici, essayez de rajouter un nouveau groupe et vous verrez que votre GetLenght(0) passera à 3.

    Et pour le GetLength(1), il vous donne le nombre d'éléments de votre dimension 1 c'est à dire le nombre d'éléments contenu dans chaque groupe de votre dimension 0, ici 6.

     

    En espérant avoir pu vous aider.

     

    samedi 6 décembre 2008 19:31
  • Merci beaucoup, c'est clair.

     

    A bientôt

     

    samedi 6 décembre 2008 20:55