0Pricing
C# Academy · Leçon

Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge

Définissez les signatures des méthodes et leurs valeurs renvoyées, utilisez des méthodes dont le corps est une expression ainsi que des paramètres facultatifs ou nommés et ref/out, puis comprenez la surcharge. Remarque : C# 6 ne propose pas de fonctions locales.

Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 3 leçons au total.

Principes de base des méthodes

Objectif : définir des méthodes claires : signature (nom, paramètres, type de retour), corps concis et comportement prévisible.

  • Valeurs de retour
  • Méthodes à corps expression
  • Paramètres facultatifs ou nommés

Signatures et valeurs de retour

Une méthode possède un nom, des paramètres et un type de retour. Gardez des noms clairs et précis.

using System;

public class MathUtil
{
  // Signature: name Add, parameters (int a, int b), return int
  public static int Add(int a, int b)
  {
    return a + b;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int s = MathUtil.Add(2, 3);
    Console.WriteLine("Sum = " + s);
  }
}

Méthodes à corps expression

Les méthodes à corps expression utilisent => pour définir de petites fonctions auxiliaires claires.

using System;

public static class FormatUtil
{
  // Expression-bodied method (C# 6): concise one-liner
  public static string Greet(string name) => "Hello, " + name + "!";
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(FormatUtil.Greet("Ada"));
  }
}

Paramètres facultatifs et nommés

Utilisez des paramètres facultatifs pour fournir des valeurs par défaut pertinentes et des arguments nommés pour améliorer la clarté lors de l'appel.

using System;

public static class Logger
{
  // Optional parameter: times has a default
  public static void Log(string message, int times = 1)
  {
    for (int i = 0; i < times; i = i + 1)
    {
      Console.WriteLine(message);
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Logger.Log("One time");                 // uses default
    Logger.Log(message: "Twice", times: 2); // named arguments
  }
}

Principes de base de ref et out

ref : la variable doit avoir été affectée avant l'appel. out : la méthode doit lui affecter une valeur avant de retourner.

using System;

public static class RefOutDemo
{
  public static void Increment(ref int x)
  {
    x = x + 1; // modifies caller's variable
  }

  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;       // out must be assigned before return
      return false;
    }
    result = a / b;
    return true;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    RefOutDemo.Increment(ref n);
    Console.WriteLine("n = " + n); // 11

    int r;
    bool ok = RefOutDemo.TryDivide(9, 0, out r);
    Console.WriteLine("ok=" + ok + " r=" + r);
  }
}

Surcharge et remarque

La surcharge réutilise un nom pour des opérations liées. Remarque : les fonctions locales apparaissent dans les versions ultérieures de C# ; en C# 6, utilisez de petites fonctions auxiliaires privées.

using System;

public static class Calc
{
  // Overloads: same name, different parameter lists
  public static int Area(int side) { return side * side; }
  public static int Area(int width, int height) { return width * height; }

  // C# 6 has no local functions; use private helpers instead.
  private static int DoubleIt(int x) { return x + x; }

  public static int TwiceArea(int side)
  {
    int a = Area(side);
    return DoubleIt(a);
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine("Area square 3 = " + Calc.Area(3));
    Console.WriteLine("Area rect 3x4 = " + Calc.Area(3, 4));
    Console.WriteLine("Twice area of 3 = " + Calc.TwiceArea(3));
  }
}

Règle concernant ref et out

Vérification rapide : quelle proposition concernant les paramètres ref et out est correcte en C# ?

Récapitulatif

Récapitulatif : concevez des signatures claires, des valeurs de retour et de petites fonctions auxiliaires à corps expression ; utilisez des paramètres facultatifs ou nommés pour améliorer la lisibilité ; distinguez ref et out ; utilisez la surcharge avec prudence. Les fonctions locales sont apparues dans les versions ultérieures de C# : utilisez des fonctions auxiliaires privées en C# 6.

Questions Fréquemment Posées

La leçon « Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge » est-elle gratuite ?

Oui — le texte complet de « Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge » ?

Définissez les signatures des méthodes et leurs valeurs renvoyées, utilisez des méthodes dont le corps est une expression ainsi que des paramètres facultatifs ou nommés et ref/out, puis comprenez la… Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Signatures et valeurs renvoyées ; corps sous forme d’expression ; paramètres facultatifs ou nommés ; ref/out ; surcharge
  2. Paramètres facultatifs ou nommés ; ref/out/in (bases)
  3. Fonctions locales (remarque sur C# 6) et surcharge
← Retour à C# Academy