begin process at 2010 03 22 09:31:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Variable de type String


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Variable de type String

mercredi 14 juin 2006 à 15:25:13 | Variable de type String

Red_Dragon

En tout premier, je demande indulgence auprès des programmeurs expérimentés car j'ai une question qui les fera certainement sourire. En second, je remercie ces mêmes programmeurs pour l'aide qu'ils apporteront à un débutant.

Si j'ai bien tout compris, les variables sont réparties en deux catégories : les variables de type 'par valeur' et les variables de type 'par référence'. La différence de fonctionnement entre les deux me parait claire. Par contre (si j'ai toujours bien compris), la variable de type String se classe dans la catégorie des variable de type 'par référence' (peut se vérifier facilement avec la fonction IsReference) mais fonctionne comme une variable de type 'par valeur'.

Quelqu'un peut il m'expliquer ce cas particulier ?
Y a t il une subtilité sur les variables String ?
Faut il simplement considérer que c'est comme cela et qu'il n'y a pas de question à se poser ?

D'avance merci pour votre compréhension.  

mercredi 14 juin 2006 à 15:40:06 | Re : Variable de type String

nborges

Salut,

le type des variable ne veulent pas dire qú´un type est reference ou pas..

tu peux utilizer la string par valeur ou par reference,

la diference est que qd tu passe par valeur une variable, si tu la change dans la fonction ou dans la sub, cela ne sera valable qd dans la même function, par contre si tu la passe par reference, tous les changement efectué dans la function serão visible après.

exemple:

private sub exemple()
   dim X as string

   x=""
   teste(X)
'aprés teste, X=""
   teste1(X)
'aprés teste1, X= teste1
end sub

public sub teste(byval x as string)
   x= teste
end sub

public sub teste1(byref x as string)
   x= teste1
end sub
cela functione de la meme amniere avec d´autre type..

j´espère avoir repondu a ta kestion

[8D]
mercredi 14 juin 2006 à 15:46:25 | Re : Variable de type String

Renfield

Administrateur CodeS-SourceS
la Classe String est, par nature (classe...) une variable de type réference.

Renfield
Admin CodeS-SourceS - MVP Visual Basic
mercredi 14 juin 2006 à 17:36:11 | Re : Variable de type String

Red_Dragon

>nborges : merci de ta réponse, mais elle ne correspond pas exactement à la question que je me posais. Je me suis mal exprimé. Je vais préciser si tu veux bien.

J'ai bien compris la différence entre un "ByVal" et un "ByRef" dans un appel de procédure ou fonction.
Mais comme l'a dit Renfield (merci à lui) la classe String est bien de type référence. Je reviens donc à ma question avec un exemple pour etre plus précis.

Avec des variables de type 'valeur' les variables sont distinctes, c'est à dire :

Dim A,B as Integer
A=1
B=A
A=2

dans ce cas le fait de modifier A ne modifie pas B (A=2 et B=1)

tandis-que pour des variables de type 'référence', on ne travaille plus sur les valeurs mais sur l'adressage (il me semble) donc par exemple avec des tableaux :
Dim A(2)
Dim B(2)

si j'affecte des valeurs différentes dans les deux tableaux
A(0)=1 : A(1)=2 : B(0)=3 : B(1)=4
si ensuite je fais
B=A
et que je change les valeurs du tableau A
A(0)=5 : A(1)=6
les valeurs du tableau B s'en trouvent également modifiées (on pointe sur les mêmes adresses je pense)

Et donc j'en viens à ma question sur la variable String, elle est de type 'référence' mais se comporte comme un type 'valeur', car si je fais
Dim A,B as String
A="un"
B=A
A="deux"
cela ne modifie pas B.

En conclusion : String est de type 'référence' et se comporte comme un type 'valeur'
Je voulais donc savoir si il y avait une explication à cela ? une raison que cela soit ainsi ?

nborges, même si ta réponse ne correspond pas tout à fait à ce que j'attendais, je te remercie du temps consacré, et peut etre pourras tu me donner plus de précision, merci à toi
Peut etre que je me pose une question inutile en fait... mais je cherche à comprendre

 

 

mercredi 14 juin 2006 à 18:53:55 | Re : Variable de type String

chimi

en fait on appelle ce procede appel des valeurs
tu peus appeller par valeur ou reference
par valeur on te renvois la valeur de variable x intact
mais par adresse tu peux la modifier je vais te passer quelques exemple en pascal la semaine prochaine


Cette discussion est classée dans : variables, variable, string, type, programmeurs


Répondre à ce message

Sujets en rapport avec ce message

type de variable [ par Vincentsoft ] SalutEst ce que quelqu'un pourrai m'expliquer l'histoire du string*n car je n'ai pas très bien compris et j'en aurai besoin.Dim MaVar as string * nn é convertion string en date [ par ucorsu ] je possede une variable l_date qui est une string su type :06/03/2003 16:15:23et je voudrai la mettre dans une variable l_cur_date qui est du type dat convertion de type de variable [ par calimero93 ] bonjour je voudrais stocké la date de modification d'un fichier dans un variable pb : il ne veut pas l'icorporé dans la variable qui est de type Strin transformer une variable double en string [ par codefree ] Salut à tous,pas moyen de retomber sur la méthode pour transformer une variable de type double en variable de type String. Du moins il me semble que String et form [ par ansdodou ] Salut Je voudrai avoir unh exemple de code qui permettrait de faire pour passer le contenue d'une variable de type string dans une variable de type f Declarer une variable [ par thejell1 ] Bonjour, Je cherche a declarer une variable, dont je ne connais pas a priori le type. Cela peut etre un entier, un string... Mais je ne veux pas util Help me! probleme lors de déclaration de variable globale de type string [ par pier0 ] Bien voila,j'ai réalisé sous Vb un programme composé de plusieurs modules eux meme réalisant differentes fonctions.J'ai structuré mon programme en uti Variable string [ par eja1968 ] Bonjour les pros,J'ai créé une macro VB Word2000 ou j'utilise une variable de type string, jusqu'à présent pas de probleme, aujourd'hui je dois manipu Variable de type : string [ par dbiare ] Salut J’ai un petit problème… Je bosse sous Visual C++6 et je dois déclarer une variable de type string (la classe et carrément longue et compliquée Affecter une variable définie par l'utilisateur à un variant [ par skirby ] Bonjour tout le monde,j'aurais voulu savoir si il était possible d'affecter une variable dont j'ai défini le type à une variable de type variant.Mon b


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales