Logo Makeyourgame
Accueil Les formations Créer un jeu Les ateliers Les tutoriels Blog Loterie
Logo Makeyourgame
Les formations Les financements Les exercices La certification Unity
Logo Makeyourgame
Mes objectifs Les jeux Les ressources Le glossaire
Logo Makeyourgame
Les tutos Les tutos Youtube

Comment utiliser les énumérations en C# (c sharp) ? : Langage C#

pictureProfil_alto
Ecrit par alto
Catégorie Langage C#
Mis à jour le 08/03/2020
Comment utiliser les énumérations en C# (c sharp) ?

Connaissez-vous et utilisez-vous les énumérations en C# ? En C#, comme dans bon nombre de langages informatiques ce concept existe. Voyons au travers de ce tutoriel commet utiliser des énumérations en C#.

4 min Débutant

Comme nous l'avons déjà vu lors de tutoriels précédents dédiés au C#, nous disposons de types de données possibles comme les classes ou encore les types dits "primitifs", si on reprend l'expression du langage Java. Les énumérations sont juste un autre type de données possible.

Déclarer une énumération

De manière très simple, ce type de données va nous permettre de déclarer une variable qui ne pourra avoir que certaines valeurs prédéfinies.

enum Status
    {
        IDLE,           // valeur 0
        ATTACK,     // valeur 1
        DIE             // valeur 2
    }

Assigner une variable de type enumération

Du coup on peut déclarer et assigner une variable de type Status

Status playerStatus = Status.IDLE;

Notez comme il est désormais facile de savoir, du premier coup d'oeil dans quel état passe notre joueur ...

Un autre avantage des enum, c'est que l'on peut lui donner une valeur entière

int valeurStatus = (int) playerStatus; //cast en entier !

Dans notre exemple valeurStatus vaudra alors 0, car le premier élément de notre énumération possède " l'indice 0", exactement comme les tableaux !

Mais on peut aussi faire l'inverse:

playerStatus = (Status)2; // vaudra alors 'DIE'

Comparaison d'énumérations

Très souvent nous avons besoin de savoir quelle est la valeur de notre variable de type Status par exemple, afin de la comparer pour enfin savoir vers où diriger notre programme.

De manière très simple on peut faire en C#:

if(playerStatus == Status.IDLE ){
    //make your logic
}

Pour aller encore plus loin sur la comparaison, retrouvez la documentation officielle sur les opérateurs de comparaison d'énumérations en C#.

Pourquoi utiliser des énumérations ?

Nous voici arrivés au terme de cette présentation théorique des énumérations en C#, mais certaines.es d'entre vous se demandent encore pourquoi les utiliser...

Prenons le code suivant qui n'utilise pas d'énumération:

const IDLE = "IDLE";
const ATTACK = "ATTACK";
const WALK = "WALK";
string playerStatus = WALK;
Et bien prenons le temps de réfléchir à ce point : "qu'est ce qui empêche un codeur d'ajouter une autre valeur que IDLE, WALK ou ATTACK ... ?"
playerStatus = "jump"; //possible car playerStatus est un string

alors qu'avec notre énumération précédente, nous avions des valeurs prédéfinies

Status playerStatus = "JUMP"; //error !!

// Status playerStatus => type Status avec 3 valeurs prédéfinies !

Alors ne perdez plus de temps et utilisez dans vos prochains projets des énumérations afin de rendre plus clair, lisible et safe votre code !

A très vite !

Vues: 2206

Licence:



Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner de l'expérience (XP) !