Maison > développement back-end > C++ > Comment puis-je réaliser un flux de contrôle basé sur des types de type en C #?

Comment puis-je réaliser un flux de contrôle basé sur des types de type en C #?

Patricia Arquette
Libérer: 2025-01-28 15:31:09
original
756 Les gens l'ont consulté

How Can I Achieve Superior Type-Based Control Flow in C#?

Implémentez un flux de contrôle basé sur le type de niveau élevé en C #

C # est connu pour sa multifonctionnalité, mais il a toujours été des limitations importantes qui ne peuvent pas être commutées en fonction du type. Cependant, avec l'émergence de nouvelles versions linguistiques, de nombreuses méthodes alternatives ont émergé pour éviter cette limite.

C # 7 MODE MACKING

C # 7 introduit la correspondance du mode, qui est un mécanisme élégant qui permet de changer directement en fonction du type. Considérez l'exemple suivant:

La correspondance du mode fournit une méthode simple et type de sécurité pour traiter différents types dans une instruction Switch, améliorant ainsi la lisibilité du code et promouvant des types de fonctionnement spécifiques plus efficaces.

L'opérateur de noms () dans le C # 6
<code class="language-csharp">switch (shape)
{
    case Circle c:
        WriteLine($"圆形,半径为 {c.Radius}");
        break;
    // ...
}</code>
Copier après la connexion

Pour les utilisateurs C # 6, l'opérateur NameOf () fournit une solution alternative. En utilisant le nom de type comme une chaîne comme cible, vous pouvez créer l'instruction Switch comme indiqué ci-dessous:

Bien qu'il ne soit pas aussi universel que la correspondance du mode, cette méthode fournit une méthode fiable pour les classifications dans les versions C # 6 et antérieures.

C # 5 et les versions antérieures utilisent le nom de type du nom de type

<code class="language-csharp">switch (o.GetType().Name)
{
    case nameof(AType):
        break;
    // ...
}</code>
Copier après la connexion

Pour les utilisateurs utilisant C # 5 et ci-dessous, l'instruction Switch Basic à l'aide d'une chaîne de nom de type de codage dur est toujours une méthode réalisable, bien que la flexibilité soit faible:

Bien qu'il n'ait pas la complexité de ses nouveaux objets correspondants, cette méthode peut toujours répondre aux besoins de prise de décision basés sur le type simple dans la première version de C #.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal