C Sharp – Return dans une méthode

Programmation en C# (C Sharp)



Les méthodes de type fonction en C#, peuvent renvoyer un résultat de n’importe quel type et acceptent des paramètres de tout type. En C# comme en Java le retour de résultat est passé grâce au mot clef return placé n’importe où dans le corps de la méthode, cette instruction met fin à l’exécution de la méthode dans laquelle elle se trouve.

Syntaxes :

return < Expression > ;

ou bien 

return ;

Sémantique :

  • Dans le premier cas la méthode arrête son exécution en renvoyant la valeur effective de < Expression >.
  • Dans le second cas la méthode arrête aussi son exécution, mais sans renvoyer de résultat (à utiliser dans une méthode void )

Exemples :

// La methode1 retourne le résultat a+b
static int methode1 ( int a , int b) {
//.......
return a+b; 
}
 

// La methode2 retourne soit le  résultat a+b soit 0 selon la valeur du paramètre a :
static int methode2 ( int a , int b) {
    if ( a==0) return 0;
    else return a+b; 
}
 

// La methode3 s'arrête si la valeur de a est nulle, sinon elle continue la suite des instructions :
static void methode2 ( int a , int b) {
    if ( a==0) return ;
    int x = a+b;
    .....
}
 


using System;

class Exercice
{
public static void Main(string[ ] args) // méthode principale de lancement de l'exécution
{
int x, y, z = 0 ;
x = 10;
y = 20;
z = methode1( x , y );
Console.WriteLine("z = "+z);
x = 0;
y = 20;
z = methode1( x , y );
Console.WriteLine("z = "+z);
Console.WriteLine("----------------------------");
x = 10;
methode2( x );
x = 0;
methode2( x );
Console.ReadLine();
}
public static int methode1 ( int a , int b) 
{
if ( a==0)
return 0; // arrête l'exécution et renvoie le résultat 0
return a+b; // arrête l'exécution et renvoie le résultat a+b
}
public static void methode2 ( int a) 
{
if ( a==0)
return ; // arrête simplement l'exécution
Console.WriteLine("methode2 paramètre = "+a);
}
}