Strings Enum em C#

  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.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
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