Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Jean! :O)
dim String1, String2, String3 as string
ici String1 et String2 sont As Variant.... le type de données le plus lent qui soit en VB.
donc en terme de performance, il vaudrait mieux écrire : '*** Dim String1 As String, String2 As String, String3 As String '*** et en terme de lisibilité, il vaudrait mieux écrire : '*** Dim String1 As String ' ainsi tu Dim String2 As String ' peux placer des commentaires Dim String3 As String ' pour chaque variables '***
Maintenant si on tient compte de mes déclarations (As String) :
c'est deux ligne sont équivalente en temps.. seulement la première syntaxe est préférer lorsque l'on concatène des chaines ensembles afin d'éviter les mauvaises surprises pouvant être causé par des conversions de types implicites. Ce types d'erreur arrive fréquemment avec des déclarations de variables comme celle que tu as postés.
ici le CStr() inutile étant donnée que String1 et String2 sont déjà de type String (avec ma déclaration), si on prend ta déclaration parcontre, on pourrait écrire : '*** String3 = Cstr(String1) & CStr(String2) '*** mais l'utilisation du signe & force la conversion en String automatiquement.. en effet si on reprend l'exemple de tantôt et on remplace + par & : '*** Dim s1, s2 As String
Mais grossièrement, si on évite l'utilisation du type Variant il n'y aura pas beaucoup de variation dans le temps d'exécution des trois syntaxes que tu as proposés. Si tu nous donnes plus de détails sur la raison de ton questionnement nous pourront peut-être te donner d'avantage de conseils..
ici String1 et String2 sont As Variant.... le type de données le plus lent
qui soit en VB.
donc en terme de performance, il vaudrait mieux écrire :
'***
Dim String1 As String, String2 As String, String3 As String
'***
et en terme de lisibilité, il vaudrait mieux écrire :
'***
Dim String1 As String ' ainsi tu
Dim String2 As String ' peux placer des commentaires
Dim String3 As String ' pour chaque variables
'***
Maintenant si on tient compte de mes déclarations (As String) :
c'est deux ligne sont équivalente en temps.. seulement la première syntaxe
est préférer lorsque l'on concatène des chaines ensembles afin d'éviter les
mauvaises surprises pouvant être causé par des conversions de types
implicites. Ce types d'erreur arrive fréquemment avec des déclarations de
variables comme celle que tu as postés.
ici le CStr() inutile étant donnée que String1 et String2 sont déjà de type
String (avec ma déclaration), si on prend ta déclaration parcontre, on
pourrait écrire :
'***
String3 = Cstr(String1) & CStr(String2)
'***
mais l'utilisation du signe & force la conversion en String
automatiquement.. en effet si on reprend l'exemple de tantôt et on remplace
+ par & :
'***
Dim s1, s2 As String
Mais grossièrement, si on évite l'utilisation du type Variant il n'y aura
pas beaucoup de variation dans le temps d'exécution des trois syntaxes que
tu as proposés. Si tu nous donnes plus de détails sur la raison de ton
questionnement nous pourront peut-être te donner d'avantage de conseils..
ici String1 et String2 sont As Variant.... le type de données le plus lent qui soit en VB.
donc en terme de performance, il vaudrait mieux écrire : '*** Dim String1 As String, String2 As String, String3 As String '*** et en terme de lisibilité, il vaudrait mieux écrire : '*** Dim String1 As String ' ainsi tu Dim String2 As String ' peux placer des commentaires Dim String3 As String ' pour chaque variables '***
Maintenant si on tient compte de mes déclarations (As String) :
c'est deux ligne sont équivalente en temps.. seulement la première syntaxe est préférer lorsque l'on concatène des chaines ensembles afin d'éviter les mauvaises surprises pouvant être causé par des conversions de types implicites. Ce types d'erreur arrive fréquemment avec des déclarations de variables comme celle que tu as postés.
ici le CStr() inutile étant donnée que String1 et String2 sont déjà de type String (avec ma déclaration), si on prend ta déclaration parcontre, on pourrait écrire : '*** String3 = Cstr(String1) & CStr(String2) '*** mais l'utilisation du signe & force la conversion en String automatiquement.. en effet si on reprend l'exemple de tantôt et on remplace + par & : '*** Dim s1, s2 As String
Mais grossièrement, si on évite l'utilisation du type Variant il n'y aura pas beaucoup de variation dans le temps d'exécution des trois syntaxes que tu as proposés. Si tu nous donnes plus de détails sur la raison de ton questionnement nous pourront peut-être te donner d'avantage de conseils..
"jean Saint Jalmes" a écrit dans le message de news:273b001c46367$87676ca0$
Bonjour, En terme de performance et de taille du code généré, vaut'il mieux écrire : String3 = String1 & String2 ou : String3 = String1 + String2 ou : String3 = Cstr(String1 & String2) avec :
Hello,
dim String1, String2, String3 as string
Ca surement pas !
Avec Dim String1 as String, String2 as String, String3 as String
alors ok. Sinon, String1 et String2 sont des variants
pour les performances et d'une façon générale: String3 = String1 & String2
"jean Saint Jalmes" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:273b001c46367$87676ca0$a501280a@phx.gbl...
Bonjour,
En terme de performance et de taille du code généré,
vaut'il mieux écrire :
String3 = String1 & String2
ou :
String3 = String1 + String2
ou :
String3 = Cstr(String1 & String2)
avec :
Hello,
dim String1, String2, String3 as string
Ca surement pas !
Avec
Dim String1 as String, String2 as String, String3 as String
alors ok. Sinon, String1 et String2 sont des variants
pour les performances et d'une façon générale:
String3 = String1 & String2
"jean Saint Jalmes" a écrit dans le message de news:273b001c46367$87676ca0$
Bonjour, En terme de performance et de taille du code généré, vaut'il mieux écrire : String3 = String1 & String2 ou : String3 = String1 + String2 ou : String3 = Cstr(String1 & String2) avec :
Hello,
dim String1, String2, String3 as string
Ca surement pas !
Avec Dim String1 as String, String2 as String, String3 as String
alors ok. Sinon, String1 et String2 sont des variants
pour les performances et d'une façon générale: String3 = String1 & String2