Maison  >  Article  >  développement back-end  >  Expression Lambda C#

Expression Lambda C#

王林
王林original
2024-09-03 15:27:19398parcourir

Une expression Lambda en C# est une fonction anonyme, qui contient soit une expression, soit un ensemble d'instructions et l'opérateur utilisé pour implémenter l'expression Lambda est « => ». L'expression Lambda se compose de deux parties, dont la partie gauche est l'entrée tandis que la partie droite est l'expression. Une expression lambda simple prend un argument et renvoie une valeur et l'un des scénarios les plus courants pour utiliser l'expression lambda serait la liste.

Syntaxe

Maintenant que nous avons compris ce qu'est l'expression Lambda en C#, comprenons la syntaxe standard pour implémenter l'expression. Avec Lambda Expression, nous avons deux syntaxes pour deux types :

  • Expression Lambda : Ceci contient une entrée et une expression.

Syntaxe :

input => expression;
  • Instruction Lambda : Celle-ci contient simplement une entrée et l'une des rares instructions qui doivent être exécutées.

Syntaxe :

input => { statements };

En fonction de la situation, les développeurs sont libres de choisir ce qui correspond à leurs besoins.

Comment fonctionne l'expression Lambda en C# ?

Lorsque nous implémentons une expression Lambda, nous avons deux côtés et le symbole Lambda de => entre. Le côté gauche prend une entrée, de n'importe quel type tandis que le côté droit prend une expression ou une instruction. En C#, Lambda Expression implémente une fonctionnalité qui permet à notre compilateur de déduire le type de variable en fonction du contexte dans lequel elle se trouve. Cette fonctionnalité est appelée fonctionnalité d'inférence de type. Nous pouvons passer des fonctions à un appel de méthode, en argument.

Chaque expression lambda est mappée en interne sur une interface. Désormais, lorsque nous exécutons un programme avec Lambda Expression, le compilateur détermine quelle interface être attribuée, en fonction du contexte de l'expression, tout se passe au moment de la compilation. Ces expressions sont des méthodes anonymes, c'est-à-dire des méthodes sans noms, et sont implémentées avec l'interface fonctionnelle.

Exemples : Commençons maintenant par l'implémentation de l'expression lambda. Pour notre premier programme, nous allons implémenter l'expression lambda sous une forme simple, où nous utilisons une classe définie par l'utilisateur et notre deuxième exemple sera assez simple où nous trouverons la première occurrence d'un nombre impair dans une liste. Alors, commençons.

Code :

using System;
using System.Collections.Generic;
using System.Linq;
class City_Details {
public int cityCode {
get;
set;
}
public string cityName {
get;
set;
}
}
class det {
public static void Main(string[] args) {
List<City_Details> details = new List<City_Details>() {
new City_Details{ cityCode = 1, cityName = "Mumbai" },
new City_Details{ cityCode = 2, cityName = "Chennai" },
new City_Details{ cityCode = 3, cityName = "Pune" },
new City_Details{ cityCode = 4, cityName = "Ahmedabad" },
new City_Details{ cityCode = 5, cityName = "Delhi" }
};
var newDetails = details.OrderBy(x => x.cityName);
foreach(var value in newDetails) {
Console.WriteLine(value.cityCode + " " + value.cityName);
}
}
}

Explication du code : Après avoir importé les fichiers système, nous créons une classe avec deux propriétés : code de ville et nom de ville. Ensuite, nous avons notre classe det, avec des fonctions principales et autres. Ici, nous appelons notre première classe et attribuons le code et le nom de la ville sous forme de liste. Ensuite, nous répertorions notre liste de détails, par ordre, en utilisant OrderBy et ici nous implémentons l'expression lambda. Maintenant que nous avons répertorié les données dans une liste classée par nom de ville, nous entrons dans une boucle foreach et imprimons chaque ligne suivante. S'il est exécuté sans aucune erreur, ce code imprimera la liste, mais différemment, ce qui signifie qu'Ahmedabad, qui commence par A, sera imprimé en premier et Pune ira en bas. Reportez-vous à la capture d'écran ci-jointe de la sortie :

Expression Lambda C#

Comme vous pouvez le voir, notre résultat est comme prévu, par ordre alphabétique. Passons maintenant à notre deuxième exemple, nous avons une simple liste de nombres, composée de nombres pairs et impairs. Alors comprenons et exécutons notre deuxième programme.

Code :

using System;
using System.Collections.Generic;
class ExampleTwo {
static void Main() {
List<int> newList = new List<int>() { 10, 21, 31, 40 };
int oddNumber = newList.FindIndex(x => x % 2 != 0);
Console.WriteLine( "\n " + oddNumber);
}
}

Explication du code : Il s'agit de notre exemple le plus simple d'implémentation d'expression Lambda, où nous utilisons simplement une liste et une expression Lambda. En démarrant nos fichiers système, puis notre classe SampleTwo avec main. Nous avons ensuite initialisé notre liste d'entiers et dans notre liste, nous avons quatre nombres. Ce sont deux nombres impairs et deux nombres pairs. Ensuite, nous avons notre variable entière, où nous utilisons FindIndex et c'est là que nous utilisons Lambda Expression. Dans FindIndex, nous avons un x en entrée et notre sortie sera un nombre qui n'est pas divisible par le nombre 2. Après ce calcul, nous aurons les index de nos nombres impairs. Et enfin, nous avons notre instruction de sortie, qui renverra le numéro d'index de la première occurrence du nombre impair. Reportez-vous à la capture d'écran ci-jointe de la sortie :

Expression Lambda C#

Comme nous l'avons compris dans l'explication du code, notre sortie sera le numéro d'index du nombre impair et non le nombre impair lui-même. Donc ici, nous avons 1 qui est un indice de 21.

Avantages

Maintenant que nous avons presque tout appris sur l'expression Lambda en C#, nous devons comprendre l'avantage de son utilisation. Un des avantages majeurs est la possibilité de réutiliser le code, on a alors une meilleure lisibilité. En n'ayant pas à préciser le type d'entrée, c'est l'une des fonctions les plus flexibles.

L'un des avantages est la possibilité d'écrire une méthode pour l'expression lambda, là où nous voulons l'utiliser. C’est mieux lorsque nous devons créer et utiliser une méthode une seule fois. De cette façon, beaucoup de nos efforts sont économisés, où nous n'avons pas besoin de déclarer et d'écrire une méthode distincte.

Conclusion

L'expression Lambda dans n'importe quel langage de programmation peut être d'une grande utilité. En C#, l'expression Lambda fonctionne comme une expression anonyme, où elle a une entrée à gauche et une expression ou une liste d'instructions à droite. L'expression Lambda est désignée par « => ». C’est la flexibilité d’avoir n’importe quel type de contribution qui le rend d’une grande utilité pour les développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Expression régulière en C#Article suivant:Expression régulière en C#