Ho un'enumerazione:Cerca una stringa nella Enum e restituire l'Enum
public enum MyColours
{
Red,
Green,
Blue,
Yellow,
Fuchsia,
Aqua,
Orange
}
e ho una stringa:
string colour = "Red";
Voglio essere in grado di tornare:
MyColours.Red
da:
public MyColours GetColour(string colour)
Finora ho:
public MyColours GetColours(string colour)
{
string[] colours = Enum.GetNames(typeof(MyColours));
int[] values = Enum.GetValues(typeof(MyColours));
int i;
for(int i = 0; i < colours.Length; i++)
{
if(colour.Equals(colours[i], StringComparison.Ordinal)
break;
}
int value = values[i];
// I know all the information about the matched enumeration
// but how do i convert this information into returning a
// MyColour enumeration?
}
Come potete vedere, io sono un po 'bloccato. È comunque necessario selezionare ed enumerare in base al valore. Qualcosa di simile:
MyColour(2)
si tradurrebbe in
MyColour.Green
possibile duplicato di [Come convertire una stringa in enum in C#?] (Http://stackoverflow.com/questions/16100/how-do-i-convert-a-string-to- an-enum-in-c) – nawfal
@nawfal, non l'ho trovato quando gliel'ho chiesto tutti quegli anni fa. Hanno votato per chiudere come duplicato. –