begin process at 2008 08 22 03:07:30
1 229 759 membres
30 nouveaux aujourd'hui
14 267 membres club

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 : 6 980 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

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS