Erstellen Sie eine Inline-Funktion in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Erstellen Sie Inline-Funktionen mit Lambda-Ausdrücken in C#
  2. Erstellen Sie Inline-Funktionen mit Lambda-Anweisungen in C#
  3. Erstellen Sie Inline-Funktionen mit lokalen Funktionen in C#
Erstellen Sie eine Inline-Funktion 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.

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

Verwandter Artikel - Csharp Function