[.net] ¿Cómo puedo obtener una colección de todos los colores en System.Drawing.Color?


Answers

Prueba esto:

foreach (KnownColor knownColor in Enum.GetValues(typeof(KnownColor)))
{
   Trace.WriteLine(string.Format("{0}", knownColor));
}
Question

¿Cómo puedo extraer la lista de colores en System.Drawing.Color struct en una colección o matriz?

¿Hay una manera más eficiente de obtener una colección de colores que usar esta estructura como base?




Aquí hay una página en línea que muestra una muestra útil de cada color junto con su nombre.




La mayoría de las respuestas aquí resultan en una colección de nombres de colores (cadenas) en lugar de objetos System.Drawing.Color. Si necesita una colección de colores reales del sistema, use esto:

using System.Collections.Generic;
using System.Drawing;
using System.Linq;
...
static IEnumerable<Color> GetSystemColors() {
    Type type = typeof(Color);
    return type.GetProperties().Where(info => info.PropertyType == type).Select(info => (Color)info.GetValue(null, null));
}