de-vraag
  • Perguntas
  • Etiquetas
  • Utilizadores
Notificações
Recompensas
Inscrição
Uma vez registado, será notificado das respostas e comentários às suas perguntas.
Entrar
Se já tem uma conta, inicie sessão para verificar novas notificações.
Haverá recompensas por perguntas, respostas e comentários adicionais.
Mais
Fonte
Editar
 divinci
divinci
Question

Como percorrer todos os valores de enumeração em C#?

Esta pergunta já tem uma resposta aqui:

https://stackoverflow.com/questions/105372/how-to-enumerate-an-enum 26 respostas

public enum Foos
{
    A,
    B,
    C
}

Existe uma forma de percorrer os possíveis valores de Foos?

Basicamente?

foreach(Foo in Foos)
1348 2009-06-09T20:25:04+00:00 8
 Cœur
Cœur
Pergunta editada :em
Programação
.net
c#
enums
language-features
Popular videos
Programação em C# - Enumerações enums - 35
Programação em C# - Enumerações enums - 35
há 7 anos
Enumeradores (enum) - Curso Programação Completo C# - Aula 10
Enumeradores (enum) - Curso Programação Completo C# - Aula 10
há 2 anos
C#, tipo de dados enumeração - enum. Introdução ao Csharp
C#, tipo de dados enumeração - enum. Introdução ao Csharp
há 1 ano
Maior e menor valor do vetor
Maior e menor valor do vetor
há 5 anos
C#, enumeração. C Sharp Windows Forms Visual Studio 2019
C#, enumeração. C Sharp Windows Forms Visual Studio 2019
há 9 meses
ENUM ENUMERAÇÕES | Linguagem C #034
ENUM ENUMERAÇÕES | Linguagem C #034
há 6 anos
[2] Exercício C# - Somar Números entre 1 e 1000
[2] Exercício C# - Somar Números entre 1 e 1000
há 3 anos
033 c# enumeracoes
033 c# enumeracoes
há 6 anos
[11] EXERCÍCIO C# - Somar Todos os Dígitos de um Número
[11] EXERCÍCIO C# - Somar Todos os Dígitos de um Número
há 3 anos
Programação C# 13 | Enumerações
Programação C# 13 | Enumerações
há 7 anos
Lista Estática Desordenada - Programa C
Lista Estática Desordenada - Programa C
há 1 ano
Universidade XTI - JAVA - 046 - Enumeração enum Constantes Java
Universidade XTI - JAVA - 046 - Enumeração enum Constantes Java
há 7 anos
14.1 - C# - Exercício - Ordena três valores
14.1 - C# - Exercício - Ordena três valores
há 8 anos
Desafios de C# 018 - Passar valores entre formulários
Desafios de C# 018 - Passar valores entre formulários
há 3 anos
Passagem Parâmetros em C# - value, ref, out e params
Passagem Parâmetros em C# - value, ref, out e params
há 1 ano
« Anterior
Próximo »
Solution / Answer
 JaredPar
JaredPar
9º junho 2009 в 8:28
2009-06-09T20:28:22+00:00
Mais
Fonte
Editar
#9145185

