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 :

ecrire et appeler des fonctions et des procedures


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    en formation
    Inscrit en
    Novembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Novembre 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut ecrire et appeler des fonctions et des procedures
    bonjour à tous,

    J'ai commençais c# en début d'année scolaire (1ere année BTS SIO),jusque la tout aller bien mais la je sèche un peu et nous sommes arrivés a écrire et appeler des fonctions et des procédures. serait-il possible d'avoir des exemples:
    - avec une fonction sans passage de valeur écriture/appel,
    - avec une fonction avec passage de valeur écriture/appel
    -procédure sans paramètre
    -procédure avec paramètre

    merci de votre aide.

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Il n'y a pas de procédures en C#, que des méthodes. As-tu regardé ce cours https://tahe.developpez.com/dotnet/c...e=page_4#LIV-J?
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Salut,

    Il n'y a pas de procédures en C#, que des méthodes. As-tu regardé ce cours https://tahe.developpez.com/dotnet/c...e=page_4#LIV-J?
    Hum de ce que je me souviens de mes cours, on parle de procédure quand une méthode ne renvoi pas de résultat et de fonction quand elle en renvoie un.

    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 ProcedureSansParametre()
    {
          int variableInutile = 1 + 1;
    }
     
    void ProcedureAvecParametre(int chiffre1, int chiffre2)
    {
          int sommeChiffres = chiffre1 + chiffre2;
    }
     
    int FonctionSansParametre()
    {
           return 1 + 1;
    }
     
    int FonctionAvecParametre(int chiffre1, int chiffre2)
    {
           return chiffre1 + chiffre2;
    }
    Le premier mot "void" ou "int" définis le type de retour de ta méthode (void indique qu'il n'y en a pas).
    Vient ensuite le nom de ta méthode.
    Entre les parenthèses se trouve tes paramètres.
    Entre les accolades se trouve l'action que fait ta méthode.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    D'un point de vue "conceptuel" :
    - une fonction VAUT quelque chose (et ne fait rien)
    - une procédure FAIT quelque chose (et ne vaut rien)

    Seulement, ANSI indique que tout traitement doit retourner un code (qui indique si tout s'est bien passé = 0 ou s'il y a eu une erreur, avec le code erreur le cas échéant <> 0)

    C# hérite de la syntaxe C, qui est basée sur ANSI

    Ainsi :
    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    void procedure()

    Retourne en réalité quelque chose, même si on ne le voit pas et qu'on ne peut pas récupérer le résultat.
    Le plus simple est de tester l'évolution de ERRORLEVEL depuis une fenêtre console pour comprendre que void main() retourne bien quelque-chose.

    Mais surtout, C#, tout comme le C, ne différencie pas procédure et fonction.
    Il n'y a QUE des fonctions (contrairement à d'autres langages que sont par exemple PASCAL, ADA, T-SQL, etc.)

    En effet, on peut parfaitement avoir en C (et donc en C# aussi) une fonction qui fait des choses et une "procédure" qui vaut quelque chose (notamment en modifiant des paramètres passés par référence, et en C# plus simplement en modifiant les propriétés ou attributs de l'instance).

    Donc à partir de là, par convention, en C, on ne parle que de fonction. Mais ce n'est toujours pas vrai en C# !

    Ensuite, un jour quelqu'un en a eu marre de passer des centaines de paramètres à ses fonctions, pour ne récupérer au final à chaque fois qu'une pauvre valeur d'un type simple, et il a inventé l'objet.
    Chose magnifique qui permet de manipuler avec un seul paramètre des centaines de propriétés, elles-mêmes porteuses d'autres propriétés et le tout capable d'embarquer ses propres traitement.

    Bref, C# étant un langage objet, et au cas ou vous ne l'auriez pas remarqué, qu'on travaille avec toujours sur des classes, on ne parle pas de fonction ni de procédure, mais de méthode...
    A noter qu'une méthode ne porte pas la notion de "fonction" ou de "procédure".
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Momoth Voir le message
    Hum de ce que je me souviens de mes cours, on parle de procédure quand une méthode ne renvoi pas de résultat et de fonction quand elle en renvoie un.
    Exemple de code qui sert à rien mais fonctionne et met en évidence le retour des méthodes "void"
    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
    class MyClass{
        public MyClass()
        {
            Method1();
            Method2();
        }
     
     
        void Method1()
        {
            return;
        }
     
     
        void Method2()
        {
            // Do nothing
        }
    }
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. appel des procedure externe ne marche pas
    Par menoran dans le forum Oracle
    Réponses: 8
    Dernier message: 22/05/2010, 11h56
  2. Appel des procédures
    Par pointer dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2006, 09h08
  3. appel des fonctions d'un driver dans un programme en c
    Par richie25 dans le forum Windows
    Réponses: 5
    Dernier message: 10/01/2006, 08h27
  4. Réponses: 6
    Dernier message: 30/09/2005, 00h53
  5. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33

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