OVH Cloud OVH Cloud

Declaration Dim as String

15 réponses
Avatar
phil.chappuis
Bonjour,

Je débute avec .Net et je cherche des explications sur la différences
entre ces 2 déclarations, que l'on peut trouver dans des exemples
Microsoft :

Dim s as string()

et Dim s() as string

La première forme est par exemple utilisée dans l'exemple de
GetDateTimeFormats :

Dim d as DateTime = Now()
Dim s as String()=d.GetDateTimeFormats()

Merci de m'aider

10 réponses

1 2
Avatar
Zoury
Salut Philippe!


Dim s as string()
et Dim s() as string




La première syntaxe est nouvellement acceptée en VB. Elle représente plus la
forme .NET d'une déclaration de tableau.
La deuxième est la bonne vieille syntaxe VB6 pour déclarer un tableau.

Donc en gros les deux syntaxes donnent le même résultat.



--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
LE TROLL
Ah ben dis donc, j'en apprends là, à voir comme ça, on
serait tenté d'indicer "string()", et encore, en "ReDim",
mais bon, tu justifies ton salaire de MVP après tout :o)
lol...
--------

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le
message de news:
Salut Philippe!


Dim s as string()
et Dim s() as string




La première syntaxe est nouvellement acceptée en VB. Elle
représente plus la
forme .NET d'une déclaration de tableau.
La deuxième est la bonne vieille syntaxe VB6 pour déclarer
un tableau.

Donc en gros les deux syntaxes donnent le même résultat.



--
Cordialement
Yanick
MVP pour Visual Basic




Avatar
Jean-Marc
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
Salut Philippe!


> Dim s as string()
> et Dim s() as string


La première syntaxe est nouvellement acceptée en VB. Elle représente plus


la
forme .NET d'une déclaration de tableau.
La deuxième est la bonne vieille syntaxe VB6 pour déclarer un tableau.

Donc en gros les deux syntaxes donnent le même résultat.



Hello,

Si je puis me permettre,
Dim s() as String
n'est pas la "bonne vieille méthode" pour déclarer un tableau.

Cette forme ne peut être utilisée que dans des contextes bien précis,
par exemple pour stoker le résultat d'un split comme dans:
s = Split("COUCOU LES AMIS", " ")

La "bonne vieille méthode" pour déclareer un tableau, c'est:

Dim Tableau(10) as String

où 10 représente ici le plus grand indice possible, l'indice du
bas dépendant de Option base.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Jacques
Jean-Marc a écrit :
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:

Salut Philippe!



Dim s as string()
et Dim s() as string




La première syntaxe est nouvellement acceptée en VB. Elle représente plus



la

forme .NET d'une déclaration de tableau.
La deuxième est la bonne vieille syntaxe VB6 pour déclarer un tableau.

Donc en gros les deux syntaxes donnent le même résultat.




Hello,

Si je puis me permettre,
Dim s() as String
n'est pas la "bonne vieille méthode" pour déclarer un tableau.

Cette forme ne peut être utilisée que dans des contextes bien précis,
par exemple pour stoker le résultat d'un split comme dans:
s = Split("COUCOU LES AMIS", " ")

La "bonne vieille méthode" pour déclareer un tableau, c'est:

Dim Tableau(10) as String

où 10 représente ici le plus grand indice possible, l'indice du
bas dépendant de Option base.




Il n'est pas toujours possible de savoir à l'avance le nombre d'éléments
nécessaire dans un tableaux, donc AMHA les deux se valent. D'autant plus
que c'est un classique d'avoir des erreurs 'Indice en dehors de la
plage', quand on a sous-dimensionné un tableau. :-)

--
Cordialement,

Jacques.
Avatar
Zoury
> Si je puis me permettre,
Dim s() as String
n'est pas la "bonne vieille méthode" pour déclarer un tableau.



d'accord, j'admet avoir manquer de précision dans les termes choisit. :O)

Dim s() As String, est la bonne vieille *syntaxe* employer pour déclarer un
tableau *dynamique* sous VB 6.

car ceci :
Dim Tableau(10) as String



déclare un tableau de taille fixe.


Voilà pour les précisions. ;O)

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Jean-Marc
"Jacques" a écrit dans le message de
news:
Jean-Marc a écrit :
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
> news:
>
>>Salut Philippe!
>>
>>
>>
>>>Dim s as string()
>>>et Dim s() as string
>>
>>
>>La première syntaxe est nouvellement acceptée en VB. Elle représente