Sim, você pode utilizar o método [`GetValues][1]:

var values = Enum.GetValues(typeof(Foos));

Ou a versão datilografada:

var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

Há muito tempo atrás adicionei uma função de ajuda à minha biblioteca privada para uma ocasião destas:

public static class EnumUtil {
    public static IEnumerable<T> GetValues<T>() {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}

Uso:

var values = EnumUtil.GetValues<Foos>();

[1]: https://docs.microsoft.com/en-us/dotnet/api/system.enum.getvalues

Evgeni Sergeev
Evgeni Sergeev
Resposta editada :em
Enum.GetValues Method (System) | Microsoft Docs
Retrieves an array of the values of the constants in a specified enumeration.
docs.microsoft.com
1915
0
 SLaks
SLaks
9º junho 2009 в 8:28
2009-06-09T20:28:14+00:00
Mais
Fonte
Editar
#9145184
foreach(Foos foo in Enum.GetValues(typeof(Foos)))
 SLaks
SLaks
Resposta editada :em
761
0
 Inisheer
Inisheer
9º junho 2009 в 8:28
2009-06-09T20:28:56+00:00
Mais
Fonte
Editar
#9145187
foreach (EMyEnum val in Enum.GetValues(typeof(EMyEnum)))
{
   Console.WriteLine(val);
}

Crédito a Jon Skeet aqui: http://bytes.com/groups/net-c/266447-how-loop-each-items-enum

How to loop each items in enum ? - C# / C Sharp
How to loop each items in enum ?. C# / C Sharp Forums on Bytes.
bytes.com
116
0
 adrianbanks
adrianbanks
9º junho 2009 в 8:29
2009-06-09T20:29:26+00:00
Mais
Fonte
Editar
#9145188
foreach (Foos foo in Enum.GetValues(typeof(Foos)))
{
    ...
}
 adrianbanks
adrianbanks
Resposta editada :em
58
0
Neil Barnwell
Neil Barnwell
9º junho 2009 в 8:30
2009-06-09T20:30:18+00:00
Mais
Fonte
Editar
#9145190

**UPDATADO*** Algum tempo depois, vejo um comentário que me traz de volta à minha velha resposta, e acho que eu'faria isso de forma diferente agora. Hoje em dia eu'd escrevo:

private static IEnumerable<T> GetEnumValues<T>()
{
    // Can't use type constraints on value types, so have to do check like this
    if (typeof(T).BaseType != typeof(Enum))
    {
        throw new ArgumentException("T must be of type System.Enum");
    }

    return Enum.GetValues(typeof(T)).Cast<T>();
}
Neil Barnwell
Neil Barnwell
Resposta editada :em
34
0
 dbones
dbones
9º junho 2009 в 8:32
2009-06-09T20:32:12+00:00
Mais
Fonte
Editar
#9145191
static void Main(string[] args)
{
    foreach (int value in Enum.GetValues(typeof(DaysOfWeek)))
    {
        Console.WriteLine(((DaysOfWeek)value).ToString());
    }

    foreach (string value in Enum.GetNames(typeof(DaysOfWeek)))
    {
        Console.WriteLine(value);
    }
    Console.ReadLine();
}

public enum DaysOfWeek
{
    monday,
    tuesday,
    wednesday
}
Tshilidzi Mudau
Tshilidzi Mudau
Resposta editada :em
24
0
Vasu Balakrishnan
Vasu Balakrishnan
9º junho 2009 в 8:30
2009-06-09T20:30:07+00:00
Mais
Fonte
Editar
#9145189
 Enum.GetValues(typeof(Foos))
9
0
Pablo  Santa Cruz
Pablo Santa Cruz
9º junho 2009 в 8:28
2009-06-09T20:28:41+00:00
Mais
Fonte
Editar
#9145186

Sim. Utilize o método [GetValues()][1] na classe [System.Enum][2].

[1]: https://msdn.microsoft.com/en-us/library/system.enum.getvalues.aspx [2]: http://msdn.microsoft.com/en-us/library/system.enum.aspx

Lonely Neuron
Lonely Neuron
Resposta editada :em
6
0
Adicionar pergunta
Categorias
Todos
Tecnologia
Cultura / Recreação
Vida / Artes
Ciência
Profissional
Negócios
Utilizadores
Todos
Novo
Popular
1
mohidil qodirova
Registrado há 22 horas
2
Jasur Fozilov
Registrado há 1 dia
3
Zuxriddin Muydinov
Registrado há 2 dias
4
Денис Анненский
Registrado há 4 dias
5
365
Registrado há 1 semana
DE
EL
ES
FR
ID
IT
JA
KO
NL
PT
RU
TR
ZH
© de-vraag 2022
Fonte
stackoverflow.com
sob licença cc by-sa 3.0 com atribuição