c#ist für seine Multifunktionalität bekannt, aber es war immer eine signifikante Einschränkungen, die nicht nach dem Typ geschaltet werden können. Mit der Entstehung neuer Sprachversionen sind jedoch viele alternative Methoden entstanden, um diese Grenze zu vermeiden.
C# 7 -Modus passt
c# 7 führt die Modusanpassung vor, was ein eleganter Mechanismus ist, der das Schalten direkt nach dem Typ ermöglicht. Betrachten Sie das folgende Beispiel: Der
-Modus -Matching bietet eine einfache und Art der Sicherheitsmethode, um verschiedene Typen in einer Switch -Anweisung zu verarbeiten, wodurch die Lesbarkeit des Codes verbessert und effektivere spezifische Betriebstypen fördert.Der Nameof () -Operator im C# 6
<code class="language-csharp">switch (shape) { case Circle c: WriteLine($"圆形,半径为 {c.Radius}"); break; // ... }</code>
Für C# 6 -Benutzer bietet der NameOF () -Operator eine alternative Lösung. Durch die Verwendung des Typs des Typs als Zeichenfolge als Ziel können Sie die unten gezeigte Switch -Anweisung erstellen:
Obwohl diese Methode nicht so universell wie die Modus -Matching, bietet diese Methode eine zuverlässige Methode für Klassifizierungen in C# 6 und früheren Versionen.
C# 5 und frühere Versionen verwenden den Typennamen des Typs des Typs
<code class="language-csharp">switch (o.GetType().Name) { case nameof(AType): break; // ... }</code>
Für Benutzer, die C# 5 und unten verwenden, ist die Basis -Switch -Anweisung unter Verwendung eines Namens für Hard -Kodierungsname immer noch eine praktikable Methode, obwohl die Flexibilität niedrig ist:
Obwohl es die Komplexität seiner neuen entsprechenden Objekte fehlt, kann diese Methode trotzdem den einfachen Typ -basierten Entscheidungsbedarf in der frühen Version von C#erfüllen.
Das obige ist der detaillierte Inhalt vonWie kann ich in C#einen überlegenen Kontrollfluss von überlegenem Typ erzielen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!