jeudi 13 juin 2013

ByVal et ByRef en Visual Basic. NET

Le mot ByVal est l'abréviation de "par valeur". Ce que cela signifie, c'est que vous êtes de passage une copie d'une variable à votre sous-routine. Vous pouvez apporter des modifications à la copie et l'original ne sera pas modifié. Si vous avez 2012 VB Net Express puis ByVal est caché. Elle est cachée parce que ByVal est la valeur par défaut lorsque vous passez les variables vers une fonction ou Sub.
ByRef est l'alternative. C'est court pour par référence. Cela signifie que vous n'êtes pas remettre une copie de la variable d'origine, mais en montrant la variable d'origine. Voyons un exemple de codage.
Ajouter un nouveau bouton le formulaire que vous avez créé dans la section précédente. Double-cliquez sur le bouton et ajoutez le code suivant:

Nombre1 As Integer
Nombre1 = 10
Appelez IncrementVariable (nombre1)
MsgBox (nombre1)
Vous aurez une ligne ondulée sous IncrementVariable (nombre1). Pour se débarrasser de lui, ajoutez la sous-routine suivante à votre code (nouveau 2012 utilisateurs n'ont pas besoin d'ajouter le ByVal):
Private Sub IncrementVariable (ByVal Nombre1 As Integer)
Nombre1 = nombre1 + 1
End Sub
Lorsque vous avez terminé, lancez le programme et cliquez sur le nouveau bouton. Quelle réponse a été affiché dans la boîte de message?
Il aurait dû être 10. Mais attendez. N'avons-nous pas incrémenter le Nombre1 variables avec cette ligne?
Nombre1 = nombre1 + 1
Alors Nombre1 a commencé d'une valeur de 10. Après nos Sub m'a appelé, nous avons ajouté de 1 à Nombre1. Donc, nous devrions avoir 11 dans la boîte de message, non?
La raison Nombre1 n'était pas incrémentée parce que nous l'avons précisé ByVal dans la sous-ensembles:
ByVal Nombre1 As Integer
Cela signifie que seule une copie de la variable d'origine s'est passé au-dessus. Quand on incrémenté la variable, seule la copie a obtenu 1 ajouté. L'original est resté le même - 10.
Modifier le paramètre à la présente (2012 utilisateurs doivent ajouter ByRef, ainsi):
ByRef Nombre1 As Integer
Lancez votre programme. Cliquez sur le bouton et voir ce qui se passe.
Cette fois-ci, vous devriez voir 11 s'affiche dans la boîte de message. La variable a été incrémenté!
Il a été augmentée parce que nous avons utilisé ByRef. Nous référençant la variable d'origine. Alors, quand nous ajoutons 1 à cela, l'original va changer.
La valeur par défaut est ByVal - ce qui signifie une copie de la variable d'origine. Si vous avez besoin de se référer à la variable d'origine, utiliser ByRef.
Dans la partie suivante, nous allons jeter un oeil à des fonctions en VB. NET

0 commentaires:

Enregistrer un commentaire