IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

déclaration et indexation des tableaux


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut déclaration et indexation des tableaux
    Bonsoir tout le monde,

    Je suis en train de faire un tuto pour apprendre le VB net, mais j'ai quelques problèmes à comprendre la logique au niveau de l'indexation notamment des tableaux. Voici ce que j'ai dans mon tuto concernant les tableaux :

    En VB, pour un vecteur déclaré avec une
    dimension (N), le premier élément a l’indice 0, le deuxième a l’indice 2, le troisième a l’indice 3, le dernier à l'indice N.

    Syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim NomVecteur(N) As TypeVecteur
    Cette instruction déclare un vecteur NomVecteur de taille N+1.
    Pour accéder au ième élément du vecteur, il faut préciser l’indice entre parenthèses comme suit : , i doit être
    compris dans l’intervalle [0, N].
    C'est pas vraiment très clair et je ne comprends pas la logique de cette indexation.

    -> Déjà Dim NomVecteur(N) ... donne un tableau de taille N+1 et non N .... ---> Ensuite le premier indice est 0 le deuxieme 2, le troisieme 3,..., le Nieme N (même pas d'indice 1 ...)
    -> Finalement pour accéder à une valeur, faut faire NomVecteur(i-1) avec i appartenant a [0,N] donc en gros on peut écrire NomVecteur(-1)...

    (je comprends pas en plus car le premier indice est censé etre 0, le 2eme 2 ... alors qu'avec la méthode pour accéder aux valeurs, c'est -1, 0.... )

    J'éspère que vous pourrez m'éclairer !

    Merci !

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim NomVecteur(N) As TypeVecteur
    Ca crée un table de taille N+1

    Les indices vont de 0 à N
    1er element : NomVecteur(0)
    2eme element : NomVecteur(1)
    etc

  3. #3
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Merci beaucoup meziantou !

    Donc en gros ce qui est marqué dans le tuto est faux :p

    Merci en tout cas

    Sinon, peux-ton en VB net écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim TabInitial(1 To 12) As Single
    pour éviter d'avoir à déclarer un tableau de taille 12 avec comme indice 0 à 11 ... ?

    Merci !

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 250
    Par défaut
    Ceci est faux
    dimension (N), le premier élément a l’indice 0, le deuxième a l’indice 2, le troisième a l’indice 3, le dernier à l'indice N.
    C'est
    dimension (N), le premier élément a l’indice 0, le deuxième a l’indice 1, le troisième a l’indice 2, le dernier à l'indice N.


    Sinon, peux-ton en VB net écrire :
    Code :
    Dim TabInitial(1 To 12) As Single
    pour éviter d'avoir à déclarer un tableau de taille 12 avec comme indice 0 à 11 ... ?
    Non, en .Net, l'indice d'un tableau, d'une liste, d'une collection, .... commence obligatoirement à 0
    par contre tu peux écrire Dim TabInitial(0 to 11) as single

  5. #5
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Merci beaucoup sevyc64 je comprends mieux

    Je reposterais si j'ai un problème !

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compréhension de l'index des tableaux de String
    Par zooffy dans le forum ASP.NET
    Réponses: 20
    Dernier message: 24/02/2011, 09h40
  2. [OpenOffice][Texte] mettre à jour l'index des tableaux
    Par Invité dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 05/10/2009, 13h32
  3. [MySQL] utilité d'indexation des tableaux
    Par fraisa1985 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/07/2008, 13h46
  4. z-index dans des tableaux
    Par mLk92 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 11/12/2007, 17h21
  5. Traitement des tableaux de word avec VBA: balise index
    Par Invité dans le forum VBA Word
    Réponses: 20
    Dernier message: 29/11/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo