Strings Enum em C#
-
Criar enumeração de strings com função de extensão em
C#
-
Criar enumeração de strings com variáveis constantes em
C#
-
Criar enumeração de strings com a função
ToString()
emC#
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.
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.
LinkedInArtigo relacionado - Csharp String
- C# Converter Int a String
- C# Converter String em Enum
- Use Strings na instrução Switch em C#
- C# Converter String para Data
- Como converter uma string em Booleano em C#
- Como converter uma string em uma array de bytes em C#