CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Methode return c#

G-virus
G-virus
Niveau 7
26 septembre 2012 à 19:37:22

Salut à tous,
Je m'intéresse au c# depuis maintenant quelques temps, je commence à avoir des bonnes bases.
Mais je me demandais, à quoi sert la methode return? Je la vois par exemple en fin de fonction ou de classe, mais j'arrive pas à comprendre son utilité. Quelqu'un pourrais m'éclaircir?

Tikim
Tikim
Niveau 21
26 septembre 2012 à 19:42:08

Une méthode/fonction peut retourner une valeur si elle est faite pour. Par exemple la fonction "int multiple(a, b)" renvoie un entier. Ainsi, le résultat est retourné comme ça : "return result".

Ex :

int multiple(a, b)
{
int result = a*b;
return result;
}

(Bon c'est du C mais j'imagine que c'est pareil en C#...)

caelacanthe
caelacanthe
Niveau 10
26 septembre 2012 à 19:42:40

à retourner une valeur pour l'utiliser plus tard. tu peux faire une fonction qui prend deux nombres en paramètres, leur faire effectuer des calculs horriblement compliqués pour produire un troisième nombre, et renvoyer celui-ci en fin de fonction ; après, tu n'as plus qu'à appeler la fonction dans ton code, ça évite entre autre de dupliquer le code-source, ce qui est très mal. :pf:

Tikim
Tikim
Niveau 21
26 septembre 2012 à 19:44:01

Donc pour précision, tu peux imaginer l'appel à la fonction dans le main :

int x = multiple(3, 5);
Le résultat peut passer dans la variable x grâce au return. Désolé si c'est pas très clair :o))

En gros à chaque fois qu'une fonction doit retourner une valeur, elle le fait par "return".

G-virus
G-virus
Niveau 7
26 septembre 2012 à 20:23:23

Han, c'est carrément plus clair maintenant. :)

Merci beaucoup pour ces réponses rapides!

TheOneAboveAll
TheOneAboveAll
Niveau 8
28 septembre 2012 à 00:16:31

Et si tu ne vois pas de return, c'est que la fonction ne retourne rien. (logique)

Donc son type de retour (spécifié dans la définition, càd la ligne avant les accolades), sera "void". :)

Aharamis
Aharamis
Niveau 4
07 février 2020 à 16:13:32

Bonjour les gars, Je debute en C# aussi, et effectivement j'ai aussi du mal a comprendre ce "return", car en soit, si il faut retourné ma méthode je peux tres bien faire un:

static void Surcafe_d_un_rectangle( int Longueur , int Largeur)
{
string regle;
regle = "La surface du rectangle est égale à la multiplication de la Longuer par la Largeur!";

Console.WriteLine(regle);
Console.WriteLine(Longeur * Largeur);
}

et j'ai mon resultat qui saffiche quand j'appele ma methode dans mon
static void Main (string [] args)
{
Surface_d_un_rectangle(9, 7);
}

en ce sens ou avec un Controle.WriteLine a la fin de ma methode a la place d'un return ca marche aussi non ?

Ps: Dsl pour les fautes d'orthographes et de grammaires, je ne suis pas tres aux points sur mon francais aussi

Shiba_the_Inu
Shiba_the_Inu
Niveau 84
07 février 2020 à 16:39:42

Sauf que là tu ne fais qu'afficher un résultat, l'intérêt d'un return c'est de faire une opération qui retourne un résultat, et tu assigne sune variable à ta fonction, pour quelle prenne ce résultat comme valeur.
Du genre :
ma_fonction(x, y) -> return x*y

ma_variable = ma_fonction(10, 5) -> du coup maintenant ma_variable = 50

Le second intérêt c'est aussi de retourner une valeur genre false/true pour indiquer si la fonction a fait ce qu'il fallait, où s'est mal initialisée, et dans ton code principal :
si ma_fonction() == true -> je fais blabla
sinon -> je fais blabla2

En c# je ne sais pas s'il y a des pointeur ou comment on passe par référence, mais en C/C++ si tu veux modifier une variable via une fonction soit tu utilises return, soit tu modifies directement la variable en la passant par référence ou via un pointeur.

Message édité le 07 février 2020 à 16:41:37 par Shiba_the_Inu
Natmad1
Natmad1
Niveau 59
07 février 2020 à 18:45:06

Le 07 février 2020 à 16:39:42 Shiba_the_Inu a écrit :
Sauf que là tu ne fais qu'afficher un résultat, l'intérêt d'un return c'est de faire une opération qui retourne un résultat, et tu assigne sune variable à ta fonction, pour quelle prenne ce résultat comme valeur.
Du genre :
ma_fonction(x, y) -> return x*y

ma_variable = ma_fonction(10, 5) -> du coup maintenant ma_variable = 50

Le second intérêt c'est aussi de retourner une valeur genre false/true pour indiquer si la fonction a fait ce qu'il fallait, où s'est mal initialisée, et dans ton code principal :
si ma_fonction() == true -> je fais blabla
sinon -> je fais blabla2

En c# je ne sais pas s'il y a des pointeur ou comment on passe par référence, mais en C/C++ si tu veux modifier une variable via une fonction soit tu utilises return, soit tu modifies directement la variable en la passant par référence ou via un pointeur.

En C# tu peux utiliser des pointeurs en mode unsafe, ou simplement utiliser le keyword "out" ou "ref" (légère différence entre les 2) dans les params de la fonction afin d'avoir une modification par référence de la variable entrée en param dans le corps de la fonction

Par contre le up de 8 ans est pas mal https://image.noelshack.com/fichiers/2017/17/1493247469-11392-bent.png

Aharamis
Aharamis
Niveau 4
10 février 2020 à 09:04:11

Merci pour vos explication j'ais tous pigé, en fait du coup je pourrais la réutiliser dans mes calcules en fait =)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment