Énumération des chaînes en C#

Muhammad Maisam Abbas 16 février 2024
  1. Créer une énumération de chaînes avec une fonction d’extension en C#
  2. Créer une énumération de chaînes avec des variables constantes en C#
  3. Créer une énumération de chaînes avec la fonction ToString() en C#
Énumération des chaînes en C#

Ce didacticiel présentera des méthodes pour créer une énumération de chaînes en C#.

Créer une énumération de chaînes avec une fonction d’extension en C#

Une énumération est un ensemble prédéfini de valeurs constantes qu’une variable peut stocker. La classe enum permet de déclarer une énumération en C#. Par défaut, le type de variables à l’intérieur de la classe enum est int. Il n’y a pas de méthode intégrée pour déclarer une énumération avec des valeurs de chaîne. Si nous voulons déclarer une énumération avec des constantes chaîne, nous pouvons utiliser la classe enum et une fonction d’extension pour atteindre cet objectif. L’exemple de code suivant nous montre comment créer une énumération de valeurs de chaîne avec la classe enum et la fonction d’extension en C#.

using System;

namespace enum_with_string {
  public enum ErrorLevel { None, Low, Medium, High }

  public static class ErrorLevelExtensions {
    public static string GetString(this ErrorLevel me) {
      switch (me) {
        case ErrorLevel.None:
          return "NO ERRORS";
        case ErrorLevel.Low:
          return "LOW LEVEL ERROR";
        case ErrorLevel.Medium:
          return "MEDIUM LEVEL ERROR";
        case ErrorLevel.High:
          return "HIGH LEVEL ERROR";
        default:
          return "NO VALUE GIVEN";
      }
    }
  }
  class Program {
    static void Main(string[] args) {
      ErrorLevel e = ErrorLevel.None;
      string output = e.GetString();
      Console.WriteLine(output);
    }
  }
}

Production:

NO ERRORS

Nous avons déclaré l’énumération ErrorLevel avec les valeurs constantes None, Low, Medium, High avec le mot-clé enum. Ensuite, nous avons créé la fonction d’extension GetString() qui utilise une instruction switch() pour déterminer la valeur de l’énumération et retourner une chaîne en fonction de la valeur. Le résultat de la fonction GetString() est enregistré dans la chaîne output.

Créer une énumération de chaînes avec des variables constantes en C#

Nous pouvons également obtenir la fonctionnalité d’une énumération en initialisant certaines variables constantes à l’intérieur d’une classe en C#. Le mot-clé const spécifie qu’une variable est désormais constante et que nous ne pouvons pas changer sa valeur. L’exemple de code suivant nous montre comment créer une énumération de chaînes avec des variables constantes en C#.

using System;

namespace enum_with_string {
  public static class Error {
    public const string None = "No Errors";
    public const string Low = "Low Level Errors";
    public const string Medium = "Medium Level Errors";
    public const string High = "High Level Errors";
  }
  class Program {
    static void Main(string[] args) {
      String output = Error.Low;
      Console.WriteLine(output);
    }
  }
}

Production:

Low Level Errors

Nous avons déclaré une public static class nommée Error et initialisé toutes les variables public const string à l’intérieur de la classe. La raison de garder la classe static est que nous ne voulons pas créer une instance de la classe Error à l’intérieur de la fonction main(). Nous avons stocké la valeur de Error.Low dans la variable string output. Cette approche est beaucoup plus simple et facile à comprendre. La même chose peut également être faite avec une structure avec le mot-clé struct à la place du mot-clé class.

Créer une énumération de chaînes avec la fonction ToString() en C#

Il s’agit d’une méthode improvisée de conversion des noms des valeurs à l’intérieur de l’énumération en chaîne en C#. Nous pouvons utiliser la fonction ToString() avec l’instance d’une énumération pour convertir le nom de la valeur à l’intérieur de l’énumération en une chaîne. L’exemple de code suivant nous montre comment créer une énumération de chaînes avec la fonction ToString() en C#.

using System;

namespace enum_with_string {
  public enum ErrorLevel { None, Low, Medium, High }
  class Program {
    static void Main(string[] args) {
      ErrorLevel e = ErrorLevel.None;
      string output = e.ToString();
      Console.WriteLine(output);
    }
  }
}

Production:

None

Nous avons converti le nom None dans l’énumération ErrorLevel en une chaîne avec la fonction ToString() en C#. Cette méthode est facile à utiliser, mais présente quelques inconvénients. Nous ne pouvons pas obtenir la valeur Low Level Errors comme nos exemples précédents avec cette approche. Nous devons suivre les conventions de dénomination de C# dans cette approche. Cette méthode n’est conseillée que si nous voulons créer une énumération de chaînes à un seul mot. Pour toute autre chose, nous devrions utiliser l’une des deux méthodes décrites ci-dessus.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp String

Article connexe - Csharp Enum