Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DIFFÉRENCE ENTRE "BYREF" ET "BYVAL"


Information sur le tutorial

Catégorie :Trucs & Astuces Tutorial .NET ( DotNet ) Date de création : 11/07/2005 04:06:15 Vu : 9 019 fois

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


Description

Dans ce petit tutorial je vais essayer de parler sur la différence entre "ByVal" et "ByRef" qui peut être inconnu (disant le sens de chaque mot clé) par plusieurs

Tutorial

 


              

 Présentation     

            Dans nos fonction qui acceptent des paramètres on passe souvent ces paramètres sans faire attention de la façon avec laquelle on les passe, est ce que par valeur (ByVal) ou bien par référence (ByRef) et pourtant c'est quelque chose très important de choisir entre les passés "ByVal" ou bien "ByRef" puisque ça peut changer beaucoup de change et c'est ce qu on va voir au cours de ce tutorial et on va essayer de répondre de quelque questions genre de "c'est quoi la différence entre "ByVal" et "ByRef"? et ce qu ils peuvent être remplaçable? et on vas parcourir à un exemple qui va éclaircir tout ça

     

      ByVal : Par Valeur :

      

            Passer une variable à une fonction quelconque par valeur veux dire qu'on passe juste un copie de cette variable ou bien plus précisément sa valeur qui peut être traiter par la fonction de plusieurs façon soit assigné sa valeur à une autre variable soit l utiliser d'une autre façon, mais on peut jamais changer sa valeur puisque même si on affecte une modification au variable la modification ne sera effectué que sure la variable local du fonction et non pas sur la variable principale qui a été passer comme paramètre à notre fonction.

 

 

    ByRef : Par Référence :

         

              Passer une variable à une fonction par référence permet a cette fonction d'affecter des modification à cette variable (c'est à dire la variable principale également) et ça peut être utiliser par exemple dans une Sub qui ne renvoi pas de valeur mais juste affecte des opération sur les variables passer , on va voir un exemple pour bien comprendre la notion  de ces deux mot clé

         Si on a une fonction qui peut accepter que ses paramètres soit passer ByVal alors on peut utiliser a la place de ByVal le mot clé ByRef mais le contraire ne peut pas être valide parce que si une fonction demande qu'une variable soit y passer en tant que référence alors elle veux l'affecter une nouvelle valeur ce qui ne peut pas être faite si la variable et passer par valeur

 

      Exemple

               Dans cette exemple on va crée une Sub qui n aura pas de valeur à renvoyer bien sure ce SUB aura le nom SWAP ça fonction et de donner la valeur de X à Y et la valeur de Y à X ...

         La Déclaration du SUB sera comme ca :

                  Public Sub SWAP(ByRef X As Integer, ByRef Y As Integer)
                            Dim Tmp As Integer
                             Tmp = X
                             X = Y
                             Y = Tmp
                  End Sub

           Ici on déclare les paramètres par référence

            L'appel du SUB sera :

                     Dim X As Integer = 10
                     Dim Y As Integer = 20
                     SAWP(X, Y)
                     Msgbox " X Value = " & X & VbCrlf & " Y Value = " & Y
    on a  bien passer à la fonction SWAP deux variable qui son (X=10 et Y=20) alors la SUB SWAP va alors changer la valeur de ces deux variable alors le MsgBox affichera :

               X Value = 20
               Y Value = 10
alors les valeurs des variables principaux passés au fonction SWAP ont été changer

mais si on écrit "ByVal" à la place de "ByRef" le MsgBox affichera :
               X Value = 10
               Y Value = 20

Alors la fonction ne changera pas les valeurs des variables

P.S : ce truc et valable pour VB.NET et également pour le VB 6

Aller c'est tout :)

 

signaler à un administrateur
Commentaire de Lucyberad le 31/07/2005 23:53:38

salut,
c bien tu repond au sujet mais il a deja été traité avant:
http://vbfrance.com/tutorial.aspx?ID=4
voila
@+
Lucyberad

signaler à un administrateur
Commentaire de andregoub le 12/05/2006 21:51:07

merci pour ton tutorial il est bien pour nous les débutants

signaler à un administrateur
Commentaire de mr_youness le 27/10/2006 23:35:28

salut,
c bien  Merci

signaler à un administrateur
Commentaire de pico57 le 23/04/2007 14:05:58

Le sujet est interressant mais pour un tutorial, tu aurais vraiment pu faire des efforts d'orthographe, il y a vraiment des fautes a chaques lignes.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.