Was sind Lambda-Ausdrücke in C#?

王林
Freigeben: 2023-09-08 14:25:15
nach vorne
568 Leute haben es durchsucht

Was sind Lambda-Ausdrücke in C#?

Lambda-Ausdrücke sind eine bessere Möglichkeit, anonyme Methoden darzustellen. Sowohl anonyme Methoden als auch Lambda-Ausdrücke ermöglichen Ihnen die Inline-Definition von Methodenimplementierungen. Bei anonymen Methoden müssen Sie jedoch explizit die Parametertypen und den Rückgabetyp der Methode definieren.

Ein Ausdruck mit einem Ausdruck als Lambda-Körper: (Eingabeparameter) => Ausdruck

Ein Anweisungs-Lambda mit einem Anweisungsblock als Hauptteil: (Eingabeparameter) => { }

Jeder Lambda-Ausdruck kann in einen Delegatentyp konvertiert werden. Der Delegattyp, in den ein Lambda-Ausdruck konvertiert werden kann, wird durch die Typen seiner Parameter und des Rückgabewerts definiert. Wenn der Lambda-Ausdruck keinen Wert zurückgibt, kann er in einen der Action-Delegattypen konvertiert werden; andernfalls kann er in einen der Func-Delegattypen konvertiert werden.

static void Main(string[] args){ Func square = x => x * x; Console.WriteLine(square(5)); Console.ReadLine(); }
Nach dem Login kopieren

=> Ein Lambda-Ausdruck mit einem Ausdruck auf der rechten Seite des Operators wird als Ausdrucks-Lambda bezeichnet. Ausdruck Lambda gibt das Ergebnis eines Ausdrucks zurück und nimmt die folgende Grundform an:

Action line = () => Console.WriteLine();

Func cube = x => x * x * x;

Func testForEquality = (x, y) => x == y;

Func isTooLong = (int x, string s) => s.Length > x;

In C# 7.0 bietet die C#-Sprache integrierte Unterstützung für Tupel. Sie können ein Tupel als Argument für einen Lambda-Ausdruck bereitstellen, und Ihr Lambda-Ausdruck kann auch ein Tupel zurückgeben.

In Lambda-Ausdrücken eingeführte Variablen sind in der einschließenden Methode nicht sichtbar.

Lambda-Ausdrücke können keine In-, Ref- oder Out-Parameter direkt aus der einschließenden Methode erfassen.

Eine Return-Anweisung in einem Lambda-Ausdruck führt nicht dazu, dass die einschließende Methode zurückkehrt.

Wenn das Ziel der Sprunganweisung außerhalb des Lambda-Ausdrucksblocks liegt, kann der Lambda-Ausdruck keine Goto-, Break- oder Continue-Anweisung enthalten. Es ist auch ein Fehler, eine Sprunganweisung außerhalb eines Lambda-Ausdrucksblocks zu verwenden, wenn sich das Ziel innerhalb des Lambda-Ausdrucksblocks befindet.

Das obige ist der detaillierte Inhalt vonWas sind Lambda-Ausdrücke in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!