Simple question de syntaxe...

Résolu
sturtrid Messages postés 133 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 13 juillet 2012 - 5 juin 2009 à 14:14
sturtrid Messages postés 133 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 13 juillet 2012 - 5 juin 2009 à 15:12
Bonjour à tous !

Voilà, je suis tombé sur un bout de code dans lequel un tableau est déclaré avec une syntaxe que je ne connais pas. Peut être un vestige de VB6 ?

La voici :

Dim ints(0To 255) As Integer

Je connais :
Dim ints(255) As Integer
Dim ints() = New Integer(255) {}

L'IDE n'y voit aucun problème et le résultat a l'aire identique à ce que j'aurais mis, mais j'aimerai savoir si il y a une subtilité qui m'échappe...

Merci
++

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 juin 2009 à 14:17
aucune, déclaration légale qui fera fis d'une ligne d'instruction comme:
Option Base 1

on précise que l'indice de départ est 0, rien de plus
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 juin 2009 à 14:20
salut,

un tableau peut très bien être de 10 à 20

écrire 0 to 255 précise juste le lbound de départ, qui est par défaut à 0

nb : en vb6 on peut définir le lbound par défaut dans les déclarations. peut-être aussi en vb.net...
nb : prendre tout de même l'habitude de rester avec des tableaux par défaut commençant à 0
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 juin 2009 à 14:27
Option Explicit


Option Base 
1




Private Sub 
Form_Load()



    Dim a(5) As String
    Dim b(0 To 5) As String
    
    MsgBox LBound(a) & "    " & LBound(b) '=> 0 1

End Sub





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>






il semblerait que OPTION BASE X n'existe plus en dotnet
++
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 juin 2009 à 14:28
'=> 1  0

, vous aurez corrigé ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sturtrid Messages postés 133 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 13 juillet 2012 1
5 juin 2009 à 15:12
Merci Renfield et PCPT !

Syntaxe vestige  de VB6 qui est totalement obsolète en .Net... Car j'ai fait le test et 'Option Base' n'existe pas en .Net, de plus, il est impossible de spécifier une valeur autre que 0 pour le LBound de cette déclaration ! Donc inutile...

Merci encore et bonne continuation...
++
0
Rejoignez-nous