Strings Enum em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Criar enumeração de strings com função de extensão em C#
  2. Criar enumeração de strings com variáveis ​​constantes em C#
  3. Criar enumeração de strings com a função ToString() em C#
Strings Enum em C#

Este tutorial apresentará métodos para criar uma enumeração de strings em C#.

Criar enumeração de strings com função de extensão em C#

Uma enumeração é um conjunto predefinido de valores constantes que uma variável pode armazenar. A classe enum é usada para declarar uma enumeração em C#. Por padrão, o tipo de variáveis ​​dentro da classe enum é int. Não existe um método interno para declarar uma enumeração com valores de string. Se quisermos declarar uma enumeração com constantes de string, podemos usar a classe enum e uma função de extensão para atingir esse objetivo. O exemplo de código a seguir nos mostra como criar uma enumeração de valores de string com a classe enum e a função de extensão em 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);
    }
  }
}

Resultado:

NO ERRORS

Declaramos a enumeração ErrorLevel com os valores constantes None, Low, Medium, High com a palavra-chave enum. Em seguida, criamos a função de extensão GetString() que usa uma instrução switch() para determinar o valor da enumeração e retornar uma string de acordo com o valor. O resultado da função GetString() é salvo na string output.

Criar enumeração de strings com variáveis ​​constantes em C#

Também podemos obter a funcionalidade de uma enumeração inicializando algumas variáveis ​​constantes dentro de uma classe em C#. A palavra-chave const especifica que uma variável agora é constante e não podemos alterar seu valor. O exemplo de código a seguir nos mostra como podemos criar uma enumeração de strings com variáveis ​​constantes em 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);
    }
  }
}

Resultado:

Low Level Errors

Declaramos uma public static class chamada Error e inicializamos todas as variáveis ​​public const string dentro da classe. A razão para manter a classe static é que não queremos criar uma instância da classe Error dentro da função main(). Armazenamos o valor de Error.Low dentro da variável de string output. Essa abordagem é muito mais simples e fácil de entender. O mesmo também pode ser feito com uma estrutura com a palavra-chave struct no lugar da palavra-chave class.

Criar enumeração de strings com a função ToString() em C#

Este é um método improvisado de converter os nomes dos valores dentro da enumeração em string em C#. Podemos usar a função ToString() com a instância de uma enumeração para converter o nome do valor dentro da enumeração em uma string. O exemplo de código a seguir nos mostra como criar uma enumeração de strings com a função ToString() em 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);
    }
  }
}

Resultado:

None

Convertemos o nome None dentro da enumeração ErrorLevel em uma string com a função ToString() em C#. Este método é fácil de usar, mas existem algumas desvantagens. Não podemos obter o valor Low Level Errors como nossos exemplos anteriores com esta abordagem. Temos que seguir as convenções de nomenclatura do C# nesta abordagem. Este método só é aconselhável se quisermos criar uma enumeração de apenas strings de uma palavra. Para qualquer outra coisa, devemos usar uma das duas maneiras discutidas acima.

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

Artigo relacionado - Csharp String

Artigo relacionado - Csharp Enum