Parsowanie enuma na podstawie wartości liczbowej

Parsowanie enuma na podstawie wartości liczbowej
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć i czołem :)
Mam taki ciekawy problem z parsowaniem inta do typu Keys, który jest enum'em. Chcę na podstawie wartości 1 otrzymać Keys.D1. Robię tak:

Kopiuj
int i = 1;
Keys key = (Keys)(48 + i);
key = (Keys)Enum.Parse(typeof(Keys), (48 + i).ToString());
key = (Keys)Enum.Parse(typeof(Keys), String.Format("D{0}", 48 + i));

Zmienna key w każdej linijce ma dziwną wartość "LButton | ShiftKey | Space", chociaż Keys.D1 wynosi 49, czyli to moje 48 + i.

Czy to jakiś bug w C#, czy ja coś robię źle? :)

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Przecież String.Format("D{0}", 48 + i)); daje ci "D49", co jest bezydurą.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gród Króla Kraka
0

To racja, moje paskudne niedopatrzenie. Dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.