Optimierung mehrerer Wertprüfungen in if
Kontoauszügen
Programmierer müssen häufig innerhalb von if
-Anweisungen nach mehreren Werten suchen. Das Verketten von Vergleichen mit logischen Operatoren (wie ||
oder &&
) funktioniert zwar, kann jedoch umständlich werden, insbesondere wenn es um zahlreiche potenzielle Werte geht. In diesem Artikel werden sauberere und prägnantere Methoden untersucht, insbesondere bei der Arbeit mit Wertearrays.
Nutzung integrierter Array-Funktionen
Viele Programmiersprachen bieten integrierte Funktionen zur effizienten Wertprüfung innerhalb von Arrays. Die Contains()
-Methode von C# ermittelt beispielsweise problemlos, ob ein Array ein bestimmtes Element enthält.
Anschauliches C#-Beispiel:
<code class="language-csharp">if (new[] { 1, 2 }.Contains(value)) { /* ... */ }</code>
Dies führt präzise zu true
, wenn value
entweder 1 oder 2 ist. Es ist wichtig zu bedenken, dass sich dieser Ansatz geringfügig von der Verwendung logischer Operatoren innerhalb der if
-Anweisung unterscheidet.
Benutzerdefinierte Erweiterungsmethoden: Eine elegantere Lösung
Das Erstellen benutzerdefinierter Erweiterungsmethoden bietet eine leistungsstarke, objektorientierte Möglichkeit, die integrierte Typfunktionalität zu verbessern. Stellen Sie sich eine Erweiterungsmethode namens In()
vor, die prüft, ob ein Wert in einem Array desselben Typs vorhanden ist.
Benutzerdefinierte In()
Erweiterungsmethode (C#):
<code class="language-csharp">public static bool In<T>(this T obj, params T[] args) { return args.Contains(obj); }</code>
Verwendung der In()
Erweiterungsmethode:
<code class="language-csharp">if (1.In(1, 2)) { /* ... */ }</code>
Dadurch wird das gleiche Ergebnis wie im vorherigen Beispiel erzielt, jedoch mit verbesserter Lesbarkeit und einem objektorientierten Design. Erweiterungsmethoden sind von unschätzbarem Wert für die Erweiterung vorhandener Typen, ohne ihre ursprünglichen Definitionen zu ändern.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach mehreren Werten in einer „if'-Anweisung suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!