Travailler avec des énumérations en C#
Énumérer via une énumération en C# peut être légèrement déroutant pour les débutants. Cela conduit souvent à des erreurs de compilation si cela n’est pas fait correctement. Comprendre la manière appropriée de parcourir les valeurs d'énumération est crucial pour un codage efficace.
Dans cet article, nous discuterons d'une approche simple pour énumérer une énumération en C#, en utilisant un exemple qui met en évidence les pièges courants et la méthode correcte. À la fin, vous serez en mesure d’énumérer facilement n’importe quelle énumération.
Commande | Description |
---|---|
Enum.GetValues(typeof(Suit)) | Récupère un tableau des valeurs des constantes dans une énumération spécifiée. |
Enum.GetValues() | Renvoie un tableau de toutes les valeurs d'énumération. |
Cast<T>() | Convertit les éléments d'un IEnumerable en type spécifié. |
Console.WriteLine() | Écrit les données spécifiées, suivies du terminateur de ligne actuel, dans le flux de sortie standard. |
foreach | Parcourt une collection ou un tableau, en exécutant un bloc de code pour chaque élément. |
public enum | Définit une énumération, un type distinct constitué d'un ensemble de constantes nommées appelé liste d'énumérateurs. |
Explication détaillée de l'itération Enum
Les scripts fournis montrent comment énumérer correctement via une énumération en C#. Le premier script utilise pour récupérer un tableau de toutes les valeurs du énumération. Ce tableau est ensuite itéré avec un boucle, permettant au programme d'exécuter le DoSomething(suit) méthode pour chaque valeur enum. Cette approche est simple et exploite les méthodes C# intégrées pour gérer efficacement les énumérations.
Le deuxième script atteint le même objectif mais utilise LINQ pour plus de flexibilité et de lisibilité. En appelant , les valeurs d'énumération sont converties en tapez, permettant des opérations LINQ plus avancées si nécessaire. Le La boucle traite ensuite chaque combinaison de la même manière, en invoquant le DoSomething(suit) méthode pour chaque valeur enum. Les deux scripts sont essentiels pour parcourir les énumérations et éviter les pièges courants comme le traitement du type enum comme une variable.
Énumération des valeurs Enum en C#
Utiliser C# pour parcourir Enum
using System;
using System.Linq;
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public class Program
{
public static void Main()
{
foreach (Suit suit in Enum.GetValues(typeof(Suit)))
{
DoSomething(suit);
}
}
public static void DoSomething(Suit suit)
{
Console.WriteLine(suit);
}
}
Énumération appropriée des énumérations en C#
Utilisation de LINQ pour l'itération Enum
using System;
using System.Linq;
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public class Program
{
public static void Main()
{
var suits = Enum.GetValues(typeof(Suit)).Cast<Suit>();
foreach (var suit in suits)
{
DoSomething(suit);
}
}
public static void DoSomething(Suit suit)
{
Console.WriteLine(suit);
}
}
Comprendre les méthodes et propriétés Enum
En plus de parcourir les énumérations, il est essentiel de comprendre d’autres méthodes et propriétés utiles fournies par les énumérations en C#. Une de ces méthodes est , qui renvoie le nom de la constante dans l'énumération spécifiée qui a la valeur spécifiée. Cela peut être particulièrement utile pour afficher des noms conviviaux pour les valeurs d'énumération.
Une autre propriété utile est , qui vérifie si une valeur ou un nom spécifié existe dans une énumération particulière. Cette méthode est pratique à des fins de validation pour garantir qu'une valeur donnée fait bien partie de l'ensemble d'énumérations défini. Comprendre ces méthodes permet aux développeurs d'exploiter toute la puissance des énumérations dans leurs applications, garantissant ainsi un code robuste et lisible.
- Comment puis-je obtenir tous les noms d’une énumération ?
- Utiliser pour récupérer un tableau des noms des constantes dans l'énumération.
- Puis-je convertir une chaîne en valeur enum ?
- Oui, utilisez pour convertir une chaîne en la valeur enum correspondante.
- Comment puis-je vérifier si une valeur existe dans une énumération ?
- Utiliser pour vérifier si une valeur spécifique existe dans l'énumération.
- Les énumérations peuvent-elles être utilisées avec des opérations au niveau du bit ?
- Oui, en définissant l'énumération avec le attribut, les énumérations peuvent être utilisées pour les opérations au niveau du bit.
- Comment puis-je obtenir le type sous-jacent d’une énumération ?
- Utiliser pour obtenir le type sous-jacent de l’énumération.
- Quelle est la valeur par défaut d'une énumération ?
- La valeur par défaut d'une énumération est la valeur associée à zéro, qui est généralement la première valeur répertoriée dans l'énumération.
- Puis-je parcourir les noms d’énumérations au lieu des valeurs ?
- Oui, vous pouvez utiliser pour parcourir les noms.
- Comment puis-je comparer deux valeurs d'énumération ?
- Les valeurs d'énumération peuvent être comparées à l'aide d'opérateurs de comparaison standard tels que , , , et >.
En conclusion, énumérer une énumération en C# nécessite de comprendre les méthodes et propriétés correctes fournies par le langage. En utilisant permet une itération simple, tandis que LINQ offre une flexibilité supplémentaire. Garantir une utilisation appropriée de ces méthodes évite les pièges courants, tels que le traitement du type enum comme une variable. De plus, en tirant parti d'autres méthodes d'énumération telles que et améliore la robustesse de votre code. La maîtrise de ces techniques est essentielle pour une programmation C# efficace, vous permettant de gérer les énumérations de manière efficace et précise dans vos applications.