IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

variable utilisée par référence d'une fonction sans argument


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 371
    Par défaut variable utilisée par référence d'une fonction sans argument
    bonjour,

    Il y a une différence entre passage d'argument par valeur et par référence
    Si la fonction utilise des argumentd,cette différence est illustrée come ceci:
    passage par valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void function(int a)
    {// corps de la fonction}
    passage par référence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void function(ref int a)
    {// corps de la fonction}
    Cependant,si je crée une fonction qui n'a pas d'argument mais dont la variable utilsée dans le corps de la fonction est utlisée en tant que référence et non que valeur,comment faut-il modifier la fonction
    exemple de fonction. sans argument utilisant une variable en tant que valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void increment()
    {int a;
    a++;
    }
    modifiez SVP la fonction increment de manière à ce que la variable a soit utilisée en tant que référence


    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 966
    Par défaut
    Citation Envoyé par tabkelm Voir le message
    modifiez SVP la fonction increment de manière à ce que la variable a soit utilisée en tant que référence.
    Ceci est un non sens.
    Si tu variable est locale, elle n'est, par définition, par passée.

    Si ce que tu cherches à faire est de conserver la valeur, alors il faut déclarer ta variable directement dans la classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Dummy
    {
        public int A => a;
        public void Increment()
        {
            a++;
        }
     
        private int a = 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dummy dummy = new ();
    dummy.Increment();
    Console.WriteLine(dummy.A);
    Affiche 1

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2012, 16h31
  2. [C#] Paramètre par défaut dans une fonction
    Par RobinJulie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2012, 14h07
  3. Signature d'une fonction sans argument
    Par cj227854 dans le forum C++
    Réponses: 5
    Dernier message: 20/10/2005, 17h01
  4. Réponses: 4
    Dernier message: 05/10/2005, 18h19
  5. Création d'une fonction sans paramètre?
    Par falcon dans le forum Oracle
    Réponses: 3
    Dernier message: 13/12/2004, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo