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
Mehdi
On Fri, 02 Mar 2007 13:52:25 +0100, Sylfelin wrote:
Le fait de faire
string codeClient = (string)dataReader["CT_NUM"];
dans une boucle while (reader.Read()) ne recrée pas la variable à chaque fois ?
Si vu que tu redéclare une nouvelle variable string a chaque tour de boucle. Le fait qu'elle ait le meme nom ne change rien. Le compilateur optimise peut etre ca mais tu n'en sais rien (tu pourrai utiliser ildasm.exe pour voir ce qui se passe au niveau MSIL si ca t'interresse).
Si tu veux réutiliser une variable au sein d'un boucle, il faut la déclarer a l'extérieur de la boucle. Dans ton cas particulier cela dit ca ne changera rien car ta variable est une string et les string sont immutables. Que tu déclare ta string dans la boucle ou a l'extérieur de la boucle, elle sera récrée a chaque affectation de toute facon.
Tout cela n'est pas tres important en tout cas a moins que tu n'ai un probleme de performance et que tu n'ai identifié que le code fautif est la création de cette variable.
On Fri, 02 Mar 2007 13:52:25 +0100, Sylfelin wrote:
Le fait de faire
string codeClient = (string)dataReader["CT_NUM"];
dans une boucle while (reader.Read()) ne recrée pas la variable à
chaque fois ?
Si vu que tu redéclare une nouvelle variable string a chaque tour de
boucle. Le fait qu'elle ait le meme nom ne change rien. Le compilateur
optimise peut etre ca mais tu n'en sais rien (tu pourrai utiliser
ildasm.exe pour voir ce qui se passe au niveau MSIL si ca t'interresse).
Si tu veux réutiliser une variable au sein d'un boucle, il faut la déclarer
a l'extérieur de la boucle. Dans ton cas particulier cela dit ca ne
changera rien car ta variable est une string et les string sont immutables.
Que tu déclare ta string dans la boucle ou a l'extérieur de la boucle, elle
sera récrée a chaque affectation de toute facon.
Tout cela n'est pas tres important en tout cas a moins que tu n'ai un
probleme de performance et que tu n'ai identifié que le code fautif est la
création de cette variable.
On Fri, 02 Mar 2007 13:52:25 +0100, Sylfelin wrote:
Le fait de faire
string codeClient = (string)dataReader["CT_NUM"];
dans une boucle while (reader.Read()) ne recrée pas la variable à chaque fois ?
Si vu que tu redéclare une nouvelle variable string a chaque tour de boucle. Le fait qu'elle ait le meme nom ne change rien. Le compilateur optimise peut etre ca mais tu n'en sais rien (tu pourrai utiliser ildasm.exe pour voir ce qui se passe au niveau MSIL si ca t'interresse).
Si tu veux réutiliser une variable au sein d'un boucle, il faut la déclarer a l'extérieur de la boucle. Dans ton cas particulier cela dit ca ne changera rien car ta variable est une string et les string sont immutables. Que tu déclare ta string dans la boucle ou a l'extérieur de la boucle, elle sera récrée a chaque affectation de toute facon.
Tout cela n'est pas tres important en tout cas a moins que tu n'ai un probleme de performance et que tu n'ai identifié que le code fautif est la création de cette variable.