Salut
Comment puis-je convertir un enum
en IList
?
Supposons que vous voulez lire tous les éléments FormWindowState
ENUM, et retourner un IList<FormWindowState>
contenant Normal
, Minimized
et Maximized
Conversion d'un type Enum en IList
Répondre
Utilisez Enum.GetValues()
. Par exemple:
var list = (IList<FormWindowState>) Enum.GetValues(typeof(FormWindowState));
Il retourne en fait un FormWindowState[]
mais qui met en oeuvre IList<T>
appropriée de toute façon.
Si vous travaillez beaucoup avec des énumérations et que vous souhaitez une approche plus sûre du type, vous pouvez également consulter mon projet Unconstrained Melody.
IList<FormWindowState> myList;//instantiate it with a concrete collection.
myList.Add(FormWindowsState.Normal);
myList.Add(FormWindowsState.Minimized);
myList.Add(FormWindowsState.Maximized);
Ceci est juste pour ce cas, quand vous avez seulement 3 membres enum. Sinon, utilisez la solution de Jon Skeet.
Si vous * vouliez * les ajouter explicitement, il serait au moins plus agréable d'utiliser un initialiseur de collection au lieu d'ajouter des appels explicites. –
Ouais, vous avez raison, je travaille toujours principalement avec .NET 2.0 et pas beaucoup utilisé pour utiliser les nouvelles fonctionnalités du langage. +1 pour le commentaire aussi. –
Vous pouvez toujours utiliser des initialiseurs de collection dans .NET 2.0 tant que vous compilez avec le compilateur C# 3. Si vous utilisez VS2005, vous avez mes sympathies :( –
- 1. Conversion d'une chaîne en un type enum en utilisant TValue?
- 2. opérateur Conversion en ENUM
- 3. IList type question cast
- 4. Doctrine type ENUM en valeur
- 5. Conversion de chaînes à enum en C++?
- 6. IList <Type> à IList <BaseType>
- 7. Performance de conversion de ENUM
- 8. Conversion de Enum à dénombrable
- 9. Conversion d'un nombre entier en Enum dans PostgreSQL
- 10. affaires ENUM à la conversion DatContract Enum dans WCF
- 11. C# enum to string auto-conversion?
- 12. Conversion de type en C#
- 13. Conversion Null à Nullable Enum (générique)
- 14. Confusion avec C# Enum et conversion explicite
- 15. membres enum de type Int32
- 16. enum ConsoleColor - est ce type?
- 17. ENUM selon le type T
- 18. Conversion octet à une instance d'un ENUM en F #
- 19. Conversion de type Python
- 20. Conversion d'une requête Linq en cumstom Type
- 21. Type Conversion/Coulée Confusion en C++
- 22. conversion de type numpy arrays en C
- 23. Conversion d'une chaîne en un type simple
- 24. Java: conversion d'un objet en type générique
- 25. C# conversion de type
- 26. IQueryable, conversion du type anonyme en type fort
- 27. Conversion de type Groovy
- 28. Equivalent de ToString() sur un type enum en C++/CLI
- 29. Convertir CString en type Enum dans MFC (VC++)?
- 30. Type dépend de la valeur enum
N'est-il pas préférable d'utiliser: var liste = (IList) Enum.GetValues (typeof (FormWindowState)). Cast (); –
Lelis718