Kann eine Switch-Anweisung in C# mit Lambda-Ausdrücken verwendet werden?

Sep 09, 2025

Eine Nachricht hinterlassen

Hallo! Als Schalterlieferant bin ich schon seit Ewigkeiten knietief in der Welt der Schalter tätig. Und eine Frage, die in letzter Zeit häufig auftaucht, lautet: „Kann eine Switch-Anweisung mit Lambda-Ausdrücken in C# verwendet werden?“ Lassen Sie uns in dieses Thema eintauchen und es herausfinden.

Lassen Sie uns zunächst kurz durchgehen, was eine Switch-Anweisung und Lambda-Ausdrücke in C# sind. Eine Switch-Anweisung ist eine Kontrollflussanweisung, mit der Sie basierend auf dem Wert eines Ausdrucks einen von vielen auszuführenden Codeblöcken auswählen können. Es ist wie eine große Entscheidungsmaschine in Ihrem Code. Zum Beispiel:

int Zahl = 2; switch (Zahl) { case 1: Console.WriteLine("Die Zahl ist 1"); brechen; Fall 2: Console.WriteLine("Die Zahl ist 2"); brechen; Standard: Console.WriteLine("Die Zahl ist weder 1 noch 2"); brechen; }

Andererseits sind Lambda-Ausdrücke eine übersichtliche Möglichkeit, anonyme Funktionen in C# zu erstellen. Sie sind äußerst praktisch, wenn Sie eine kleine Funktion für eine kurzfristige Verwendung benötigen, beispielsweise bei LINQ-Abfragen. Zum Beispiel:

Func<int, int> quadrat = x => x * x; int result = quadrat(5); Console.WriteLine(result);

Können wir diese beiden also mischen? Nun, die kurze Antwort lautet ja, aber es ist etwas komplizierter, als sie einfach zusammenzuschlagen.

In herkömmlichen Switch-Anweisungen sind Sie es gewohnt, einfache Werte wie Ganzzahlen, Zeichenfolgen oder Enumerationen als Groß-/Kleinschreibung zu verwenden. Aber wenn es um Lambda-Ausdrücke geht, wird es etwas interessanter. Sie können Lambda-Ausdrücke innerhalb eines Switch-Ausdrucks verwenden (eine modernere und prägnantere Version der in C# 8.0 eingeführten Switch-Anweisung).

Nehmen wir an, Sie haben eine Liste mit Zahlen und möchten basierend auf bestimmten Bedingungen verschiedene Aktionen ausführen. Sie könnten einen Switch-Ausdruck mit Lambda-Ausdrücken wie diesen verwenden:

List<int> zahlen = new List<int> { 1, 5, 10, 15 }; foreach (var number in zahlen) { var action = number switch { _ when (x => x < 5)(number) => () => Console.WriteLine($"{number} is less than 5"), _ when (x => x >= 5 && x < 10)(number) => () => Console.WriteLine($"{number} is between 5 and 10"), _ when (x => x >= 10)(number) => () => Console.WriteLine($"{number} ist größer oder gleich 10"), _ => () => Console.WriteLine("Das sollte nie passieren") }; Aktion(); }

Hier verwenden wir Lambda-Ausdrücke imWannKlauseln des Schalterausdrucks. Der_ist ein Verwerfungsmuster, was bedeutet, dass es mit jedem Wert übereinstimmt. Die Lambda-Ausdrücke definieren die Bedingungen und basierend darauf, welche Bedingung erfüllt ist, wird dem eine entsprechende Aktion (ein anderer Lambda-Ausdruck) zugewiesenAktionVariable und dann ausgeführt.

Lassen Sie uns nun darüber sprechen, wie dies mit unseren Switch-Produkten zusammenhängt. In unserem Unternehmen bieten wir eine breite Palette an Switches an, jeder mit seinen eigenen einzigartigen Funktionen und Anwendungsfällen. Zum Beispiel dieD4A – 4501N D4A – 4510N Endschalterist eine gute Wahl für Anwendungen, bei denen Sie die Anwesenheit oder Abwesenheit eines Objekts innerhalb eines bestimmten Bereichs erkennen müssen. Es ist wie ein realer Switch, der Entscheidungen auf der Grundlage bestimmter Bedingungen trifft, genau wie unsere C#-Switch-Anweisungen.

Der514120 Aktuatorist ein weiterer wichtiger Bestandteil. Es kann verwendet werden, um einen Schalter basierend auf externen Faktoren zu aktivieren oder zu deaktivieren. In der Programmiersprache ist es wie das externe Ereignis, das einen bestimmten Fall in einer Switch-Anweisung auslöst.

Z-15GQ21-B Basic SwitchD4A-4501N

Und dann ist da noch dasZ - 15GQ - B Q8 Q21 Q22 Basisschalter. Dies ist ein einfacher, aber zuverlässiger Schalter, der in einer Vielzahl grundlegender Anwendungen eingesetzt werden kann. Es entspricht einem einfachen Fall in einer Switch-Anweisung und behandelt die häufigsten Szenarios.

In der Softwareentwicklung bietet Ihnen die Möglichkeit, Lambda-Ausdrücke mit Switch-Anweisungen zu verwenden, mehr Flexibilität und Leistung. Sie können eine komplexere Entscheidungslogik erstellen, die sich an verschiedene Situationen anpassen lässt. Auch in der Welt der Schalter ermöglicht uns eine vielfältige Produktpalette, den Anforderungen unterschiedlicher Branchen und Anwendungen gerecht zu werden.

Egal, ob Sie an einem kleinen Heimwerkerprojekt oder einem großen industriellen Automatisierungssystem arbeiten, der richtige Schalter ist entscheidend. Genauso wie die richtigen Codekonstrukte in Ihren Programmierprojekten Ihr Leben viel einfacher machen.

Wenn Sie auf der Suche nach hochwertigen Schaltern sind, sind Sie bei uns genau richtig. Unsere Schalter sind mit erstklassigen Materialien und Präzisionstechnik auf Langlebigkeit ausgelegt. Wir verstehen, dass jedes Projekt einzigartig ist, und wir sind bestrebt, Ihnen dabei zu helfen, den perfekten Schalter für Ihre Anforderungen zu finden.

Wenn Sie mehr über unsere Produkte erfahren möchten oder Fragen dazu haben, welcher Schalter für Ihre Anwendung am besten geeignet ist, zögern Sie nicht, uns zu kontaktieren. Wir sind immer für ein Gespräch da und helfen Ihnen, die richtige Wahl zu treffen. Ganz gleich, ob Sie Hobbybastler oder professioneller Ingenieur sind, wir würden gerne mit Ihnen zusammenarbeiten. Also, komm und lass uns diese Reise gemeinsam beginnen!

Referenzen

  • C#-Programmierhandbuch, Microsoft Docs
  • „C# in Depth“ von Jon Skeet

Anfrage senden