Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chercher une valeur dans un enum

2 réponses
Avatar
J-L
Bonjour,

Si je définis un enum:

public enum MouseKeys
{
WM_LBUTTONDOWN = 0x0201,
WM_LBUTTONUP = 0x0202,
WM_LBUTTONDBLCLK = 0x0203,
WM_RBUTTONDOWN = 0x0204,
WM_RBUTTONUP = 0x0205,
WM_RBUTTONDBLCLK = 0x0206,
WM_MBUTTONDOWN = 0x0207,
WM_MBUTTONUP = 0x0208,
WM_MBUTTONDBLCLK = 0x0209,
WM_MOUSEWHEEL = 0x020A
}

et que je veux savoir si une valeur de variable est dans l'enum,
comment je peux faire sans utiliser un foreach ?

Sous Delphi j'utilisais
if mavariable in monset then ...

Avec C#, je ne trouve pas d'équivalent :(

2 réponses

Avatar
Delf
J-L avait prétendu :

Bonjour,

Si je définis un enum:

public enum MouseKeys
{
WM_LBUTTONDOWN = 0x0201,
WM_LBUTTONUP = 0x0202,
WM_LBUTTONDBLCLK = 0x0203,
WM_RBUTTONDOWN = 0x0204,
WM_RBUTTONUP = 0x0205,
WM_RBUTTONDBLCLK = 0x0206,
WM_MBUTTONDOWN = 0x0207,
WM_MBUTTONUP = 0x0208,
WM_MBUTTONDBLCLK = 0x0209,
WM_MOUSEWHEEL = 0x020A
}

et que je veux savoir si une valeur de variable est dans l'enum, comment je
peux faire sans utiliser un foreach ?

Sous Delphi j'utilisais
if mavariable in monset then ...

Avec C#, je ne trouve pas d'équivalent :(



De mémoire; tu peux utiliser le retour string[] de Enums.GetNames() ;
tu utilise ce tableau pour initialiser un ArrayList et tu utilises
.Contains() dessus.

--
Delf
Avatar
J-L
>
De mémoire; tu peux utiliser le retour string[] de Enums.GetNames() ; tu
utilise ce tableau pour initialiser un ArrayList et tu utilises .Contains()
dessus.



Merci, j'ai trouvé le truc ...

public enum MouseKeys
{
WM_LBUTTONDOWN = 0x0201,
WM_LBUTTONUP = 0x0202,
WM_LBUTTONDBLCLK = 0x0203,
WM_RBUTTONDOWN = 0x0204,
WM_RBUTTONUP = 0x0205,
WM_RBUTTONDBLCLK = 0x0206,
WM_MBUTTONDOWN = 0x0207,
WM_MBUTTONUP = 0x0208,
WM_MBUTTONDBLCLK = 0x0209,
WM_MOUSEWHEEL = 0x020A
}

if (Enum.IsDefined(typeof(MouseKeys), MaValeur))
{
// C'est dedans
}