tengo la siguiente enumeración:simple comparar si una enumeración está en una lista de enumeraciones
public enum Materials { Wood, Stone, Earth, Water, Lava, Air }
Ahora tengo 3materials en el que podía caminar (madera piedra Tierra) y 3 que enviaban aire transitable (lava el agua)
Me gustaría hacer posible comparar si una bandera es una de las tres.
Por el momento, esta es la forma en que lo hago:
Materials myMat = Materials.Earth;
if (myMat == Materials.Earth || myMat == Materials.Wood || myMat == Materials.Stone)
{
I can walk on myMat...
}
isnt posible la creación de una nueva bandera como Materials.Walkable que incluiría estos tres materiales, así que puede simplemente usar
if (myMat == Materials.Walkable)
Si esto es posible, ¿cómo puedo hacer eso?
Gracias de antemano;)
no sabía que esto era posible en C# –
¿Por qué se definen los valores numéricos para todos los valores de enumeración? Creo que configurarlo solo para 'None' (y' Walkable') funcionaría igual de bien. – svick
Para convertirlos en indicadores de bits, quiere asegurarse de que sean potencias de 2. De lo contrario, sus valores comienzan en 0 y aumentan en 1. – Dismissile