plus
>
> la
>
>>forme .NET d'une déclaration de tableau.
>>La deuxième est la bonne vieille syntaxe VB6 pour déclarer un tableau.
>>
>>Donc en gros les deux syntaxes donnent le même résultat.
>
>
> Hello,
>
> Si je puis me permettre,
> Dim s() as String
> n'est pas la "bonne vieille méthode" pour déclarer un tableau.
>
> Cette forme ne peut être utilisée que dans des contextes bien précis,
> par exemple pour stoker le résultat d'un split comme dans:
> s = Split("COUCOU LES AMIS", " ")
>
> La "bonne vieille méthode" pour déclareer un tableau, c'est:
>
> Dim Tableau(10) as String
>
> où 10 représente ici le plus grand indice possible, l'indice du
> bas dépendant de Option base.
>

Il n'est pas toujours possible de savoir à l'avance le nombre d'éléments
nécessaire dans un tableaux, donc AMHA les deux se valent. D'autant plus
que c'est un classique d'avoir des erreurs 'Indice en dehors de la
plage', quand on a sous-dimensionné un tableau. :-)




Hello,

Oui ok, mais je veux simplment dire que la première forme
ne marche que dans des cas très particuliers.
Dans le cas général ça ne marche pas:

Essaie ceci:

Dim s() as String

s(1)="COUCOU"

=> pas de chance :-)

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Jean-Marc
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
> Si je puis me permettre,
> Dim s() as String
> n'est pas la "bonne vieille méthode" pour déclarer un tableau.

d'accord, j'admet avoir manquer de précision dans les termes choisit. :O)

Dim s() As String, est la bonne vieille *syntaxe* employer pour déclarer


un
tableau *dynamique* sous VB 6.

car ceci :
> Dim Tableau(10) as String

déclare un tableau de taille fixe.


Voilà pour les précisions. ;O)



J'avais tout à fait compris. Je donnais la précision
uniquement pour ne pas semer la confusion dans
l'esprit de l'auteur du premier post de ce thread :-)

Cordialement,

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
ng
> Essaie ceci:

Dim s() as String

s(1)="COUCOU"

=> pas de chance :-)




bah oui mais dans ce cas on mets un redim :)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Jacques
ng a écrit :
Essaie ceci:

Dim s() as String

s(1)="COUCOU"

=> pas de chance :-)





bah oui mais dans ce cas on mets un redim :)



Et pour compléter :

Dim s(10) as string
en tenant compte de Option Base pour le premier indice
ou
Dim s(1 To 10)
ou
Dim s(0 To 9)
pour les adeptes du C où les tableaux commencent à 0 :-)

quand on connait par avance la taille du tableau, sinon

Dim s() as String

Redim s(10)

Redim Preserve s(UBound(s)+1)
pour conserver les valeurs déjà entrés dans le tableau

Et

For i = LBound(s) To Ubound(s)

pour parcourir le tableau sans risque de se planter sur l'indice de
départ et de fin

Mais je dois certainement oublier des trucs :-)


--
Cordialement,

Jacques.
Avatar
LE TROLL
Ben oui, un "ReDim"; parler anglais comme ça tout le temps,
à force le cerveau en prend un coup, forcément...

Dim variable()
ReDim variable(1)
variable(1) = "plus bête qu'une endive cuite :o)"
-----------

"Jean-Marc" a écrit dans
le message de news:
42445d21$0$30165$
"Jacques" a écrit dans
le message de
news:
Jean-Marc a écrit :
> "Zoury" <yanick_lefebvre at hotmail dot com> a écrit
> dans le message de
> news:
>
>>Salut Philippe!
>>
>>
>>
>>>Dim s as string()
>>>et Dim s() as string
>>
>>
>>La première syntaxe est nouvellement acceptée en VB.
>>Elle représente


plus
>
> la
>
>>forme .NET d'une déclaration de tableau.
>>La deuxième est la bonne vieille syntaxe VB6 pour
>>déclarer un tableau.
>>
>>Donc en gros les deux syntaxes donnent le même
>>résultat.
>
>
> Hello,
>
> Si je puis me permettre,
> Dim s() as String
> n'est pas la "bonne vieille méthode" pour déclarer un
> tableau.
>
> Cette forme ne peut être utilisée que dans des
> contextes bien précis,
> par exemple pour stoker le résultat d'un split comme
> dans:
> s = Split("COUCOU LES AMIS", " ")
>
> La "bonne vieille méthode" pour déclareer un tableau,
> c'est:
>
> Dim Tableau(10) as String
>
> où 10 représente ici le plus grand indice possible,
> l'indice du
> bas dépendant de Option base.
>

Il n'est pas toujours possible de savoir à l'avance le
nombre d'éléments
nécessaire dans un tableaux, donc AMHA les deux se
valent. D'autant plus
que c'est un classique d'avoir des erreurs 'Indice en
dehors de la
plage', quand on a sous-dimensionné un tableau. :-)




Hello,

Oui ok, mais je veux simplment dire que la première forme
ne marche que dans des cas très particuliers.
Dans le cas général ça ne marche pas:

Essaie ceci:

Dim s() as String

s(1)="COUCOU"

=> pas de chance :-)

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




1 2