Erstellen Sie eine Inline-Funktion in C#
-
Erstellen Sie Inline-Funktionen mit Lambda-Ausdrücken in
C#
-
Erstellen Sie Inline-Funktionen mit Lambda-Anweisungen in
C#
-
Erstellen Sie Inline-Funktionen mit lokalen Funktionen in
C#
In diesem Tutorial werden Methoden zum Erstellen einer Inline-Funktion in C# erläutert.
Erstellen Sie Inline-Funktionen mit Lambda-Ausdrücken in C#
In Programmiersprachen wie C und C++ wird eine Inline-Funktion mit dem Schlüsselwort inline
deklariert. Der Code in einer Inline-Funktion wird durch den Funktionsaufruf durch die Kompilierung ersetzt. Daher wird der Code inline. Leider gibt es kein integriertes Schlüsselwort, um eine Inline-Funktion in C# zu deklarieren. Wir können eine Inline-Funktion mit Lambda-Ausdrücken in C# erstellen. Lambda-Ausdrücke werden verwendet, um anonyme Funktionen in C# zu erstellen. Das Schlüsselwort =>
wird zum Schreiben von Lambda-Ausdrücken verwendet.
Das folgende Codebeispiel zeigt, wie Sie eine Inline-Funktion mit Lambda-Ausdrücken in C# erstellen.
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));
}
}
}
Ausgabe:
3
Wir haben eine Inline-Funktion erstellt, die die Summe von 1
und 2
mit Lambda-Ausdrücken in C# zurückgibt. Wir haben die Funktion add
erstellt, die die Summe zweier ganzzahliger Variablen mit dem Schlüsselwort =>
zurückgibt. Das Func<int, int, int>
gibt die Datentypen der Parameter an, und das letzte int
im Func<int, int, int>
gibt den Rückgabetyp der anonymen Funktion an. Wir können auch das Schlüsselwort Action<T1, T2>
verwenden, um anonyme Funktionen anzugeben, wenn wir nichts zurückgeben möchten. Das folgende Codebeispiel zeigt uns, wie wir mit dem Schlüsselwort Action<T1, T2>
eine Inline-Funktion erstellen können, die in C# keinen Wert zurückgibt.
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);
}
}
}
Ausgabe:
11
Wir haben eine Inline-Funktion erstellt, die die Summe von 5
und 6
mit Lambda-Ausdrücken in C# zurückgibt. Wir haben die Funktion sum()
erstellt, die die Summe zweier ganzzahliger Variablen mit dem Schlüsselwort =>
zurückgibt. Die Action<int, int>
gibt die Datentypen der Parameter der anonymen Funktion an. Wir können Lambda-Ausdrücke nur für eine einzelne Codezeile verwenden.
Erstellen Sie Inline-Funktionen mit Lambda-Anweisungen in C#
Wenn wir mehr als eine Codezeile in unserem Code haben, müssen wir Lambda-Anweisungen verwenden. Lambda-Anweisungen werden auch verwendet, um anonyme Funktionen zu deklarieren, die als Inline-Funktionen verwendet werden können. Das Deklarieren anonymer Funktionen in Lambda-Anweisungen ähnelt Lambda-Ausdrücken, mit dem einzigen Unterschied, dass die mehrzeiligen Anweisungen in {};
eingeschlossen sind. Das folgende Codebeispiel zeigt, wie Sie eine Inline-Funktion mit Lambda-Anweisungen in C# erstellen.
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);
}
}
}
Ausgabe:
13
Wir haben eine Inline-Funktion erstellt, die die Summe von 6
und 7
mit Lambda-Anweisungen in C# anzeigt. Wir können mehrere Codezeilen in die Funktion sum()
schreiben. Genau wie bei Lambda-Ausdrücken gibt es zwei Arten von Lambda-Anweisungen: die Func<T,T-return>
, die einen Wert zurückgibt, und die Action<T>
, die keinen Wert zurückgibt.
Erstellen Sie Inline-Funktionen mit lokalen Funktionen in C#
Lokale Funktionen sind die Funktionen, die in einer anderen Funktion in C# enthalten sind. Auf eine lokale Funktion kann nur von der sie umgebenden Funktion zugegriffen werden. Lokale Funktionen sind in Version 7.0 und höher von C# verfügbar. Lokale Funktionen können verwendet werden, um die Funktionalität von Inline-Funktionen in C# bereitzustellen. Das folgende Codebeispiel zeigt, wie Sie eine Inline-Funktion mit lokalen Funktionen in C# erstellen.
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);
}
}
}
Ausgabe:
18
Wir haben eine Inline-Funktion erstellt, die die Summe von 7
und 11
mit lokalen Funktionen in C# zurückgibt. Das Deklarieren einer lokalen Funktion entspricht dem Deklarieren einer normalen konventionellen Funktion. Es wird nur ohne Zugriffsspezifizierer und in einer anderen Funktion deklariert.
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