Créer une fonction en ligne en C#

Muhammad Maisam Abbas 16 février 2024
  1. Créer des fonctions en ligne avec des expressions Lambda en C#
  2. Créer des fonctions en ligne avec des instructions Lambda en C#
  3. Créer des fonctions en ligne avec des fonctions locales en C#
Créer une fonction en ligne en C#

Dans ce didacticiel, nous allons discuter des méthodes pour créer une fonction en ligne en C#.

Créer des fonctions en ligne avec des expressions Lambda en C#

Dans les langages de programmation comme C et C++, une fonction inline est déclarée avec le mot clé inline. Le code à l’intérieur d’une fonction en ligne est remplacé par l’appel de fonction par la compilation. Par conséquent, rendre le code en ligne. Malheureusement, il n’y a pas de mot clé intégré pour déclarer une fonction en ligne en C#. Nous pouvons créer une fonction en ligne avec des expressions lambda en C#. Les expressions Lambda sont utilisées pour créer des fonctions anonymes en C#. Le => mot-clé est utilisé pour écrire des expressions lambda.

L’exemple de code suivant nous montre comment créer une fonction en ligne avec des expressions lambda en C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Func<int, int, int> add = (x, y) => x + y;
      Console.WriteLine(add(1, 2));
    }
  }
}

Production:

3

Nous avons créé une fonction en ligne qui renvoie la somme de 1 et 2 avec des expressions lambda en C#. Nous avons créé la fonction add qui renvoie la somme de deux variables entières à l’aide du mot-clé =>. Le Func<int, int, int> spécifie les types de données des paramètres, et le dernier int dans le Func<int, int, int> spécifie le type de retour de la fonction anonyme. On peut aussi utiliser Action<T1, T2> mot-clé pour spécifier des fonctions anonymes si on ne veut rien renvoyer. L’exemple de code suivant nous montre comment utiliser le mot clé Action<T1, T2> pour créer une fonction en ligne qui ne renvoie aucune valeur en C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Action<int, int> sum = (x, y) => Console.WriteLine(x + y);
      sum(5, 6);
    }
  }
}

Production:

11

Nous avons créé une fonction en ligne qui renvoie la somme de 5 et 6 avec des expressions lambda en C#. Nous avons créé la fonction sum() qui renvoie la somme de deux variables entières en utilisant le mot-clé =>. L ‘Action<int, int> spécifie les types de données des paramètres de la fonction anonyme. Nous ne pouvons utiliser les expressions lambda que pour une seule ligne de code.

Créer des fonctions en ligne avec des instructions Lambda en C#

Si nous avons plus d’une ligne de code dans notre code, nous devons utiliser des instructions lambda. Les instructions Lambda sont également utilisées pour déclarer des fonctions anonymes qui peuvent être utilisées comme des fonctions en ligne. La déclaration de fonctions anonymes dans les instructions lambda est similaire aux expressions lambda, la seule différence étant que les instructions multilignes sont placées entre {};. L’exemple de code suivant nous montre comment créer une fonction en ligne avec des instructions lambda en C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Action<int, int> sum = (x, y) => {
        int s = x + y;
        Console.WriteLine(s);
      };
      sum(6, 7);
    }
  }
}

Production:

13

Nous avons créé une fonction en ligne qui affiche la somme de 6 et 7 avec des instructions lambda en C#. Nous pouvons écrire plusieurs lignes de code à l’intérieur de la fonction sum(). Tout comme les expressions lambda, il existe deux types d’instructions lambda, la Func<T,T-return> qui renvoie une valeur, et la Action<T>, qui ne renvoie pas de valeur.

Créer des fonctions en ligne avec des fonctions locales en C#

Fonctions locales sont les fonctions contenues dans une autre fonction en C#. Une fonction locale n’est accessible que par la fonction qui l’entoure. Les fonctions locales sont disponibles dans les versions 7.0 et supérieures de C#. Les fonctions locales peuvent être utilisées pour fournir les fonctionnalités des fonctions en ligne en C#. L’exemple de code suivant nous montre comment créer une fonction en ligne avec des fonctions locales en C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      void sum(int a, int b) {
        Console.WriteLine(a + b);
      }
      sum(7, 11);
    }
  }
}

Production:

18

Nous avons créé une fonction en ligne qui renvoie la somme de 7 et 11 avec des fonctions locales en C#. Déclarer une fonction locale équivaut à déclarer une fonction conventionnelle normale. Il est simplement déclaré sans spécificateur d’accès et dans une autre fonction.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp Function