Im Vergleich von Anweisungen für if/else und Switch-Case in der C#
In der C# -Programmierung verwenden Sie die Anweisung if/else oder in der Switch-Case-Anweisung häufig die Programmierer in Leistung oder funktionale Unterschiede.
Die Analyse der Vorteile und Nachteile
Obwohl beide für Bedingungen verwendet werden, haben sie ihre eigenen Eigenschaften:
Wenn/else:
flexibler, ist es einfacher zu erreichen, wenn die Anzahl der Bedingungen gering ist.
Switch-Case: optimiert für mehrere Tests für eine einzelne Variable oder einen einzelnen Ausdruck, die Leistung ist besser und die Code-Lesbarkeit ist stärker. -
Leistungsüberlegungen
-
In den meisten Fällen hat die Auswahl von If/sonst und Switch-Case nur geringe Auswirkungen auf die sexuelle (IL) oder Laufzeitleistung. Im Freigabemodus wird die Anweisung Switch-Case jedoch normalerweise in eine Sprungtabelle zusammengestellt, um die Suchzeit von O (1) zu erreichen.
Switch -Anweisung basierend auf String
c# ist eindeutig, um die Signalbewertung an der String-Konstante zu ermöglichen. In diesem Fall wird der Compiler unterschiedliche Optimierungsstrategien anwenden:
Eine kleine Menge:
Für die Effizienz wird die Switch -Anweisung normalerweise in eine Reihe von if/else -Anweisungen zusammengestellt.
Viele Situationen: Der Compiler erzeugt Hash -Tabellen, um die konstante Zeit zu finden.
Vorschlag -
Wenn die Anzahl der Bedingungen etwa fünf überschreitet, wird im Allgemeinen empfohlen, die Switch-Case-Anweisung zu verwenden, da sie Leistungsvorteile aufweist. Die IF/sonst -Anweisung kann für die Lesbarkeit weniger Bedingungen oder Priorität geeigneter sein.
Das obige ist der detaillierte Inhalt vonWenn/else gegen Switch-Case in C#: Wann sollte ich welche auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!