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 :

passer le résultat d'une fonction comme valeur pour une autre


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 176
    Par défaut passer le résultat d'une fonction comme valeur pour une autre
    bonjour.

    j'ai une suite de fonctions.

    je souhaite passer le résultat de chaque fonction comme "valeur" à utiliser et non comme "paramètre".

    je suis intéressé par retourner le résultat final.

    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
     
    static void Main ()
    {
    	MaClasse f1 = new Maclasse();
    	Console.WriteLine(/*je souhaite obtenir le résulate de Fonction2*/);
    }
     
    public class MaClasse
    	{
    	public double Fonction1 (double monParametre)
    	{
    		return monParametre;
    	}
     
    	public double Fonction2 (/*Utiliser directement la valeur monParametre de la Fonction1*/)
    	{
    		return valeur de mon paramètre * 2 ;
    	}
    }
    c'est quelque chose comme un delegate à utiliser ?
    quelqu'un peut montrer ce que cela donne dans mon contexte ?

    merci.
    bonne semaine

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 28
    Par défaut
    Peut être devrais-tu simplement déclarer "monParametre" comme variable de classe. Tu aurais des tests à faire pour être certain que Fonction1 a bien été appelée avant Fonction2 (utilisation d'un boolean ?)

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Ou faire l'appel de Fonction1 (qui devient private) depuis Fonction2 (qui est la seule à être public)...

    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
     
    static void Main ()
    {
    	MaClasse f1 = new Maclasse();
    	Console.WriteLine(Fonction2(1.234));
    }
     
    public class MaClasse
    	{
    	private double Fonction1 (double monParametre)
    	{
    		return monParametre;
    	}
     
    	public double Fonction2 (double monParametre)
    	{
    		return Fonction1(monParametre) * 2 ;
    	}
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 28
    Par défaut
    oui ça peut être une autre solution, j'ai juste un peu de mal à saisir la finalité de ton programme par contre.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 76
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //ta fonction    
        string tafonction(string variable)
            {
               .........
               return valeurtraiter;
            }
    //utilisation de la fonction
    string VariableQuivaRecevoir= tafonction(ValeurPasserEnParametre);

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 176
    Par défaut
    merci de vos réponses !
    en fait, mon code était vraiment trop mal organisé.
    Aïe !
    enfin, c'est en forgeant ...
    merci en tous les cas,
    bonne journée à tous.

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

Discussions similaires

  1. Passer une Fonction comme argument d'une fonction
    Par ch16089 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/02/2011, 17h58
  2. [Langage] une fonction comme argument d'une fonction?
    Par Krishna dans le forum Langage
    Réponses: 9
    Dernier message: 15/10/2008, 20h31
  3. Réponses: 11
    Dernier message: 08/07/2008, 13h16
  4. Réponses: 0
    Dernier message: 26/07/2007, 15h22
  5. Passer une matrice comme paramètre d'une fonction
    Par Rniamo dans le forum Langage
    Réponses: 8
    Dernier message: 16/07/2006, 20h55

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