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 :

Paramètre de sortie ? C'est quoi


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Par défaut Paramètre de sortie ? C'est quoi
    Bonjour, j'écris sur le forum car je ne comprends pas la phrase suivante.

    Je sais la différence entre le passage par valeur et par référence, mais ca veut dire quoi "est uniquement un paramètre de sortie" ?


    1.using System;
    2.
    3. namespace Chap1 {
    4. class P12 {
    5. public static void Main() {
    6. // exemple 2
    7. int age2;
    8. ChangeInt2(ref age2);
    9. Console.WriteLine("Paramètre effectif age2=" + age2);
    10. }
    11. private static void ChangeInt2(ref int a2) {
    12. a2 = 30;
    13. Console.WriteLine("Paramètre formel a2=" + a2);
    14. }
    15. }
    16. }
    Lorsqu'on compile ce programme, on a une erreur :
    Use of unassigned local variable 'age2'
    On peut contourner l'obstacle en affectant une valeur initiale à age2. On peut aussi remplacer le mot clé ref par le mot clé out. On
    exprime alors que la paramètre est uniquement un paramètre de sortie et n'a donc pas besoin de valeur initiale :
    Merci.

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    La différence entre ref et out, c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    void f()
    {
       int i;
       int j = 0;
       g(ref i); // erreur de compil car i n'est pas initialisé
       g(ref j); // ok
       h(out i); // ok
       h(out j); // ok
    }
     
     
    void g(ref int a)
    {
    }
     
    void h(out int a)
    {
       a = 0; // si on commente cette ligne, erreur de compil : h doit initialiser a
    }
    J'espère que c'est plus clair

  3. #3
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    C'est à dire que le paramètre out doit être forcément modifié dans la méthode.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 44
    Par défaut
    Ok je vois à peu près.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. c'est quoi courbe paramétrée
    Par bilzzbenzbilz dans le forum Mathématiques
    Réponses: 11
    Dernier message: 19/02/2009, 17h00
  2. [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Par seb.49 dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 13/02/2004, 10h41
  3. C'est quoi XMLRAD ?
    Par laffreuxthomas dans le forum XMLRAD
    Réponses: 10
    Dernier message: 09/08/2003, 02h42
  4. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

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